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

复制
相关文章
镗刀在加工中出现颤振的主要原因分析
镗刀是采用的数显读数屏的精密镗头,在使用精镗刀加工时,也会出现不同的问题。加工中心镗孔时由于切屑的流出方向在不断地改变,所以刀尖、工件的冷却以及切屑的排出都要比车床加工时难的多。特别是用卧式加工中心进行钢的盲孔粗镗加工时,尤为困难。镗孔加工时最常出现的、也是最令人头疼的问题是颤振。今天我们来分析下镗刀发生颤振的主要原因有哪些:
lrglu
2022/05/16
2.6K0
镗刀在加工中出现颤振的主要原因分析
案例:数控机床主轴校准与颤振监测系统
提高生产数量与产品质量始终是制造业努力追求的目标,工业4.0更勾勒出智能制造的美好愿景,促使被制造业视为是重要生产设备的CNC工具机(数控机床)也得因应这样的趋势不断地精益求精。而数控机床制造商在积极改善自家机器性能并提升加工精度以符合客户需求的过程中,机器校准正确与否是影响加工精度的重要因素之一。但一直以来制造业都是靠累积多年经验的老师傅来进行机器校准,工厂每日必须先以这种传统作法来检查设备才能正式开工;如果该厂需要制造的产品种类较多,每一次产线调整时还得再次为机器重新设定与校准。如此不科学的作业模式既繁琐又费时,一旦作业程序有所疏失就会发生加工精度失准的问题。
SHOUT
2022/05/31
2.9K0
案例:数控机床主轴校准与颤振监测系统
在ListView中实现排序
ListView触发数据源排序,使用数据源(即List<T>)的Sort()方法,又一次绑定数据源到ListView。
全栈程序员站长
2022/09/06
1.3K0
在 Android 12 中构建更现代的应用 Widget
从 2008 年开始,Widget 就一直是 Android 系统的一个重要组成部分,也是自定义主屏幕的一个重要方面。您可以将 Widget 理解为一个 "一目了然" 的应用视图,让用户在无需从主屏幕打开应用的前提下,就能对应用数据和核心功能一览无余。但是从 Android 推出至今,AppWidget 的 API 基本就没有什么大的变化,从 2012 年到 2021 年更是只有一个 Android 版本包含了对 AppWidget API 的更新。而随着 Android 12 的推出,也带来了 Widget API 一些亟需改进的更新。
Android 开发者
2022/03/25
2.2K0
在 Android 12 中构建更现代的应用 Widget
尴尬:在zoom中找不到会议密码
临时要开一个zoom会议,点击“新会议”进入,然后邀请其他与会者。 “会议” - “复制邀请链接”, 得到一行这样的信息(会议号已模糊处理) https://oracle.zoom.us/j/99
Alfred Zhao
2022/10/31
2.8K0
MCM数控机床切削颤振监测与大数据分析系统构建(一)
在金属切削加工过程中,刀具与工件之间剧烈的自激振动通常被称为“颤振”。机床颤振会使加工过程变得不稳定,造成加工表面质量和金属切削率的下降,引起加工工件的表面精度和光洁度下降,降低刀具使用寿命和生产率,严重时甚至会破坏刀具和机床。因此,颤振成为提高机床加工能力的最主要障碍。
SHOUT
2022/05/31
2.7K0
MCM数控机床切削颤振监测与大数据分析系统构建(一)
【Flutter 15】图解 ListView 不同样式 item 及 Widget 显隐性
一年一度的谷歌大会又开始了,谷歌对 Flutter 的投入力度又加大了,所以更得好好学 Flutter 了。和尚在做新闻列表方面的 Demo 时,想到会在列表中展示多种不同 item 样式,今天特意借助上一篇关于 ListView 的小例子 稍微调整一下,测试 ListView 中多种 item 样式展示方式。
阿策小和尚
2019/08/12
2.8K0
【Flutter 15】图解 ListView 不同样式 item 及 Widget 显隐性
listview优化(中)
1,对Imageview使用setTag()方法来解决图片错位问题,这个Tag中设置的是图片的url,然后在加载的时候取得这个url和要加载那position中的url对比,如果不相同就加载,相同就是复用以前的就不加载了 2,对于要加载的图片资源,先在内存缓存中找(原始的方法是使用SoftRefrence,最新的方法是使用android提供的Lrucache),如果找不到,则在本地缓存(可以使用DiskLrucache类)中找(也就是读取原先下载过的本地图片),还找不到,就开启异步线程去下载图片,下载以
xiangzhihong
2018/01/30
1.1K0
Mybatis在IDEA中找不到mapper映射文件
这个问题的解决方法就是在pom.xml文件中加上配置,让编译器把src/main/java目录下的xml文件一同编译到classes文件夹下。
别先生
2020/12/09
3.6K0
flutter中Widget 渲染过程
然后,通过Element树构建RenderObject对象;并将RenderObject对象挂载到Element树上。
挥刀北上
2021/01/05
9990
flutter中Widget 渲染过程
"org.jacoco.agent.rt" 在 maven 中找不到
看起来没有,不提供源码 https://github.com/jacoco/jacoco/issues/207
JavaEdge
2021/02/22
1.6K0
"org.jacoco.agent.rt" 在 maven 中找不到
解决问题:在Linux中找不到wget命令
Linux作为一个广泛使用的操作系统,被广泛用于服务器和开发环境。在Linux上执行命令是日常工作中的常见任务,然而,有时候可能会遇到一些问题。本文将重点解决一个常见问题:在Linux系统中找不到wget命令。我们将通过参考howtouselinux.com上的相关文章来解决这个问题,并提供详细的解决方法和示例。
用户10665603
2023/07/31
1.5K0
WPF中ListView排序
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
5160
在 django 中如何自定义 widget(控件)适用于 xadmin
上篇文章介绍了怎么把django自带的admin替换成xadmin,这篇文章介绍下怎么自定义一个django的widget,关于widget的使用在django的admin和xadmin中均适用。
the5fire
2019/03/01
2.3K0
Android中动态更新ListView
在使用ListView时,会遇到当ListView列表滑动到最底端时,添加新的列表项的问题,本文通过代码演示如何动态的添加新的列表项到ListView中。 实现步骤:调用ListView的setOnScrollListener()方法设置滑动监听器,实现OnScrollListener接口的方法,判断当列表滑动到最低端时,加载新的列表项。 其中OnScrollListener接口需要实现如下两个方法: onScroll(AbsListView view, int firstVisibleItem, int
欢醉
2018/01/22
2K0
Widget模式
Widget模式是指借用Web Widget思想将页面分解成组件,针对部件开发,最终组合成完整的页面,Web Widget指的是一块可以在任意页面中执行的代码块,Widget模式不属于一般定义的23种设计模式的范畴,而通常将其看作广义上的架构型设计模式。
WindRunnerMax
2021/01/14
1.1K0
车床震颤的原因及排除
如果您的刀具过度磨损,切削产生的切削力将会增加。这些增加的切削力会导致切削过程中出现颤动。
lrglu
2023/09/19
1.1K0
车床震颤的原因及排除
android中ListView的用法[通俗易懂]
地址:https://www.cnblogs.com/s-y-j/p/6548032.html
全栈程序员站长
2022/09/06
9610
android中ListView的用法[通俗易懂]
ListView使用技巧-更新中
虽然在Android5.X中,RecyclerView在很多地方组件取代了ListView,但是ListView的使用依然是分广泛。
小小工匠
2021/08/16
9610
点击加载更多

相似问题

颤振ListView.builder在<Widget>[]

12

颤振ListView和列表Widget

21

在颤振中将Widget置于ListView之上

10

颤振: ListView中动态大小的Widget

12

颤振: Stack Widget中的Listview Builder水平

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文