技术开发 频道

NoSQL数据库大盘点 优势劣势面面观

  图型数据库

  图型数据库指的是使用图结构的数据库,通过结点、边与属性来表示和存储数据。根据定义,图型数据库是一种提供了无需索引而彼此邻接的存储系统。这意味着每个元素都包含了直接指向邻接元素的指针,因此没必要再通过索引进行查找了。

  优点:

  对于关联数据集的查找速度更快。

  可以很自然地扩展为更大的数据集,因为他们无需使用代价高昂的连接运算符。

  缺点:

  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

0
相关文章