混合 NoSQL 数据库:优势、选择与应用
一、混合 NoSQL 数据库概述
NoSQL 数据库正在不断发展,如同关系型数据库随着时间增加了新的数据类型(如 CLOB、BLOB 和 XML 数据)一样,NoSQL 数据库也在增加对新数据类型的支持。不同类型的 NoSQL 数据库(键值、Bigtable、图/三元组存储和文档数据库)可以用不同的方式解决同一业务问题。例如,为唯一 ID 存储文档是键值存储和文档数据库都具备的功能。
从技术上讲,支持多种数据管理范式的数据库可称为混合数据库。但这里所讨论的混合数据库,是指在多个领域提供重要功能的数据库。比如,仅支持新数据类型而不提供相关通用管理操作的数据库,不能算作混合数据库;文档数据库虽能按唯一键存储值,但并不自动归类为键值存储;并非所有提供属性值内存缓存的数据库都归类为列存储。
二、多语言持久化的终结
在某些情况下,单个应用程序需要与大型机系统、关系型数据库管理系统(RDBMS)和 NoSQL 数据库管理系统(DBMS)进行通信。不过,随着 NoSQL 数据库的快速发展,单个应用需要多个 NoSQL 数据库管理系统的情况只是暂时的。例如,OrientDB 有一个融合了三元组存储和文档数据库的数据库,若一个产品能完成两项工作,就无需购买两个产品。
当关系型数据库管理系统刚成为主流时,不同系统有不同优势,如有些支持触发器,有些具备级联删除功能。随着时间推移,这些功能在所有关系型数据库管理系统中都成为了标准。同样,随着供应商不断为 NoSQL 数据库添加新功能以吸引客户,NoSQL 数据库也会如此。