关系型数据库是目前应用最广泛的数据库类型。它诞生于1969年,并采用由行和列组成的二维表来管理数据,这种结构与Excel工作表相似,因此易于理解和使用。关系型数据库主要使用SQL(结构化查询语言)来进行数据操作。传统的关系型数据库以表格形式存储数据,使得读取和查询变得非常方便。代表性的关系型数据库包括Oracle、SQL Server、DB2、PostgreSQL和MySQL。
图形数据库是一种允许数据以图的方式存储的数据库。在这种数据库中,实体会被视为顶点,而实体之间的关系则被视为边。这种灵活的图模型使得图数据库能够轻松地扩展到多个服务器上。图数据库在推荐系统、社交网络、欺诈检测等方面有着广泛的应用。在这些应用中,开发人员经常需要创建数据之间的关系并快速查询这些关系。相较于关系型数据库,图数据库能更高效地处理这些需求,特别是在数据量增长的情况下。
面向文档数据库是一种以文档形式存储数据的数据库,灵感来源于Lotus Notes办公软件。与键值数据库相比,文档型数据库允许嵌套键值,具有更高的查询效率。每个文档都是一系列数据项的集合,数据项包括名称和对应的值,这些值可以是简单的数据类型如字符串、数字和日期,也可以是复杂的类型如有序列表和关联对象。数据存储的最小单位是文档,可以使用XML、JSON或JSONB等多种形式存储。代表性的面向文档数据库有MongoDB和CouchDB。
键值存储数据库是一种专门用于保存主键和值的组合的数据库。这种数据库结构可以类比为编程中的关联数组或散列。近年来,随着其在Google等大型Web服务中的应用,这种数据库得到了广泛的关注。其中,Redis、Memcached和MemcachedDB是具有代表性的键值存储数据库。
列存储数据库是一种将数据存储在列族中的数据库,每个列族用于存储经常一起查询的相关数据。例如,在Person类中,我们经常一起查询姓名和年龄,而不是薪资。因此,姓名和年龄会被放入一个列族中,而薪资会被放入另一个列族中。这种数据库设计是为了应对分布式存储的海量数据。代表性的列存储数据库有Cassandra和HBase。