千家信息网

MongoDB基础知识

发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,NoSQL是什么?非关系型数据库,有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称NoSQL的优势1、高扩展性2、高并发性,大数据下读写能力较强3、分布式计
千家信息网最后更新 2024年11月24日MongoDB基础知识

NoSQL是什么?

非关系型数据库,有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称


NoSQL的优势

1、高扩展性

2、高并发性,大数据下读写能力较强

3、分布式计算

4、处理海量数据

5、没有复杂的关系


NoSQL数据库四大家族

列存储:Hbase

键值(Key-Value)存储:Redis

图像存储:Neo4J

文档存储 :MongoDB

MongoDB 将数据存储为一个文档,数据结构由键值(name=>value)对组成。MongoDB 文档类似于JSON对象。字段值可以包含其他文档,数组及文档数组。


MongoDB和JSON、BSON

JSON:是存储和交换文本信息的语法。类似 XML。JSON数据库语句可以容易被解析。

BSON:二进制的JSON,JSON文档的二进制编码存储格式。BSON有JSON没有的数据类型:Date和BinData。MongoDB中document以BSON形式存放。


MongoDB文档支持不同的数据类型


{  name:"Jone Doe",  title:"software developer", #字符串  address:{           street:"123 45th street"   state:"new York"   zipcode:10036            },             #嵌套文档   expertise:["MongoDB","Python","Javascript"], #数组   employee_number:320,       #×××   location:[53.34,-6326]  #Geo-spatial}}


MongoDB的关键特性:

1、高性能

2、丰富的查询语言

3、高可用性

副本集,自动故障转移,数据冗余



4、水平可扩展性

5、支持多种存储引擎

MMAPv1存储引擎:<3.2 默认存储引擎是MMAPv1

WirdeTiger存储引擎:>=3.2 默认存储引擎是WiredTiger

In-Memory存储引擎:Changed in version 3.2.6

存储引擎的比较


MongoDB的GridFS


GridFS



MongoDB与RDBMS数据结构逻辑对比


MongoDB实际应用场景举例

游戏场景

使用MongoDB存储游戏用户信息,用户的装备、积分等直接以内嵌文档的形式存储,方便查询、更新。

物流场景

使用MongoDB存储订单信息,订单状态在运送过程中会不断更新,以MongoDB内嵌数组的形式来存储,一次查询就能将订单所有的变更读取出来。

社交场景

使用MongoDB存储存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现附近的人、地点等功能


物联网场景

使使用MongoDB存储所有接入的智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度的分析。

视频直播

使用MongoDB存储用户信息、礼物信息等


MongoDB版本的选择,现在建议用3.4的版本

MongoDB分企业版和社区版,社区版支持使用MongoDB ops manager



是否使用MongoDB


如果上述有1个 Yes,可以考虑 MongoDB,2个及以上的 Yes,选择 MongoDB 绝不会后悔!!!


0