|
2019-05-17
关系型数据库 |
NoSQL数据库 |
---|---|
高度组织化结构化数据 |
代表着不仅仅是SQL |
结构化查询语言(SQL) |
没有声明性查询语言 |
数据和关系都存储在单独的表中 |
没有预定义的模式 |
数据操作语言,数据定义语言 |
键-值对存储,列存储,文档存储,图形数据库 |
严格的一致性 |
最终一致性,而非ACID属性 |
基础事务 |
非结构化和不可预知的数据 |
|
CAP定理 |
|
高性能,高可用性和可伸缩性 |
类型 |
典型代表 |
特点 |
---|---|---|
列存储 |
Hbase Cassandra Hypertable |
顾名思义,是按照列存储数据的。最大的特点是方便存储结构化和半结构化的数据,方便做数据压缩,对针对某一列或者某几列的查询有非常大的IO优势 |
文档存储 |
MongoDB CounchDB |
文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有机会对某些字段建立索引,实现关系数据库的某些功能。 |
Key-value存储 |
Tokyo Cabinet/Tyrant Berkelery DB Memcache Redis |
可以通过key快速查询到其value。一般来说,存储不管value的格式,照单全收。(Redis包含了其他功能) |
图存储 |
Neo4J FlockDB |
图形关系的最佳存储。使用传统关系数据库来解决的话性能低下,而且设计使用不方便。 |
对象存储 |
Db4o Versant |
通过类似面向对象语言的语法操作数据库,通过对象的方式存储数据。 |
XML数据库 |
Berkeley DB XML BaseX |
高效的存储XML数据,并存储XML的内部查询语法,比如XQuery,Xpath。 |
关系型数据库术语/概念 |
MongoDB术语/概念 |
解释/说明 |
---|---|---|
Database |
Database |
数据库 |
Table |
Collection |
数据库表/集合 |
Row |
Document |
数据记录行/文档 |
Column |
Field |
数据列/数据字段 |
Index |
Index |
索引 |
Table joins |
|
表关联/MongoDB不支持 |
Primary Key |
Object ID |
主键 / MongoDB自动将 _ id 设置为主键 |
数据类型 |
说明 |
解释 |
举例 |
|
---|---|---|---|---|
Null |
空值 |
表示空值或者未定义的对象 |
{“x”:null} |
|
Boolean |
布尔值 |
真或者假:true或者false |
{“x”:true} |
|
Integer |
整数 |
整型数值。用于存储数值。根据你所采用的服务器,可分为 32 位或 64 位。 |
|
|
Double |
浮点数 |
双精度浮点值。 |
{“x”:3.14,”y”:3} |
|
String |
字符串 |
UTF-8字符串 |
|
|
Symbol |
符号 |
符号。该数据类型基本上等同于字符串类型,但不同的是,它一般用于采用特殊符号类型的语言。 |
|
|
ObjectID |
对象ID |
对象 ID。用于创建文档的 ID。 |
{“id”: ObjectId()} |
|
Date |
日期 |
日期时间。用 UNIX 时间格式来存储当前日期或时间。 |
{“date”:new Date()} |
|
Timestamp |
时间戳 从标准纪元开始的毫秒数 |
|
||
Regular |
正则表达式 |
文档中可以包含正则表达式,遵循JavaScript的语法 |
{“foo”:/testdb/i} |
|
Code |
代码 |
可以包含JavaScript代码 |
{“x”:function() {}} |
|
Undefined |
未定义 |
已废弃 |
|
|
Array |
数组 |
值的集合或者列表 |
{“arr”: “a”,”b”} |
|
Binary |
Data |
二进制 |
用于存储二进制数据。 |
|
Object |
内嵌文档 |
文档可以作为文档中某个key的value |
{“x”:{“foo”:”bar”}} |
|
Min/Max keys |
最小/大值 |
将一个值与 BSON(二进制的 JSON)元素的最低值和最高值相对比。 |
|
|
编辑:航网科技 来源:腾讯云 本文版权归原作者所有 转载请注明出处
微信扫一扫咨询客服
全国免费服务热线
0755-36300002