从亚马逊的网站,地址如下,看到关于 关系数据库
和 NoSQL数据库
的性能比较,不是很明白 NoSQL数据库
的性能因素:
网络延迟
调用应用程序
这个两个因素具体是什么意思? 网络延迟
对于 关系数据库
来说就不重要吗?调用应用程序
又是什么意思?它们是怎么影响NoSQL数据库
的性能的?
从亚马逊的网站,地址如下,看到关于 关系数据库
和 NoSQL数据库
的性能比较,不是很明白 NoSQL数据库
的性能因素:
网络延迟
调用应用程序
这个两个因素具体是什么意思? 网络延迟
对于 关系数据库
来说就不重要吗?调用应用程序
又是什么意思?它们是怎么影响NoSQL数据库
的性能的?
7 回答5.4k 阅读
4 回答4.1k 阅读
2 回答5.9k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
你这个问题太大了,硬件方面,我就不多说了,比如memcache及redis等NOSQL数据库,对内存要求都比较高,redis如果使用ssd的硬盘肯定比sas盘好多了。关于你说的网络延迟和抵用应用程序:我这里拿redis举例了:
当用户连接到Redis通过TCP/IP连接或Unix域连接,千兆网络的典型延迟可能达到200us,而Unix域socket可能低到30us,当然这个跟你的硬件网卡有关系的,而且redis的属于典型的C/S架构,调用Redis时,通常是以发送-应答-再发送-再应答的模式进行的,而每一次发送与应答,都需要数据从客户端到服务端飞一次,当需要使用Redis处理多个命令时,这样时间都消耗到网络延迟上可能就不划算了,当然也可以对redis进行优化缓解网络延迟问题,所有的不管是关系型数据库还是nosql数据库肯定都与调用该数据库的程序有关系,比如大批量的查,大批量的写等这些操作都会对数据库带来压力。毕竟数据库是这个服务的瓶颈,这个目前好的办法是在数据库前加缓存,对数据库实现读写分离,同时拆库优化。这里我只描述redis,其他的nosql数据库不太了解,不敢乱说。