【验证中】Neo4j数据一直无法插入问题排查
问题背景:
【数据平添】-【数据资产】-【血缘关系】,模块功能异常,创建了血缘关系数据之后,可以展示血缘关系的顶点(Neo4j节点),但是迟迟未展示血缘关系连线(Neo4j关系)。
功能设计:
- 解析血缘SQL,将sorece、target 数据库、数据表、字段解析出来,发送只kafka。
- 消费kafka,创建Neo4j的顶点、和关系。存入Neo4j图数据库中。
- 查询血缘关系,前端展示。
排查思路:
- 由于解析Neo4j顶点和关系都经过验证,所以认为正常情况下解析和入图数据库是正常的。接下来看了一眼当前图数据库的数据量达到了300+w,第一反应是数据量太大导致Neo4j性能降低无法及时插入数据。
- 接下来分析为什么会有300+W的数据量?当前环境有1300+张表,假如每个表有100个字段,总的顶点个数也才1300*100=130000,所以认为入库数据存在异常。
- 接下来排查kafka消费侧,发现kafka一直在消费且有顶点数据入Neo4j数据库,速率大约未128条/min(没有产生血缘数据的情况下,不应该有数据产生、消费、入库)。
解决方案:
暂时的解决方案是将kafka消费、入图数据库的入口注释掉,防止Neo4j数据量持续飙升。后续需要排查为什么会一直产生kafka血缘消息、并且消费成功、入库成功。