📜  NoSQL 数据架构模式

📅  最后修改于: 2021-09-09 11:18:29             🧑  作者: Mango

架构模式是对将存储在数据库中的数据进行分类的一种逻辑方式。 NoSQL 是一种有助于对大数据执行操作并将其存储为有效格式的数据库。它因其灵活性和广泛的服务而被广泛使用。

NoSQL 的架构模式:
数据以以下四种数据架构模式中的任何一种存储在 NoSQL 中。

1. Key-Value Store Database
2. Column Store Database
3. Document Database
4. Graph Database 

这些解释如下。

1. 键值存储数据库:
该模型是 NoSQL 数据库最基本的模型之一。顾名思义,数据以键值对的形式存储。键通常是字符串、整数或字符的序列,但也可以是更高级的数据类型。该值通常与键相关联或共同相关。键值对存储数据库通常将数据存储为哈希表,其中每个键都是唯一的。该值可以是任何类型(JSON、BLOB(二进制大对象)、字符串等)。这种类型的模式通常用于购物网站或电子商务应用程序。

好处:

  • 可以处理大量数据和重负载,
  • 通过键轻松检索数据。

限制:

  • 复杂查询可能会尝试涉及多个键值对,这可能会延迟性能。
  • 数据可能涉及可能发生冲突的多对多关系。

例子:

  • 动态数据库
  • 伯克利数据库

2.列存储数据库:
数据不是存储在关系元组中,而是存储在单独的单元格中,这些单元格进一步分组为列。面向列的数据库仅适用于列。它们将大量数据一起存储到列中。列的格式和标题可以从一行到另一行不同。每个列都被单独处理。但是,每个单独的列仍然可以像传统数据库一样包含多个其他列。
基本上,列是这种类型的存储模式。

好处:

  • 数据随时可用
  • 可以轻松地对列执行 SUM、AVERAGE、COUNT 等查询。

例子:

  • HBase
  • 谷歌的 Bigtable
  • 卡桑德拉

3. 文档数据库:
文档数据库以键值对的形式获取和累积数据,但在这里,这些值称为文档。文档可以表述为一个复杂的数据结构。此处的文档可以是文本、数组、字符串、JSON、XML 或任何此类格式的形式。嵌套文档的使用也很常见。它非常有效,因为创建的大多数数据通常是 JSON 形式并且是非结构化的。

好处:

  • 这种类型的格式非常有用,适用于半结构化数据。
  • 文件的存储检索和管理很容易。

限制:

  • 处理多个文件具有挑战性
  • 聚合操作可能无法准确工作。

例子:

  • MongoDB
  • 沙发数据库

图 – JSON 文档形式的文档存储模型

4. 图数据库:
显然,这种架构模式处理图形中数据的存储和管理。图基本上是描述某些数据中两个或多个对象之间连接的结构。对象或实体称为节点,并通过称为边的关系连接在一起。每条边都有一个唯一的标识符。每个节点都作为图的一个联系点。这种模式在有大量实体的社交网络中非常常用,每个实体都有一个或多个通过边连接的特征。关系数据库模式具有松散连接的表,而图形通常在本质上非常强大和僵化。

好处:

  • 由于连接,最快的遍历。
  • 可以轻松处理空间数据。

限制:
错误的连接可能会导致无限循环。

例子:

  • 新4J
  • FlockDB(推特使用)

图 – NoSQL 数据库的图形模型格式