MongoDB特点及连接池

时间:2024-04-14 08:03:30

CAP原则
C一致性、A可用性、P分区容错性
一般P必须,在AC中选择
MongoDB默认是CP,可切换为AP

MongoDB是高性能,开源,无模式的文档型数据库
数据格式是bson

MongoDB 目前支持的存储引擎为内存映射引擎。当 MongoDB 启动的时候,会将所有的数据文件映射到内存中,然后操作系统会托管所有的磁盘操作。
这种存储引擎有以下几种特点:
①内存管理代码简单,相关工作操作系统托管
②服务器使用的虚拟内存巨大,超过数据本身大小,这个问题甩给操作系统解决

MongoDB大数据处理性能优异,比Redis都厉害
提供全索引支持,包括文档内的对象,查询优化器会分析表达式,极大提高查询效率。

持久化
通常,系统启动,会将数据映射到一块内存shard view,数据直接写入这里就返回,系统每60s访问这块内存,如果系统凉了,这60s数据都凉了。
如果开启journal功能,系统会再开一块内存private view给journal使用,系统每100ms刷新private view数据到journal,系统凉了,只凉着100ms的数据。但是需要的内存是不开的两倍。

优点:
①全索引支持,查询高效
②面向文档存储,数据模式简单强大
③支持动态查询,可查询内嵌对象
④支持js查询
总之查询高效,模式简单强大
缺点:
①非事务机制,无法原子操作
②需要的内存大
③文档大小有限制

适用场景
①适用于实时的插入、更新与查询的需求,并具备应用程序实时数据存储所需的复制及高度伸缩性;
②非常适合文档化格式的存储及查询;
③高伸缩性的场景:MongoDB 非常适合由数十或者数百台服务器组成的数据库。
④对性能的关注超过对功能的要求。

MongoDB特点及连接池

HBase、Redis、MongoDB、Couchbase、LevelDB主流 NoSQL 数据库的对比

mongo实例其实已经是一个现成的连接池了,而且线程安全。这个内置的连接池默认初始了10个连接,每一个操作(增删改查等)都会获取一个连接,执行操作后释放连接。
MongoDB 连接池