我正在考虑一种设置,即将实体存储在文档数据库(例如CouchDB)和图形数据库(例如Neo4j)中。
理念是将每个实体的信息(数据,blob,值,复杂的内部结构)存储在文档数据库中,同时将实体关系(父项,子项,相关实体)存储在图形数据库中。
有人尝试过或见过这样的设置吗?我应该期待什么样的问题?首先想到的是2阶段提交。但是备份也很棘手。
有人尝试过或见过这样的设置吗?我应该期待什么样的问题?首先想到的是2阶段提交。但是备份也很棘手。
Ran,
由于CouchDB和大多数(全部?)文档/ kv存储不支持事务,因此您需要停止担心2阶段提交。例如,您可以在Neo4j和MySQL之间执行XA事务,但不能在CouchDB或其相关方案之间执行。
实际上,为了简单起见,为什么不采用纯图形数据库架构呢?您可以获得更好的表达能力和事务处理 - 添加第二种存储类型的理由是什么呢?