Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >“超级节点”实体上的春季数据Neo4j内存消耗

“超级节点”实体上的春季数据Neo4j内存消耗
EN

Stack Overflow用户
提问于 2015-08-07 03:11:10
回答 3查看 168关注 0票数 1

据我所知,一旦加载了Spring数据中的NodeEntity Neo4j,默认行为就是通过只获取相关节点的ids来延迟加载其关系。虽然在大多数情况下似乎都很好,但我对所谓的“超级节点”(与其他节点有大量关系的节点)的情况表示怀疑。这种节点,即使它们本身很小,也会保存大量的it,使用比我们想要的内存更多的内存,而且可能没有有效地“懒惰地加载”.

所以我的问题是-我该如何处理这种超级节点?

我的第一个想法是简单地从这种节点中删除所有@RelatedTo/@RelatedToVia映射(或者至少是那些具有“众多”关系类型的映射),并在需要对这些关系进行操作时简单地绕过SDN,在其他情况下使用SDN。它似乎有意义吗?在这种情况下,你有其他的建议或经验吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-08-08 09:56:11

对于超级节点,我只是不指定超级节点实体上的关系。但只在相关节点上。

如果您对这种关系感兴趣,您可以查找相关节点并跟踪到超级节点。

或者,如果您确实需要加载数百万的关系,请使用密码语句。

为此,您还可以将许多关系放在一个单独的节点上,或者添加一个树状子结构,该子结构还允许处理子选择。

票数 1
EN

Stack Overflow用户

发布于 2015-08-07 03:44:54

