steam
2022 年5 月 27 日 08:44
4
= =。哥,我让你补充个配置啊,你给我监控图,我也算不出来你多少 CPU 核数啊
Ian
2022 年5 月 27 日 10:05
8
这个空间是新建的,只有我这个项目在使用,按照我的程序,只有判断uid是否存在这个查询:MATCH (v:uid {name:xxx}) RETURN v.uid.name AS name
目的是为了不使用UPSERT,先查询,后插入或更新。
uid name属性有建了索引
Ian
2022 年5 月 27 日 10:13
9
Nebula 3.1.0还是不支持并发写入吗?
程序存在多个进程写同一个节点的不同属性,存在异常:
More than one request trying to add/update/delete one edge/vertex at the same time
这个问题,我的想法是采用分布式锁的方式解决,是否有其他更好的解决方案?
按你描述的 肯定是存在并发操作了。应该是在3.2版本把并发的限制放松了,允许并发update同一个kv了。然后你另一个RPC报错大概率是因为MATCH把insert挡住了。数据量大不建议用match。
Ian
2022 年5 月 30 日 02:07
12
因为什么原因数据量大不建议用match。
LOOKUP:
索引会导致写性能大幅降低(降低 90%甚至更多)。请不要随意在生产环境中使用索引,除非很清楚使用索引对业务的影响。
难道是因为我们建立了索引,导致写入时间耗时久?
wey
2022 年6 月 1 日 02:25
14
MATCH 的优化现在还没有 LOOKUP/GO 多(在不断被优化中,很多场景已经是可比的表现了,但是还是有点差异原因如第二条)
MATCH 正常拓展时候取点带上所有属性,开销大一些
所以能用 LOOKUP/GO/FETCH 表达的模式匹配是比 MATCH 有更好的表现的哈。
索引的建立一定是有写入开销的,如果能够通过 vid 格式设计避免起始点的基于索引的查询,会对写入有大大的帮助哈
ref: Nebula Graph 索引详解 - siwei.io
Ian
2022 年6 月 1 日 06:52
15
1、执行语句超时的问题通过观察storage日志,重启storage后,暂时没有问题;
2、并发写入问题,通过分布式锁的方式解决,暂时没有问题;
另外有一个问题,关于session管理的问题:
背景:程序上对session做了缓存,减少频繁创建session开销,每个线程一个session,获取session时,先从缓存获取,获取不到从NebulaPool新建session。
由于session默认8小时关闭,需要将缓存的session清理,获取新的session。
问题:想问问,是否有提供方法判断session是否已经关闭的方法。
我现在尝试使用Session.ping()方法(com.vesoft.nebula.client.graph.net.Session),show sessions观察session数和程序的线程数不一致,应该是Session.ping()会创建新的session
system
关闭
2022 年7 月 1 日 06:53
16
此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。