Neo4j节点和单个实例上的关系大小

问题描述 投票:0回答:1

我开始了我的宠物项目 - 这是一个决策系统。该项目建立在不同的技术基础之上,但Neo4j是主要的数据库及其核心。我使用Spring Data Neo4j 5和Spring Boot 2来使用Neo4j。

我用Neo4j Community Edition 3.3.0

我的项目是一个通用应用程序,可以存储和比较任何性质和域的决策(Neo4j节点)。可以存储和显示可以比较和过滤的所有内容。

现在我正在测试我在加密货币上的解决方案 - http://decisionwanted.com/decisions/1/blockchain/categories/cryptocurrency/comparison/5a49e8a3f2ee40361037c56c

虽然我正在努力修复UI上的错误修复和功能激活(现在它包含大量的错误,并且还没有激活约70%的UI功能)我注意到Neo4j数据库中的数据量大大增加了因为我正在收集每个价值的历史,例如,这里http://decisionwanted.com/decisions/2/bitcoin我正在收集历史价值

Price (USD)
Available Supply
Total Supply
Change 1h (%)
Change 24h (%)
Change 7d (%)
Market Cap (USD)
Volume 24h (USD)

现在,系统每天增加约2-3百万个新节点。

这是我的Neo4j数据库的当前状态(系统只工作几天)

MATCH(n) RETURN count(n)

8288217

enter image description here

现在我想知道Neo4j可以在单个实例(一个物理服务器)上保存多少个节点和关系用于正常工作,以及当我的应用程序将面临数据存储问题时的重点。请指教。

neo4j spring-data-neo4j spring-data-neo4j-5
1个回答
1
投票

社区版本限制了64亿个节点和64亿个关系,按照目前的速度,您的数据库将在大约58年内达到此限制。

假设你会积极主动,并为自己设定一个32亿的截止日期,这样你就会有29年的时间。

到那时会发生什么:

  • 你将永远不会达到20亿,因为你的女朋友在编码太多之后会破坏你的笔记本电脑
  • 美国和朝鲜的总统将会让你永远不会达到这个时间表
  • Neo4j的创始人Emil Efrem将关闭Neo4j以启动Frogrom,以击败其历史上的瑞典竞争对手Krisprolls。

因此,以更严肃的方式,如果您在一段时间后不需要历史数据,则可以将其发送到历史存储系统,如ES动态索引或其他任何内容。 Neo4j在遍历关系方面很快,通常不必遍历长历史数据。

© www.soinside.com 2019 - 2024. All rights reserved.