Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
postgresql与neo4j的结合用于网络站点_Sql_Database_Postgresql_Neo4j - Fatal编程技术网

postgresql与neo4j的结合用于网络站点

postgresql与neo4j的结合用于网络站点,sql,database,postgresql,neo4j,Sql,Database,Postgresql,Neo4j,我们正在设计一个网络站点,数据将以复杂的方式相互连接。 我们计划使用Neo4j,这样我们就可以避免昂贵的连接,否则需要。因为neo4j是专门为图形数据设计的,所以它看起来很合适 然而,我们已经意识到,尽管neo4j在某些方面很快,但是关系数据的表示最好通过关系数据库完成。因此,我们计划在某些功能上使用neo4j,在其他功能上使用postgresql 例如,我们将使用neo4j通过搜索用户遵循的不同节点来查找相关提要。而对于更新配置文件信息等其他活动,我们希望使用postgresql。我们对概要信

我们正在设计一个网络站点,数据将以复杂的方式相互连接。 我们计划使用Neo4j,这样我们就可以避免昂贵的连接,否则需要。因为neo4j是专门为图形数据设计的,所以它看起来很合适

然而,我们已经意识到,尽管neo4j在某些方面很快,但是关系数据的表示最好通过关系数据库完成。因此,我们计划在某些功能上使用neo4j,在其他功能上使用postgresql

例如,我们将使用neo4j通过搜索用户遵循的不同节点来查找相关提要。而对于更新配置文件信息等其他活动,我们希望使用postgresql。我们对概要信息更新做了一些性能测试,发现postgresql比neo4j更快。在分析feed数据时,neo4j的速度要快得多

现在我的问题是,以前是否有人使用过这样的数据库组合。特别是带有postgresql的neo4j。在集成不同的数据库时,我们确实发现了一些问题,但我们认为这是值得的


请分享您的经验和反馈。感谢Neo4j是一个图形数据库,PostgreSQL是一个关系数据库,您正朝着正确的方向前进。由于NoSQL数据库(包括Neo4j)在特定应用领域的优势,已经开发了许多使用NoSQL数据库的应用程序。我工作过的其他地方使用PostgreSQL或Oracle存储关系数据,使用Lucene/Solr存储文本数据,使用MongoDB存储文档

您需要根据数据类型明确区分每种数据库类型的职责

如果您将数据从其中一个复制到另一个(例如,出于报告目的,Neo4j数据被复制到PostgreSQL),请确保您有适当的数据过期策略,或者以可靠和可预测的方式对该数据进行某种刷新


最后,您可能想要也可能不想要某种跨数据库的“事务”概念,因为如果一个事务包含两部分数据,一部分存储在Neo4J中,另一部分存储在PostgreSQL中,那么系统保证如果您可以在PostgreSQL中找到它,您必须能够在Neo4J中找到其他部分,反之亦然。

我通常为所有事务部分保留一个关系数据库,并使用Neo4J进行特定查询、路径搜索和建议