微众银行的NebulaGraph实践:高可用与性能提升

0 下载量 33 浏览量 更新于2024-08-27 收藏 1.06MB PDF 举报
“NebulaGraph在微众银行的实践,解决数据血缘问题,对比JanusGraph的优缺点,以及NebulaGraph的高可用和容灾架构支持。” 微众银行在数据治理中面临着数据血缘追踪的挑战,为此他们最初选择了JanusGraph作为图数据库解决方案。JanusGraph是一个分布式图数据库,其数据存储在HBase上,索引则存储于Elasticsearch。然而,JanusGraph的复杂性在于它依赖多个组件,包括HBase和Elasticsearch,这在满足分布式高可用和两地三中心架构规范时带来了诸多技术难题,如高可用性问题的解决。此外,JanusGraph的数据写入性能也是一个瓶颈,尽管可以通过参数调整和安全性能提升进行优化,但效果有限。 在处理大约每天60万个点和百万级边的数据时,JanusGraph系统需要约5小时才能完成写入,这显然无法满足实时业务需求,特别是当业务方需要使用血缘数据时,大数据平台无法及时响应。 为了解决这些问题,微众银行转向了NebulaGraph。NebulaGraph在单节点低配置机器上的表现显著优于JanusGraph,能在20分钟内完成相同规模数据的导入,显示出了优秀的写入性能。对于查询性能,尽管微众银行的大数据平台要求不高,NebulaGraph依然能够满足需求。更重要的是,NebulaGraph的架构设计天然支持高可用和容灾,符合微众银行严格的架构规范,使其成为理想的替代方案。 此外,NebulaGraph提供的大数据组件,如Connector和Exchange,使得它能更好地融入微众银行的大数据生态系统,与现有工具无缝对接。在WeDataSphere架构中,数据从应用层生成,经过数据交换层的工具传输到图数据库系统。数据层通常分为批量数据、流式数据和在线数据三个部分,而数据交换则涉及各种工具和技术,以确保数据在不同系统间的高效流动。 在金融行业中,图数据库的应用广泛,尤其是在合规、风险管理和欺诈检测等领域。NebulaGraph的出色性能和高可用性使其在微众银行这样的金融机构中扮演了关键角色,有效地解决了数据治理和实时分析的需求。通过选择NebulaGraph,微众银行能够提高数据处理效率,降低运维复杂性,并且满足了业务连续性和灾难恢复的高标准。