大数跨境
0
0

Pick of the Week'20 | 第 52 周看点--北京场 nMeetup 报名开启

Pick of the Week'20 | 第 52 周看点--北京场 nMeetup 报名开启 NebulaGraph
2020-12-25
3
导读:Nebula Graph 2.x 实现全量备份 & find path 去环/双向查询,了解【导入带索引数据性能衰减】问题的来龙去脉…

周五 Nebula 为你播报每周看点,讲产品动态、聊社区问答、看本周大事件。

即将送走的是 2020 年第 52 个工作周的周五 🌝  ,Merry Christmas 🎄 公众号回复:“圣诞快乐”领取你的圣诞祝福 🎅 ~

下面来和 Nebula 一块回顾下本周图数据库和 Nebula 有什么新看点~~

本周大事件


  • nMeetup 北京场报名启动

北京场线下沙龙报名已开启,本次活动尚有 20 个席位(报名上限 100 人)等你 Pick 👻 感兴趣的小伙伴记得早点报名~

产品动态


  • 全量数据备份 & 恢复工具,标签: 版本:2.x  运维 ,pr 参见:https://github.com/vesoft-inc/nebula-storage/pull/190https://github.com/vesoft-inc/nebula-common/pull/344

  • 路径支持去环 & 双向拓展,标签: 版本:2.x  功能 ,pr 参见:https://github.com/vesoft-inc/nebula-graph/pull/464https://github.com/vesoft-inc/nebula-graph/pull/461

以上,Nebula Graph 2.x 实现全量备份 & find path 去环/双向查询啦  👏👏

社区问答


Pick of the Week 每周会从官方论坛、微博、知乎、微信群、微信公众号及 CSDN 等渠道精选问题同你分享,欢迎阅读本文的你通过知乎、微信公众号后台或者添加 Nebula 小助手微信号:NebulaGraphbot 进群交流。

本周分享的主题由社区用户 @rose839,关于 #导入带索引数据性能衰减#

提问:在测试 Nebula 在我们业务场景下的入库性能,不带索引时的入库性能可以达到我们的目标,但是建立索引入库时的性能很差,偶尔还有入库超时的情况。不带索引可以达到 6 万条数据(业务数据)/秒,加索引后降到不到 2 千条/秒。

Nebula:带索引因为要多写一次,所以性能肯定是没有不带索引好的。建议不带索引导入,然后再重构索引。

追问:我们的业务场景是需要每天 24 小时不间断地持续数据入库,对数据库的查询频率也比较高,而且不是固定在某一时段。

这种在查询之前再建索引,查完删索引的做法感觉不太合适,而且 rebuild 在大数据量下的耗时也比较长,请问有没有比较成熟的方案可以优化带索引的插入和查询呢?

Nebula:索引写入慢的原因有三个:

1. 写入数据增大了,多一个索引就需要多写一份数据。

2. 写入索引的过程中,为了保证索引与数据的一致性,需要一边查询一边写入,例如 upsert 操作,需要删除旧索引插入新索引。这一系列操作都是在原子操作中完成。

3. 当大量数据写入后,可能一些数据是无序的,这时会影响上边第 2 点的查询操作,经过测试,带索引的情况下,bulk insert 时会有性能衰减的情况,这个时候如果做一次 compact,性能就可以恢复。

以下是之前在单机 SSD 存储下做的一个测试,供参考:

追问:有几个疑问:
1、带索引入库是原子的,那么过程中会锁库吗?
2、带索引入库后,执行 compact 后,后续的入库性能会恢复到不带索引的程度吗?

Nebula:1、带索引入库是原子的,那么过程中会锁库吗?是不会锁库。2、带索引入库后,执行 compact 后,后续的入库性能会恢复到不带索引的程度吗?肯定恢复不到不带索引的性能,索引本身也是要写数据的。只能恢复的性能衰减前的状态。

推荐阅读


本期 Pick of the Week 就此完毕,喜欢这篇文章?来来来,给我们的 GitHub 点个 star 表鼓励啦~~ 🙇‍♂️🙇‍♀️ [手动跪谢]交流图数据库技术?

交个朋友,Nebula Graph 官方小助手微信:NebulaGraphbot 拉你进交流群~~

【声明】内容源于网络
0
0
NebulaGraph
一个开源的分布式图数据库
内容 731
粉丝 0
NebulaGraph 一个开源的分布式图数据库
总阅读403
粉丝0
内容731