NoSQL是一个广泛的类别,包括所有不使用 SQL 作为主要数据访问语言的数据库。这些类型的数据库有时也称为非关系数据库。与关系数据库不同,NoSQL 数据库中的数据不必符合预定义的模式。NoSQL 数据库遵循基本一致性模型。
以下是不同类型的 NoSQL 数据库:
文档
文档数据库(也称为面向文档的数据库或文档存储)是在文档中存储信息的数据库。它们是多用途的数据库,为事务和分析应用程序提供各种使用场景。
优点
- 直观灵活
- 易于水平扩展
- 无模式(schemaless)
缺点
- 无模式(schemaless)
- 非关系的
例子
键-值
作为最简单的 NoSQL 数据库类型之一,键值数据库将数据保存为一组键值对,每个键值对由两个数据项组成。因此也被称为键值存储。
优点
- 简单高效
- 对于大流量高度可扩展
- 会话管理
- 最优的查找
缺点
- 基础的CRUD
- 无法过滤值
- 缺乏索引和扫描功能
- 未针对复杂查询进行优化
例子
图
图数据库使用图结构进行语义查询,并使用节点、边和属性而不是表或文档来表示和存储数据。
图将存储中的数据项与节点和边的集合相关联,边表示节点之间的关系。这些关系允许存储中的数据直接链接在一起,在许多情况下,可以通过一个操作来检索。
优点
- 查询速度
- 敏捷且灵活
- 清晰的数据表示
缺点
- 复杂
- 没有标准化的查询语言
使用场景
- 欺诈检测
- 推荐引擎
- 社交网络
- 网络映射
例子
时间序列
时间序列数据库是针对时间戳或时间序列数据进行优化的数据库。
优点
- 快速插入和检索
- 高效数据存储
使用场景
- 物联网数据
- 度量分析
- 应用程序监控
- 了解金融走势
例子
宽列
宽列数据库,也称为宽列存储,是模式无关的。数据存储在列族中,而不是行和列中。
优点
- 高度可扩展,可处理PB级数据
- 实时大数据应用的理想选择
缺点
- 昂贵的
- 增加写入时间
使用场景
- 业务分析
- 基于属性的数据存储
例子
多模
多模数据库将不同的数据库模型(即关系、图、键值、文档等)组合到一个单一的集成后端中。这意味着它们可以容纳各种数据类型、索引、查询,并将数据存储在多个模型中。
优点
- 灵活性
- 适用于复杂项目
- 数据一致
缺点
- 复杂
- 不够成熟