NoSql类型
有四种常见的 NoSQL 数据库类型:列式、文档、图形和内存键值。通常,这些数据库在存储、访问和结构化数据的方式上有所差异,但都针对不同的使用案例和应用程序进行了优化。
- 列式数据库针对读取和写入数据列(而不是数据行)进行了优化。适用于数据库表的列式存储是分析查询性能的一大要素,因为它极大地降低了整体磁盘 I/O 要求,并减少了您需要从磁盘加载的数据量。
- 文档数据库旨在将半结构化数据存储为文档,通常采用 JSON 或 XML 格式。与传统关系数据库不同的是,每个 NoSQL 文档的架构是不同的,可让您更加灵活地整理和存储应用程序数据并减少可选值所需的存储。
- 图形数据库可存储顶点以及称为边缘的直接链路。图形数据库可以在 SQL 和 NoSQL 数据库上构建。顶点和边缘可以拥有各自的相关属性。
- 内存键值存储是针对读取密集型应用程序工作负载(例如社交网络、游戏、媒体共享和 Q&A 门户)或计算密集型工作负载(例如推荐引擎)进行了优化的 NoSQL 数据库。内存缓存可将重要数据存储在内存中以实现低延迟访问,从而提高应用程序性能
SQL 与 NoSQL 术语比较
SQL
|
MongoDB (NoSQL)
|
DynamoDB (NoSQL)
|
Cassandra (NoSQL)
|
Couchbase (NoSQL)
|
表
|
集合
|
表
|
表
|
数据存储桶
|
行
|
文档
|
项目
|
行
|
文档
|
列
|
字段
|
属性
|
列
|
字段
|
主键
|
对象 ID
|
主键
|
主键
|
文档 ID
|
索引
|
索引
|
二级索引
|
索引
|
索引
|
视图
|
视图
|
全局二级索引
|
具体化视图
|
视图
|
嵌套表或对象
|
嵌入文档
|
映射
|
映射
|
映射
|
数组
|
数组
|
列表
|
列表
|
列表
|