数据库按类型可分为关系型,键-值型,多列型,面向文档型和图型。
关系数据库管理系统(RDBMS)是以集合理论为基础的系统,实现为具和列的二维表。与它打交道使用结构化查询语言(SQL)。数据值具有类型,可以是数字、字符串、日期、未解释的二进制大对象,或其它类型。这种表结构可以联接并转化为新的、更复杂的表,因为它们的数学基础士关系(集合)理论。常用的开源数据库有MySQL,PostgreSQL,H2,HSQLDB,SQLite等。
键-值(Key-Value,KV)数据库是最简单的模型。KV数据库将键与值配对,类似于编程语言里的映射(或哈希表)。某些KV实现允许复杂的值类型,如哈希或者列表。。一些 KV 实现提供了一种迭代遍历键的方式,但这也是额外的好处。如果你将文件的路径视为键而将文件内容作为值,文件系统也可以看成是键-值存储库。KV存储库对资源的要求就非常少,有时候有极高的性能,但是当涉及到复杂的查询和聚合需求时,一般不会有帮助。常用的数据库有memcached(及相关的memcachedb和membase),Voldemort,Redis和Riak。