24. SQL 与 NoSQL

在数据库领域,有两种主要类型的解决方案:SQL 和NoSQL(或关系数据库和非关系数据库)。在构建方式、存储的信息类型以及使用的存储方法方面,它们存在很大差异。

关系数据库是结构化的,并具有预定义的模式,如存储电话号码和地址的电话本。 非关系型数据库是非结构化、分布式、并具有动态结构,如文件夹保存的是从一个人的地址和电话号码到他们的所有信息,这些信息包括但不限于Facebook“likes”和在线购物偏好。

1. SQL

关系数据库将数据存储在行和列中。 每行包含所有关于一个实体的信息,每一列包含所有单独的数据点。 一些最流行的关系数据库是 MySQL、Oracle、MS SQL Server、SQLite、Postgres 和 MariaDB。

2. NoSQL

以下是最常见的 NoSQL 类型:

键值存储

数据存储在键值对数组中。 “key”是一个链接到“value”的属性名称。著名的键值存储包括 Redis、Voldemort 和 Dynamo。

文档数据库

在这些数据库中,数据存储在文档中(而不是表格中的行和列)并且这些文档被分组。每个文档可以有完全不同的结构体。文档数据库包括 CouchDB 和 MongoDB。

宽列数据库

区别于“表”,在列式数据库中,列族它们是行的容器。与关系数据库不同,不需要预先知道所有的列,也不需要每一行具有相同的列数。列式数据库最适合分析大型数据集,知名的产品包括 Cassandra 和 HBase。

图形数据库

这些数据库用于存储其关系的数据适合用图表表示的。数据保存在带有节点的图形结构中(实体)、属性(有关实体的信息)和线(连接实体之间)。图数据库的例子包括 Neo4J 和InfiniteGraph。

Last updated