3.1.2 从NoSQL到图数据库的转型
从NoSQL到图数据库的转型
尽管"NoSQL"(“不仅是SQL”)这个命名本身并无助益,但它汇集了许多有趣的解决方案,提供了不同的数据模型和数据库系统。相较于传统的SQL解决方案,这些系统针对特定使用场景和数据结构更具优势。
随着NoSQL运动的兴起,大型关系型数据库"一刀切"的方案被取代,人们开始有意识地选择更适合特定任务的工具。
大多数NoSQL系统采用面向聚合的模型,根据特定标准和数据库类型(如文档存储、键值对等)对数据进行分组。这种模型仅提供简单有限的操作,并只能形成单一的数据视图。虽然每次聚焦一个聚合单元使用户能轻松沿聚合维度(如文档数据库中的"文档")将数据分布到多台机器上,但这意味着其他数据视角和维度需要通过复杂计算或数据复制来实现。
"大多数NoSQL数据库存储的是互不关联的聚合单元集。这导致它们难以处理关联数据和图结构。为此类数据库添加关系的常见策略是将一个聚合单元的标识符嵌入到另一个聚合单元的字段中——这实际上引入了外键概念。但这种方式需要在应用层进行聚合单元连接,其成本很快就会变得难以承受。"
——《图数据库》
其他NoSQL数据库缺乏关系处理能力。而图数据库则能处理细粒度的信息网络,提供符合使用场景的任意数据视角。同时,Neo4j通过关系型数据库中被广泛信赖的事务保障机制,以ACID标准保护图数据的更新操作。
下面将图数据模型与其他NoSQL模型进行对比。
NoSQL知识向图结构的转化
NoSQL运动的兴起使得各种规模的企业都能从多种现代方案中选择适合其使用场景的解决方案: