250_Mongodb概述_文档类型
1 Nosql vs RDBMS
功能/特点 |
Nosql |
关系型数据库 |
强一致性和弱一致性 |
CAP定理 最终一致性, 非ACID |
严格一致性 ACID |
二位/多维表 |
键-值对存储, 列存储,文档存储,图形数据库 |
二维表, 数据和关系都存储在单独表中 |
结构化和非结构化 |
非结构化,半结构化,没有声明性查询语言 |
结构化查询语言 |
强一致性和弱一致性 |
弱事物 |
强事物 |
Join强/弱 |
弱 没有预定义模式 |
强,数据操作语言, 数据定义语言 |
成本代价 |
低 |
高 |
扩展性 |
强,高性能,高可用性和可伸缩性 |
弱 |
2 Mongo 应用场景
MongoDB 的应用已经渗透到各个领域,比如游戏、物流、电商、内容管理、社交、物联网、视频直播等, 以下是几个实际的应用案例:
游戏场景,使用 MongoDB 存储游戏用户信息,用户的装备、积分等直接以内嵌文档的形式存储, 方便查询、更新
物流场景,使用 MongoDB 存储订单信息,订单状态在运送过程中会不断更新,以MongoDB 内嵌 数组的形式来存储,一次查询就能将订单所有的变更读取出来。
社交场景,使用 MongoDB 存储存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引 实现附近的人、地点等功能
物联网场景,使用 MongoDB 存储所有接入的智能设备信息,以及设备汇报的日志信息,并对这 些信息进行多维度的分析
视频直播,使用 MongoDB 存储用户信息、礼物信息等
不适合使用MongoDB
1. 高度事务性系统:例如银行、财务等系统。MongoDB对事物的支持较弱;
2. 传统的商业智能应用:特定问题的数据分析,多数据实体关联,涉及到复杂的、 高度优化的查询方式;
3. 使用sql方便的时候;数据结构相对固定,使用sql进行查询统计更加便利的时候;
3 MongoDB概念
概念 |
MySQL |
MongoDB |
数据库 |
database |
database |
表 |
table |
Collection |
数据行 |
row |
document |
字段 |
Column |
Field |
索引 |
Index |
Index |
表关联 |
Join |
Embedding & linkeding |
分片/分区 |
Partition |
Shard |
分区键 |
partition key |
sharding Key |
4 MongoDB文档
MongoDB文档类似于JSON对象,称为BSON。字段的值可以包括其他文档,数组和文档数组
5 MongoDB中的Bson数据类型
Bson是JSON文档的二进制表示形式,它包含比JSON更多的数据类型
Type |
Number |
Alias |
Notes |
Double |
1 |
双精度浮点值。用于存储浮点值 |
|
String |
2 |
字符串。存储数据常用的数据类型。在 MongoDB 中,UTF-8 编码的字符串才是合 法的 |
|
Object |
3 |
用于内嵌文档 |
|
Array |
4 |
用于将数组或列表或多个值存储为一个键 |
|
Binary data |
5 |
二进制数据。用于存储二进制数据 |
|
Undefined |
6 |
“undefined” |
Deprecated |
ObjectId |
7 |
ObjectId |
|
Boolean |
8 |
“bool” |
|
Date |
9 |
日期时间。用 UNIX 时间格式来存储当前日期或时间。可以指定自己的日期时间: 创建 Date 对象,传入年月日信息 |
|
Null |
10 |
用于创建空值 |
|
Regular Expression |
11 |
正则表达式类型。用于存储正则表达式 |
|
DBPointer |
12 |
“dbPointer” |
Deprecated |
JavaScript |
13 |
“javascript” |
|
Symbol |
14 |
“symbol” |
Deprecated |
JavaScript (with scope) |
15 |
JavaScript (with scope) |
|
32-bit integer |
16 |
“int” |
|
Timestamp |
17 |
MongoDB复制和Sharing使用的特殊内部类型。前4个字节是增量,第二4字节是时 间戳。 |
|
64-bit integer |
18 |
64-bit integer |
|
Decimal128 |
19 |
“decimal” |
|
Min key |
-1 |
比所有其他可能的BSON元素值都低的特殊类型 |
|
Max key |
127 |
比所有其他可能的BSON元件值更高的特殊类型 |
|
- 点赞
- 收藏
- 关注作者
评论(0)