可伸缩NoSQL数据库的五条建议

Bigstep’s Full Metal Cloud公司的产品经理Alex Bordei分享了他们在NoSQL使用上关于可伸缩性的经验。Alex给出了如下五条建议:

  1. 永远不要假设规模是线性增长的。虽然硬件是可伸缩的,但软件并不能百分百地能利用硬件资源,却需要为这些用不到的硬件资源买单。因而,Alex建议要寻找到硬件成本与硬件能力的切合点。下图展示了水平伸缩与垂直伸缩方面的性价比趋势:

    可伸缩NoSQL数据库的五条建议_第1张图片

  2. 相信测试而非文档。Alex告诫说,不要信任供应商的文档,虽然研读这些文档非常有用,但最好还是基于自己系统的情况对NoSQL进行测试。由于虚拟化和云技术使得搭建平台变得非常容易,因此不要找借口说没条件进行测试。
  3. 体察细节:内存与CPU的度量数据。尤其对于内存数据库而言,内存的性能直接影响着数据库的性能。CPU的指标同样需要引起重视。只有准确地获得这些硬件资源的使用效率,才能将钱花在刀刃上。
  4. 不要忽略网络延迟。只要数据库是分布式的,必然需要占据网络带宽。无论是节点之间的通信,还是对数据建立副本,网络延迟以及吞吐量都直接制约着整个系统的性能。如果网速太慢,即使内存与CPU再好,对系统性能的改善也是杯水车薪。
  5. 不要对NoSQL数据库做虚拟化。虚拟化是个好东西,但也得量力而为。由于它会影响到内存访问速度,而这一点对于NoSQL数据库而言却又至为关键。根据Alex的观察,对比虚拟环境,运行在纯硬件环境上的管理程序性能要提示400%左右。

感谢郭蕾对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至[email protected]。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

你可能感兴趣的:(可伸缩NoSQL数据库的五条建议)