jqlin2019

Results 7 comments of jqlin2019

Does TuGraph have plans to support fulltext index in future updates? How can I use fulltext index by making plugins or procedures?

> > I have a future request for getting changed data capture from kafka streams when having to query real-time data being from other databases in TuGraph. > > I...

> 这里出错的数据只涉及正要修改的数据,或者说数据没写进去,还是80%的数据中有大量的误伤。 > > TuGraph的行存,感觉应该不会误伤。以及这个能复现么 找到了当时的IO监控数据,使用iotop查看到的情况是 Total DISK READ: 2M/s | Total DISK WRITE: 90M/s Actual DISK READ 3M/s | Total DISK WRITE: 100M/s 主要的负载被视频写入的业务占用了,lgraph_server的进程占据了读取的前4个; 请问这种IO高负载的情况有办法吗,能不能用尽量少的IO给到TuGraph来完成读写,另外一块核心业务暂时改不了,后续会尽量把服务器分开

> 综合看了一下,主要是2个方面的问题: 1、持久化/数据不一致的问题。这里需要再多一些信息 (1)启动时候durable参数和optimistic_txn有做单独设置么?是默认值么? (2)关于发现不一致的现象。重启前是正常的么?”重启后发现end_time为null,其他字段正常“是说(比如)更新了2个字段,重启后字段A正确,字段B不正确是么? > > 2、IO的问题 tugraph-db底层是single writer的,启动的时候有一个thread_limit配置可以限制整体的线程数目,即限制读的线程数目。但是一般来说这种情况,应该是平衡一下主要的负载业务,即视频写入业务。 durable参数和optimistic_txn是默认值,conf配置用的是默认的/usr/local/etc/lgraph.json: ``` { "directory" : "/var/lib/lgraph/data", "license" : "/var/lib/lgraph/fma.lic", "host" : "0.0.0.0", "port" : 7070, "rpc_port" : 9090, "enable_rpc" :...

> 看您的docker将数据目录挂出来了,不太会和配置有关系。请您复现的时候,注意一下几个点吧,帮助做更多的判断。 > > * merge语句执行成功与否,关注一下返回结果。 > * 重启前数据和重启后的对比。如果是重启前后数据不一致,那有可能是WAL(Write Ahead Log)存在问题 > * 最后一个可能性是merge语句有问题,您先复现一下排除其他情况,后面我找cypher同学来看看 merge语句的问题有相关的复现了,相关节点schema和merge命令如下 ``` call db.getVertexSchema("StatisticData") ``` ``` {"label":"StatisticData","primary":"id","properties":[{"index":true,"name":"id","optional":false,"type":"INT64","unique":true},{"index":false,"name":"relate_id","optional":true,"type":"INT64"},{"index":false,"name":"counter","optional":true,"type":"INT64"},{"index":false,"name":"type","optional":true,"type":"INT64"},{"index":false,"name":"output_name","optional":true,"type":"STRING"},{"index":false,"name":"uuid","optional":true,"type":"STRING"},{"index":false,"name":"program","optional":true,"type":"STRING"},{"index":false,"name":"algo_name","optional":true,"type":"STRING"}],"type":"VERTEX"} ``` ``` merge (n0:StatisticData{id:61480}) set n0+={output_name:"FX11",uuid:"",id:61480,counter:1,relate_id:1074} ...... merge (n0:StatisticData{id:61480})...

补充一下当时和数据库相关的操作:发生过一次机器迁移,把/var/lib/lgraph/data目录下的数据打包迁移到了重装的新系统,docker和系统配置不变; 现在临时的解决办法是把counter字段删了重建 @qishipengqsp

用mixed混合查询可以拼接 ``` @Test public void testNestedMatchMixedSort() { // 嵌套查询排序 LambdaEsQueryWrapper wrapper = new LambdaEsQueryWrapper(); FieldSortBuilder fieldSortBuilder = SortBuilders.fieldSort("users.faqs.answer.keyword"); fieldSortBuilder.setNestedSort(new NestedSortBuilder("users").setNestedSort(new NestedSortBuilder("users.faqs"))); wrapper.sort(fieldSortBuilder); List documents = documentMapper.selectList(wrapper); System.out.println(documents); } ```