4

我正在考虑一个设置,其中我将实体存储在文档数据库(例如CouchDB)和图形数据库(例如Neo4j)中。 理由是将每个实体信息(数据,blob,值,复杂的内部结构)存储在文档db中,同时将实体关系(父项,子项,关联实体)存储在图形db中。使用图形数据库和文档db

有没有人做过/看到/被这样的设置咬过?我应该期待什么样的问题?第一件事是mindaka的两阶段提交。但备份在这里也是有问题的。

回答

0

冉,

由于CouchDB的大部分(所有?)文件/ KV存储不支持事务,你需要停止担心两相提交。你可以做Neo4j和MySQL之间的XA事务,例如,但不是CouchDB或它的亲戚。

事实上,为了简单起见,为什么不是纯粹的图形数据库架构呢?您获得了更好的表现力和交易 - 以第二种商店类型的形式添加另一个移动部分的基本原理是什么?

+3

如果你有一些真正的大背景(例如,为每个节点建立网站及其内容),我认为用文档db进行双重设置是合理的。 – ulkas

+0

除非内容是视频和图像的斑点,否则将所有内容都保存在图表中不会有任何问题。 – akollegger

+1

@ulkas - 确切地说。 –

3

你可以看看书“Seven DBs in Seven Weeks”。第8章讲述通过CouchDB,Neo4j和Redis构建多语言结构。

+1

很好找。谢谢! –