图型数据库
图型数据库指的是使用图结构的数据库,通过结点、边与属性来表示和存储数据。根据定义,图型数据库是一种提供了无需索引而彼此邻接的存储系统。这意味着每个元素都包含了直接指向邻接元素的指针,因此没必要再通过索引进行查找了。
优点:
对于关联数据集的查找速度更快。
可以很自然地扩展为更大的数据集,因为他们无需使用代价高昂的连接运算符。
缺点:
RDBMS可以用在更为通用的场景下,图型数据库只适合类似于图的数据。
典型代表:
Neo4j
FlockDB
InfoGrid
OrientDB
多模数据库
这些数据库包含了多种数据库的特性。
有两种不同的产品分组可以认为是多模的:
支持多种数据模型和用例的多模数据库。 比如说,ArangoDB宣称它拥有键值存储的好处,同时还提供了面向文档以及图型数据库的支持。
支持多种模式的通用目的的数据库。 比如说,Oracle的MySQL 5.6支持SQL方式的访问,也可以通过Memcached API实现键值访问。
典型代表:
ArangoDB
Aerospike
Datomic
对象数据库
数据库中的数据都建模为对象、属性、方法以及类。面向对象的数据库通常适合于需要高性能数据处理的应用,这种应用一般都有非常复杂的结构。
优点:
相比于关系元组来说,对象模型最适合于展现现实世界,对于复杂、多方位的对象来说尤为如此。
使用层次特性来组织数据。
访问数据时并不需要专门的查询语言,因为访问是直接面向对象的。然而,有时也是需要使用查询的。
缺点:
在RDBMS中,由于表的创建、修改或是删除而导致的模式修改通常并不依赖于应用。在使用对象数据库的应用中,模式修改类通常意味着还要对与当前类关联的其他应用类进行修改。这会导致对整个系统进行修改。
对象数据库通常会通过单独的API与特定的语言绑定,只有通过该API才能查询数据。在这方面,RDBMS就做得很好,这要归功于它所使用的通用查询语言。
典型代表:
VelocityDB
Objectivity
ZODB
Siaqodb
EyeDB