开发/数据库

  |  手机版

收藏网站

投稿QQ:1745232315

IT专家网,汇聚专业声音 解析IT潮流 IT专家网,汇聚专业声音 解析IT潮流

网络

专家视点在现场环球瞭望
IT专家网 > 开发/数据库

12招教你把MongoDB投入生产环境

作者:IT专家网出处:IT专家网2014-09-15 13:27

  虽然NoSQL数据库的应用越来越广泛,但真正能够把它投入生产环境的企业只占少数。即使是其中商业化最成熟的MongoDB也不例外。那么,在将MongoDB投入生产环境之前,你应该做哪些准备?上线后又有哪些注意事项?在本文中,我们的专家提出了12个技巧,来帮助企业平稳地将MongoDB投入生产环境并顺利运行。

  开发阶段

  1、确保数据表结构的普适性

  你的表结构适合你的查询吗?从“关系数据库世界”转换到NoSQL的过程中,你是否熟悉文档结构的数据库呢?MongoDB的动态结构使我们可以更加轻松地根据需要修改结构,但前提是要让进行妥当的设置,这样可以做到事半功倍。

  2、优化索引

  MongoDB支持许多不同类型的二级索引。你的需求是什么?请确保针对最常用的查询进行数据库索引的优化。

  3、做好数据分片(Sharding)的准备

  上线MongoDB时不需要立即做数据分片,但你至少要有一个分片的计划,而且必须在超出容量之前完成分片。MongoDB支持多种分片策略来支持你的查询模式。你可以灵活地根据任何key进行分片,所以最好根据自己的实际情况提前把这部分工作考虑好。

  4、设置写保护

  MongoDB为用户提供了很大的灵活性来管理写保护。默认是Acknowledged模式,但是你可以设置为Unacknowledged模式获得最大速度,或者设置写到多个数据中心的所有副本中以获得最大的数据弹性。

  运维阶段

  5、选择合适的硬件

  你的工作负载是否适合使用RAM?选择SSD还是HDD?是否优先使用更快的CPU或者更多的内核?你的存储是本地的还是远程的?你的运行环境是虚拟化的还是物理机的?记住,合适的硬件可以优化性能,而不当的硬件可会带来严重的问题。

  6、启用高可用性和灾备

  MongoDB维护数据的多份副本,可以自修复复制数据集。你的企业可以承受的故障级别是什么?单服务器故障,还是整个机架的服务器故障?亦或是整个数据中心在不可控灾难(如台风、地震、洪水等)中断电的危害?这是你需要思考的问题。

  7、做好数据备份

  如果某个节点出现故障,复制功能可以解决问题。但是如果你的应用开始写数据了怎么办?如果有人输入失误删除了一个数据集怎么办?我们应该设置备份策略,做一致性备份,确保你可以从备份恢复数据。PS:MongoDB管理服务(MMS)可以提供自动备份能力,能在任何时间点进行数据恢复。

  8、对部署做好监控

  MMS还提供了监控MongoDB运行情况的服务。可以在出现严重问题之前发现潜在的问题,MMS使我们更轻松地检查性能统计,部署新的集群以及执行其他运行任务。

  9、保护你的数据安全

  你是否在处理一些敏感数据?比如需要分级的数据或者有个人身份信息的数据?你需要遵从一些法规或者内部安全策略吗?那么可以考虑MongoDB的企业版,它提供了高级的安全选项,包括访问控制、加密和审计等功能。

  10、调试性能

  许多因素都会影响MongoDB的性能,包括本文列举的所有方面。调整设置可以获得更好的性能。相反,设置不当很可能会形成性能瓶颈,后续再做性能诊断将非常困难。

  11、做好省级准备

  自动化是MMS即将发布的功能,它使得升级整个数据库部署变得更容易,只需要点击一下即可。升级不要求应用停机时间,无需花时间花精力手动来做。数据库运维讲求的是尽可能自动化一切,能够自动完成尽量不要手动进行。

  12、获得技术支持

  NoSQL的一个很大问题就在于缺少企业级支持,特别是开源版本。如果你的应用是关键业务应用,那肯定要依靠来自外部的技术支持(大部分企业自有团队很难搞定,至少很难快速搞定)。商业化版本能够确保专家工程师们可以快速响应你的问题,然后与你一起快速解决问题。MongoDB企业版就提供这样的支持,登录网站即可查看相关技术支持的信息。

  

相关文章

关键词:MongoDB ,生产环境, NoSQL,数据库,DB2

责任编辑:紫英

网警备案