有关Compaction的操作疑问

场景: 我现在有100亿数据, 手动做一次Compaction太慢了, 20多个小时都不能完成, 最致命的是没完成的情况下, 我不能给你建立索引, 因为会QUEUE排队

需求: 1. 这个Compaction的速度能提高吗??? rate_limit=0这个配置直接限制速度, 默认0就是没有限制, 它的读写速度也不是很高, 大概30mb/s , 有办法能提高为1G/s左右吗?
2. 还有这个Compaction能终止掉吗? 我看官网是没有的, 我重启试了一下也是不行,

1 个赞
  1. 集群配置发下?
    太慢应该是有两个思路,
    一 RocksDB 自己有几个参数是调整 compaction 速度的, 可以试一下.
    二 是不是可以将数据再多分到些 partition 中? 让每个 partition 的数据量不要太大. 您的 space 是怎么创建的呢?

  2. 中止现在不行, 您要是重启之后还在做 compaction, 那应该是 auto compaction 开着, 这个倒是可以关.
    (不过没有 compaction 完的数据, 有可能建索引的速度也会让人崩溃)

1 个赞

1 集群配置


image
space

2 rocksDBde 配置都是默认的, 您说的相关配置是哪些?? 能发下吗? 我最终想要的就是想让compact快点(目前3台机器的读写只有20~30mb), 或者compact, stats, rebulid index的相关任务操作是并行操作, 现在是QUEUE排队

compact状态如下, 本来是队列形式的, 但是410任务好像做完了, 但是现实running, 一直是这样了,


3 对了, 那个修改配置文件关闭compace是这样的吗?? 启动报错, 是不是true没有双引号???
image

  1. 咨询下, 下面这对吗?
1 个赞

对, 就是 4 那个思路, 大佬挖掘的很深入吗? 现在啥情况了?

没有很深入, 就是我们现在不到100亿数据, 想建立索引很慢, 一个索引需要24小时, 有时候还需要compact, stats操作, 但是发现这些jobs都是并行的, 其实机器还有只利用了不到10%, 所以就想问问有啥好办法能让建立索引和compact. stats能快些吗???

还有, 现在现有的100亿数据每次新增数据都需要重新rebulid索引,感觉很痛苦啊, 有没有啥好办法???

compact 速度这个就是您说的思路 4, 用 auto compaction, 不用非得敲 nebula 自己那个 compact .
然后把 max_subcompaction 那两个参数改成 8 或者 16.

另外按说只要建过索引了, 再新增的数据是不用重新 rebuild的, 索引会在插入数据的时候自己建好.

2 个赞

对了, 咨询下这个开关怎么配置?? 这2中有啥区别, 在官网上没看到介绍

就这个页面里, 把 auto compaction 打开就行. (导入的时候关闭 auto compaction, 之后打开)
https://docs.nebula-graph.com.cn/2.0.1/8.service-tuning/compaction/

1 个赞

该主题在最后一个回复创建后30天后自动关闭。不再允许新的回复。