可伸缩NoSQL数据库的五条建议
-
永远不要假设规模是线性增长的。虽然硬件是可伸缩的,但软件并不能百分百地能利用硬件资源,却需要为这些用不到的硬件资源买单。因而,Alex建议要寻找到硬件成本与硬件能力的切合点。下图展示了水平伸缩与垂直伸缩方面的性价比趋势:
相信测试而非文档。Alex告诫说,不要信任供应商的文档,虽然研读这些文档非常有用,但最好还是基于自己系统的情况对NoSQL进行测试。由于虚拟化和云技术使得搭建平台变得非常容易,因此不要找借口说没条件进行测试。
体察细节:内存与CPU的度量数据。尤其对于内存数据库而言,内存的性能直接影响着数据库的性能。CPU的指标同样需要引起重视。只有准确地获得这些硬件资源的使用效率,才能将钱花在刀刃上。
不要忽略网络延迟。只要数据库是分布式的,必然需要占据网络带宽。无论是节点之间的通信,还是对数据建立副本,网络延迟以及吞吐量都直接制约着整个系统的性能。如果网速太慢,即使内存与CPU再好,对系统性能的改善也是杯水车薪。
不要对NoSQL数据库做虚拟化。虚拟化是个好东西,但也得量力而为。由于它会影响到内存访问速度,而这一点对于NoSQL数据库而言却又至为关键。根据Alex的观察,对比虚拟环境,运行在纯硬件环境上的管理程序性能要提示400%左右。
原文链接:http://www.infoq.com/cn/news/2014/09/nosql-advise
转载于:https://blog.51cto.com/dreameng/1558909