将Neo4J与Mongo DB结合使用而无需复制整个数据库

时间:2018-10-14 13:19:59

标签: mysql database mongodb laravel neo4j

到目前为止,我一直在使用关系数据库系统(MySQL),MongoDB和Dynamo DB,并且刚刚介绍了Graph DB的概念。

我想拥有一个应该可以使用的数据库系统

  • 用于事务和关系操作(身份验证,基于角色的可访问性和财务操作)的MySQL
  • Neo4J用于内容相关性,实时关系查询
  • 用于只读的预先形成的JSON对象的MongoDB

让我们以电子商务为例

我将捕获mysql中的所有数据,以便稍后在具有特定固定关系的其他db系统中重新创建它,并将在neo4j中链接产品和类别,子类别以及用户的购物偏好。我想用多种语言描述产品并存储在MongoDB中。

我不是数据库专家,但我认识数据库管理员已有一段时间的人建议我不要使用不会用于形成关系查询的内容加载neo4j,例如产品及其翻译的文字说明。

我想实现类似的目标,Neo4J产品节点将具有可用于查询(不是搜索操作)的信息,并将具有以下标签

  • 产品ID
  • 创建日期
  • 产品标题
  • 平均观看次数
  • 平均评分

并将其所有文本数据保存在Mongo DB中。

以编程方式完成所有这些操作是可以实现的,但是我不确定它会在多大程度上影响性能以及其稳定性如何。你们有什么建议?

我的目标是

  • 不要在多个数据库系统中创建相同数据的巨大副本。
  • 通过不在节点中加载大量文本数据来使数据库经过优化,以实现最佳性能。

我要使用的语言是PHP / Laravel Framework。

谢谢

0 个答案:

没有答案