我没有和SDN合作过,但是我会尝试一下metanodes的近似。在这种近似下,您将构建一个结构,将关系的总数除以metanodes的数量(如果一个节点有1000个连接,并且使用10个metanodes,则每个metanode将有100个连接,而超级节点仅为4个。您可以在折叠图像:http://i.stack.imgur.com/DMQGs.png中看到一个图形表示。

通过这种方式,您可以很好地控制有多少关系可以有一个节点,因此有多少节点将被SDN最大加载。

你可以在http://neo4j.com/book-learning-neo4j/上读到更多关于它的信息,也可以在这个类似的文章中读到Neo4j how to avoid supernodes

票数 2
EN

Stack Overflow用户

发布于 2015-08-07 08:35:50

首先,您能提供您正在使用的SDN的版本吗?这样我们就可以将这个问题针对正确的库维护人员了。

第二,虽然我并不真正了解SDN的内部结构,但与其他OGM一起工作过,但我对LazyLoading的理解与您所提供的非常不同,原因很简单,懒惰加载ids可能非常有害,因为如果另一个进程正在删除具有这些ids之一的节点,则可能会损坏数据。

通常,它在其他OGM中很常见,在对象没有表示关系的注释的情况下,您只需从他的元数据和加载的节点重新创建对象。

但是,如果它有关系,那么您将创建该对象的代理,该代理将扩展实体本身。

代理上的实体值不会在第一个实例中实例化,然后您将覆盖所有的getter,并在代理中添加检索相关节点的方法(因此将在代理中注入实体管理器)。

因此,基本上,一个代理将是空的,直到您调用它上的一个getter。

您还可以通过创建扩展默认存储库的自定义存储库来“细化”这种行为,从某种意义上说,您可以选择只使用LAZY_LOAD一种关系类型和EAGER_LOAD其他类型的关系。

在某些情况下,albert描述的方法很有意义,但是在基本OGM方面很难实现,最好有一个BehaviorComponent在生命周期事件中为您处理这个问题,或者在getter方法中添加某种分页,我认为它现在不是OGM的一部分。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31876328

复制
相关文章
减少Redis内存消耗的优化措施
当命令请求被执行时,Redis会将数据从磁盘加载到内存中进行处理,这会导致内存的消耗。
一凡sir
2023/09/27
4900
减少Redis内存消耗的优化措施
Neo4J:创建带关系的节点
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
程裕强
2019/10/22
2.5K0
Neo4J:创建带关系的节点
使用top命令查看最消耗CPU和最消耗内存的进程
在终端执行top命令后,  在top基本视图中,按键盘数字“1”,可监控每个逻辑CPU的状况: 快捷键shift + p  : 将进程按照CPU占用从大到小排序。  快捷键shift + m  : 将进程按照内存占用从大到小排序。
joshua317
2018/04/16
1.9K0
如何降低 Python 的内存消耗量?
在执行程序时,如果内存中有大量活动的对象,就可能出现内存问题,尤其是在可用内存总量有限的情况下。在本文中,我们将讨论缩小对象的方法,大幅减少Python所需的内存。
Python猫
2019/08/08
1.6K0
如何降低 Python 的内存消耗量?
Oracle进程内存结构-如何察看Oracle进程消耗的内存
经常有人问到如何在Unix下确定进程消耗的内存资源,以及为何Top工具的显示非常高。 有人说Top的输出不精确,这种说法是不确切的。实际上是Top输出显示的Oracle进程内存使用,包含了SGA部分。这也是SGA的意义所在。 SGA可以被共享,可以被所有进程所访问,在进程的寻址空间里就包含了SGA的大小。
数据和云01
2018/09/10
3.4K0
Linux进程内存消耗指标解读
物理内存:不解释 虚拟内存:进程独享,由操作系统通过地址映射的方式,转换为对物理内存的访问。在32位Linux机器上,每个进程的虚拟内存都是4G。(这里的虚拟内存与操作系统使用中过程常见的虚拟内存概念不同,不要混淆了,如Linux中swap)
十毛
2019/03/27
6.1K0
pmap查看某进程所消耗的内存
[[Address: 内存开始地址]\ [Kbytes: 占用内存的字节数(KB)]\ [RSS: 保留内存的字节数(KB)]\ [Dirty: 脏页的字节数(包括共享和私有的)(KB)]\ [Mode: 内存的权限:read、write、execute、shared、private (写时复制)]\ [Mapping: 占用内存的文件、或[anon](分配的内存)、或[stack](堆栈)]\ [Offset: 文件偏移]\ [Device: 设备名 (major:minor)]
明哥的运维笔记
2019/01/30
3.2K0
【精心解读】用pandas处理大数据——节省90%内存消耗的小贴士
本文我们讨论 pandas 的内存使用,展示怎样简单地为数据列选择合适的数据类型,就能够减少 dataframe 近 90% 的内存占用。
量化投资与机器学习微信公众号
2018/01/29
8.8K0
【精心解读】用pandas处理大数据——节省90%内存消耗的小贴士
一文了解 Redis 内存监控和内存消耗
Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多。所以,监控 Redis 的内存消耗并了解 Redis 内存模型对高效并长期稳定使用 Redis 至关重要。
程序员历小冰
2019/12/06
1.1K0
一文了解 Redis 内存监控和内存消耗
MySQL内存到底消耗在哪里?
一说起MySQL使用的内存,你可能会想到各种buffer,最著名的莫过于innodb buffer pool了,它是内存使用的大户,还有sort buffer等等。除了这些buffer之外,可能还有一些细枝末节,今天我们来总结一下。
AsiaYe
2021/12/04
3K0
Percona Server 5.1 内存过量消耗分析
一次巡检过程中发现数据库使用内存有些过量,innodb_buffer_pool_size 设置值为 20G ,但实际物理内存消耗为 37G ,总虚拟内存消耗达 42G ,直接导致监控报警,于是开启了一次内存使用探究之旅,整理出来和大家分享一下
franket
2022/07/09
5320
一文了解 Redis 内存监控和内存消耗
Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多。所以,监控 Redis 的内存消耗并了解 Redis 内存模型对高效并长期稳定使用 Redis 至关重要。
程序员历小冰
2019/10/15
9270
一文了解 Redis 内存监控和内存消耗
TKE 超级节点,Serverless 落地的最佳形态
陈冰心,腾讯云产品经理,负责超级节点迭代与客户拓展,专注于 TKE Serverless 产品演进。
腾讯云原生
2022/11/30
1.3K0
TKE 超级节点,Serverless 落地的最佳形态
一文了解 Redis 内存监控和内存消耗
Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多。所以,监控 Redis 的内存消耗并了解 Redis 内存模型对高效并长期稳定使用 Redis 至关重要。
Bug开发工程师
2019/11/12
1.3K0
一种针对图数据超级节点的数据建模优化解决方案
•一、超级节点 •1.1 超级节点概念 •1.2 从图数据网络中寻找超级节点•二、与超级节点相关的关键问题案例•三、模拟超级节点 •3.1 服务器资源 •3.2 构建模拟数据的图数据模型 •3.3 模拟超级节点的数据规模•四、超级节点建模优化 •4.1 关系结构优化方案 •4.2 标签细分遍历图可减少节点规模•五、增删改操作优化 •5.1 服务器优化 •5.2 图库配置优化 •5.3 JVM调优 •5.4 批量操作 •5.5 服务器端操作文件•六、检索效率提升 •6.1 查询优化 •6.2 预热数据 •6.3 图数据库索引 •6.4 图数据库全文检索lucene接口 •6.5 图数据库全文检索集成Elasticsearch •6.5.1 数据同步-关联存储 •6.5.2 数据同步-监控程序同步 •6.5.3 Elasticsearch调优•七、自规避路径查询 •7.1 查询场景案例 •7.2 自规避查询实现
马超的博客
2022/09/02
1.5K0
一种针对图数据超级节点的数据建模优化解决方案
Percona Server 5.1 内存过量消耗分析6
由于它并不能动态进行调整,所以必须安排一次数据库的启停,在配置文件中对 innodb_ibuf_max_size 进行限定就可以有效解决此问题
franket
2022/07/09
6050
实用脚本:检查高 CPU / 内存消耗进程
该脚本将显示进程 ID、进程的所有者、进程的名称以及进程的运行时间。这将帮助你确定哪些(必须事先完成)作业正在超时运行。这可以使用 ps 命令来实现。
用户8639654
2021/09/16
1.4K0
Percona Server 5.1 内存过量消耗分析4
由于 innodb_buffer_pool_size 和 query_cache_size 都是我手动配置的,所以这个差异报告让我立刻注意到了 innodb_ibuf_max_size
franket
2022/07/09
4910
对线面试官-Redis(内存消耗的问题)
面试官:Hi,上次我们聊到了Redis作为缓存的数据一致性问题,这次我们继续聊一聊Redis作为缓存的问题之内存消耗问题?
@派大星
2023/06/28
1840
对线面试官-Redis(内存消耗的问题)
MySQL一次大量内存消耗的跟踪
线上使用MySQL8.0.25的数据库,通过监控发现数据库在查询一个视图(80张表的union all)时内存和cpu均明显上升。
GreatSQL社区
2023/08/11
2580
MySQL一次大量内存消耗的跟踪

相似问题

春季数据Neo4j节点NotfoundException

10

如何删除春季数据中neo4j节点的关系

29

Neo4j如何避免超级节点

24

NodeJS夏普节点包内存消耗问题

14

理解iPhone上的内存消耗

56
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文