MongoDB***实践中文手册

背景:查阅了一下MongoDB的相关文档,发现中文文档还是比较少的,工作中需要用到MongoDB,而这本《MongoDB***实践》是很好的选择,所以就把这本手册翻译了一下,其中生涩的专业用语是参考MongoDB中文官网进行翻译,校对的时间比较少,难免会有不合理的地方,恳请大家指正。

简介

MongoDB是一款为广泛的现代应用程序设计的高性能、可扩展、分布式数据库系统。MongoDB可用于不同规模大小的组织,为那些对系统低延迟、高吞吐量以及可持续性有很高要求的应用提供稳定关键的服务。

尽管MongoDB与传统的关系型数据库的有些特性不一样,但是对于之前部署和操作其他数据库系统的人员来说,MongoDB的很多概念,比如操作、策略、存储过程还是很相似的。公司的DBA和运营团队可以在保持现有系统的前提下,直接把MongoDB集成到生产环境中,并且不需要定制操作流程和工具

本文档为部署和管理MongoDB提供了***实践的指导。看本文档的前提需要你熟悉MongoDB的基本架构并理解企业软件部署的相关知识。

关于文档中的涉及到有些话题的更多详情,可以访问MongoDB的在线文档:mongodb.com。本文档也提供了相应的链接。

角色和职责

与其他数据库系统一样,部署在MongoDB的应用需要精心规划以及公司IT团队每个角色的协力合作才能保证稳定的部署。传统数据库中相关的角色以及角色的定位同样适用于MongoDB:数据库管理员、系统管理员、应用开发人员、网络管理员、需求分析人员以及数据架构师。

一般小公司中一个人员可能会担当多个角色,而大公司中,每个角色都是由一个人或者一个团队专门负责的。比如,在大的投资银行中,DBA的职责和系统管理员的职责差别就很大。

DBA

与其他数据库系统一样,设计一套能达到理想性能和可用性的MongoDB系统需要考虑很多因素。DBA应该在项目早期就参与进来,讨论数据类型、发布到系统中的查询类型、查询容量、可用性、恢复目标以及期望的性能表现。

Sysadmin

MongoDB中的系统管理员的职责与其他管理员的职责是类似的,包括:升级软硬件、管理系统存储、系统监控以及数据迁移。MongoDB用户反馈,MongoDB的系统管理员在学习部署、管理以及监控MongoDB中不会遇到任何困难,因为不需要特别的技能要求。

Application Developer

应用开发人员与项目团队的其他成员协作保证功能、部署、安全、可用性这些需求能完全理解透彻。应用本身是由Java、C#、PHP、Ruby编写的,数据在MongoDB中完成存储、升级以及查询,每种语言对应的驱动程序完成MongoDB与应用的信息交互。应用开发人员与数据库架构师一起定义数据模型以及优化的数据查询模型,并与DBA、系统管理员、网络管理员一起确认系统的部署以及可用性需求。

Network Administrator

一般MongoDB是部署在一个或者多个数据中心中的多个分布式服务器中的,因此网络资源是MongoDB系统的非常重要的考虑因素。尽管与其他数据库系统相比,MongoDB不需要很多自定义的配置,但是也应该咨询网络管理员以保证项目有合理的策略、存储过程、配置、容量以及安全设置。

Data Architect

MongoDB中设计数据模型与关系型数据库系统类似,数据模型一般都有多种选择,每种选择都需要在性能、资源利用、易用性以及其他因素做出权衡。数据架构师需要与开发团队一起精心权衡这些选择并针对模式设计做出明智的选择。一般情况下,数据架构师的职责更加主动,而系统上线后,DBA的职责就比较被动了。

Business Analyst

业务分析人员需要从MongoDB的数据中汲取简介以便驱动业务的发展。尤其是需要从多个角度审视数据,通常需要把多个集合或者多个数据库中的数据进行组合。业务分析师如果可以保证实时分析需求的索引合理,就可以获益良多。

MongoDB部署的准备工作 MongoDB可插拔存储引擎

MongoDB提供了一个存储引擎API,作为可插拔存储引擎的接口,使用可插拔存储引擎可以扩大MongoDB的性能,在有限的硬件架构的基础上达到***的使用效果。MongoDB提供了多种存储引擎。

l  默认的WiredTiger存储引擎。对于大多数应用来说,WiredTiger的颗粒度并发性以及本地压缩的功能可以提供完美的性能表现和高效的存储表现。

l  Encrypted存储引擎可以在脱离单独的文件加密系统的情况下为敏感数据提供加密服务。Enctypted引擎是基于WiredTiger引擎的,所以这篇文章中涉及到WiredTiger引擎的表述同样适用于Encrypetd引擎,此引擎是MongoDB Enterprise Advanced版本的一部分。

l  In-Memory存储引擎,可以为高要求的应用可预测的潜在因素以及实时性能分析,此引擎也是MongoDB Enterprise Advanced版本的一部分。

l  MMAPv1存储引擎,是MongoDB3.x以及以前版本中使用的存储引擎的升级版本,MMAPv1是MongoDB3.0及以前版本默认使用的存储引擎。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgddzf.html