您的位置 首页 java

系统学习MongoDB (一)初识mongo

MongoDB 作为一款在业内被广泛应用的优秀 Nosql 数据库,但是关于Mongo的分享却少的可怜。恰逢最近公司项目重构使用了MongoDB,正好借此机会好好整理一套MongoDB知识分享。

一、MongoDB介绍

MongoDB是一个开源、高性能、无模式的文档型数据库,由C++语言编写,是NoSQL数据库产品中最像关系型数据库( mysql )的 非关系型数据库 。 MongoDB采用了结构松散的数据结构BSON进行存储,BSON是一种高效的二进制格式,全称Binary JSON,可以简单理解为 JSON

二、核心概念

  • Database :数据库 同mysql。
  • collection :文档集合,同mysql中的表,但collection不需要明确定义字段。
  • Document :文档,同MySQL中的记录行。
  • field :可以理解为 Map 中的key,也可以理解为MySQL中的 column。
  • index :索引,mongo支持索引,采用 B-Tree 结构实现。
  • primary key :主键。一般建议采用mongo自带的objectId。

三、Mongo集群部署架构

Mongo支持两种集群架构-副本集、分片集群。

副本集:至少两个节点,一个主节点,负责处理客户端请求,其余为从节点,复制主节点上的数据。

系统学习MongoDB (一)初识mongo

副本集架构图

分片集群:满足海量数据的存储,提高吞吐量。

分片架构

四、Mongo适用的场景

社区场景:社区论坛类项目,存储评论,点赞等信息。 我司采用

物联网场景:物联网频繁的数据交互,海量的数据,mongo完美适用,松散的数据结构可以有效压缩冗余空间。

上面两个场景均为我司实际使用。

不适用场景: 高事务性的场景,银行、支付类。

五、总结:本章对mongo做一个简单的介绍和概览,详细内容在后续章节阐述。

文章来源:智云一二三科技

文章标题:系统学习MongoDB (一)初识mongo

文章地址:https://www.zhihuclub.com/197488.shtml

关于作者: 智云科技

热门文章

网站地图