混合NoSQL数据库产品解析
在数据管理领域,混合NoSQL数据库正发挥着越来越重要的作用。它主要分为两类:
- 一类使用非关系数据类型和三元组来存储记录之间的关系和元数据。
- 另一类则将搜索与文档结构(无论是键值存储还是文档数据库)集成在一起。
使用三元组存储方法来提供关系的模式无关性,类似于NoSQL数据库在其自身记录的数据模型中提供模式无关性。这种方法在一定程度上提供了跨记录的信息链接,避免了一些非规范化的需求。
OrientDB:简单高效的文档与三元组管理
OrientDB在文档数据库和三元组存储之间的协同方面表现出了简洁性,这是许多复杂的NoSQL数据库所不具备的优点。
在文档NoSQL数据库中,为了避免遵循关系模型将数据拆分为多个部分,通常会采用非规范化的方式,将所有数据存储在一个文档中。以产品订单为例,一个订单可能包含产品ID、名称、价格、订购数量、客户和交付细节以及支付信息等。将这些信息存储在一个文档中,可以方便同时访问所有信息。
然而,在某些情况下,将信息视为离散文档更为合适。此时,面临的选择是管理多个非规范化文档,还是保持原子结构(如关系表)并在查询时将它们组合起来。但在查询时合并数据是一件麻烦的事情,复杂的内连接和外连接不仅难以正确实现,而且很难保证查询速度。
从文档生成三元组
OrientDB为管理这些复合文档用例提供了一个很好的解决方案。它不仅是一个功能齐全的文档NoSQL数据库,还允许用户配置,使其在添加文档时自动生成文档之间的三元组(关系),并在查询时根据这些关系自动生成视图。这一过程无需复杂的类SQL查询或复杂的触发器来维护多个非规范化文档。