MongoDB是什么,它是如何工作的?

MongoDB是一个开源的、现代的、通用的、基于文档的分布式数据库管理系统,由MongoDB公司开发、分布式、支持。它是一个强大灵活、敏捷的NoSQL(非关系型)文档数据库,它将数据存储在类似于JSON(JavaScript对象符号)对象的文档中。MongoDB可以运行在Linux、Windows和macOS操作系统上。
它配备了一套全面的工具,以方便数据管理,它是为现代应用开发和云计算而构建的,旨在供开发人员、数据分析师和数据科学家使用。
MongoDB有两个不同的版本。MongoDB社区服务器是MongoDB的源码版和免费版,MongoDB企业服务器是MongoDB企业高级订阅的一部分。
1、MongoDB是如何工作的?
MongoDB的结构是客户端-服务器模型,其中服务器守护进程接受来自客户端的连接,并处理来自客户端的数据库操作。客户端必须运行服务器,才能与数据库进行连接和交互。
MongoDB下的数据存储与传统数据库不同。MongoDB中的记录是一个文档(由字段和值对组成的数据结构,类似于JSON对象),文档存储在集合中(类似于RDBMS中的表)。
2、MongoDB的主要特点
以下是MongoDB的主要功能。
MongoDB支持只读视图和按需物化视图。它还支持数组和嵌套对象作为值,允许灵活和动态的模式。此外,它支持多种存储引擎,并提供了一个可插拔的存储引擎API,你可以用来开发你的存储引擎。
MongoDB是为高性能和数据持久性而设计的。它支持嵌入式数据模型,减轻了数据库系统的I/O活动。此外,它的索引允许更快的查询,重要的是,它们可以包括来自嵌入式文档和数组的键。
它带有丰富而强大的查询语言(支持读写操作),支持数据聚合,以及其他现代用例,如文本搜索、图形搜索和地理空间查询。
它通过支持完整的ACID事务、查询中的连接以及两种关系类型而不是一种关系:引用和嵌入,提供了关系型数据库的强大功能。
MongoDB还支持高可用性,使用称为复制集的复制设施(一组MongoDB服务器维护数据集,从而提供自动故障转移、数据冗余和可用性)。此外,还支持水平扩展性,其中sharding将数据分布在MongoDB服务器集群上。
为了保证数据库部署的安全,MongoDB提供了各种安全功能,如认证和授权、访问控制、TLS/SSL加密、审计等。
同时,它还提供了一个安全检查表,这是一个推荐的安全措施列表,你需要实施这些措施来保护MongoDB部署。同时,确保你在网络层和服务器层进行了安全加固。
3、MongoDB客户端和工具
此外,MongoDB还自带了一些有用的数据库命令和工具来监控其性能,如mongostat、mongotop等,这些命令和工具可以帮助你查看本地host上运行的MongoDB实例状态的实时统计数据。
要将你的应用程序或外部系统与MongoDB数据库集成,你可以使用众多官方连接器和库中的一个。还有一些社区支持的库,比如C语言的libmongo-client,Django的Djongo,Go的mgo,Perl的Mango,以及Python的MongoEngine、MongoKit等。A5互联https://www.a5idc.net/

原文地址:https://www.cnblogs.com/a5idc/p/13889115.html