AITC Wiki

非关系型数据库

NoSQL Database

非关系型数据库

English version: NoSQL Database

一种用于存储和检索半结构化与非结构化数据的非关系型数据库。

定义

  • NoSQL 数据库是非结构化数据。
  • 它的设计初衷是解决大数据的可扩展性与性能问题,而这些问题是传统数据库未能设计的。
  • 它专门用于组织需要访问、处理和分析大量非结构化数据的场景。

四大类型

类型说明示例
键值存储最简单的 NoSQL 模型;数据分为键和值Amazon DynamoDB、Riak、Redis、Berkeley DB、Memcached、Hamster DB
列式存储按列而非按行存储数据HBase、Cassandra
文档数据库以字段-值对形式存储灵活文档(JSON、XML)MongoDB、CouchDB、Microsoft DocumentDB
图数据库用节点、边和属性表示数据Neo4J、InfiniteGraph、HypherGraphDB、AllegroGraph、GraphBase、OrientDB

键值存储

  • 键值数据库是最简单的 NoSQL 数据库。
  • 数据通常分为两部分:键和值。
  • 键是字符串,值是实际数据;因此称为键-值对。

列式存储数据库

  • 列式数据库按列而非按行存储数据。
  • 其工作方式是将数据保存到列的集合中,而不是行的集合中。
  • 根据数据检索需求,数据可以按行式(OLTP)或列式(OLAP)存储。
  • 关键区别在于数据在磁盘上的物理存储方式:
    • 行式数据库尽可能将整行存储在同一个块中。
    • 列式数据库将各列存储在连续的块中。

文档数据库

  • 文档是文档数据库中的一条记录。
  • 文档数据库不使用固定的行和列,而是使用灵活的文档。
  • 文档以字段-值对的形式存储数据。
  • 值可以是多种类型和结构,包括字符串、数字、日期、数组或对象。
  • 文档可以以 JSON 或 XML 等格式存储。
  • 一组文档称为集合。
  • 集合通常存储内容相似的文档。

图数据库

  • 图是以节点和关系(由边表示)形式对数据的图形化表示。
  • 它有三个组成部分:节点、关系和属性。
  • 节点:表示对象或实例;相当于数据库中的一行;在图中充当顶点。
  • 关系:表示边;具有特定的方向、类型,并形成数据模式。
  • 属性:与节点相关联的信息。

相关概念

来源资料