NoSQL数据库:架构、特性与应用实践
1. NoSQL数据库概述
传统关系型数据模型为了提升查询性能和应用可扩展性,常常会进行去规范化处理。这一理念推动了NoSQL数据库采用更简单的数据模型。
2. NoSQL数据模型
NoSQL主要有四种数据模型,相较于关系模型更为简单,各模型之间虽有细微重叠,但主要分为以下四类:
| 数据模型 | 特点 | 示例 |
| ---- | ---- | ---- |
| 键值(Key - value) | 类似哈希映射,每个对象有唯一键用于检索关联数据,数据对数据库引擎通常是不透明的 | Redis、Oracle NoSQL |
| 文档(Document) | 基于键值模型,键关联的值通常以JSON编码,可对文档字段建立索引,文档按逻辑集合组织,但不要求格式统一 | MongoDB、Couchbase |
| 宽列(Wide column) | 扩展键值模型,将键关联的数据组织在命名列中,是二维哈希映射,每行列可不同 | Apache Cassandra、Google Bigtable |
| 图(Graph) | 适合存储和查询高度关联的数据,将数据库对象间的关系作为一等公民,便于实现图算法 | Neo4j、Amazon Neptune |
NoSQL数据库通常被称为无模式数据库,写入对象格式无需预先定义,可灵活演变。但应用需负责发现读取数据的结构,由此产生了写时模式(定义好的模式)和读时模式(无模式)两种方式。
3. 查询语言
NoSQL数据库查询语言多为特定数据库专有,涵盖基于API的显式功能和类SQL的声明式
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



