更新时间:2024-11-29 GMT+08:00
GraphBase基本原理
GraphBase简介
互联网时代,随着网络技术的发展,企业积累的数据越来越多。伴随着数据集的不断增加,传统的关系型数据库查询性能会随之变差,特别是针对一些特殊的业务场景,所以迫切的需要一种新的解决方案去应对这种危机。为了解决复杂的关系问题,图数据库应运而生。
图数据库,是指以“图”这种数据结构存储和查询数据,图包含节点和关系,节点和关系可以存在标签和属性,且边可以有方向。GraphBase是分布式图数据库,基于HBase的分布式存储机制,能够支持百亿节点,千亿关系的海量数据,提供基于Spark的数据导入和基于Elasticsearch的索引机制,在推荐、关系分析和金融反欺诈等领域有广泛应用。系统具有如下特点:
- 全分布式,Hadoop生态无缝集成。
- 百亿点千亿边,秒级查询。
- 提供易用的Rest接口,方便数据的查询分析。
- 提供强大的Gremlin图遍历功能,可实现复杂的业务逻辑。
- 支持离线批量导入和实时流导入,对导入性能进行深度优化。
GraphBase架构
GraphBase包含GraphServer和LoadBalancer角色。
- GraphServer:包含GremlinServer和StandardServer服务,GremlinServer负责gremlin图查询服务,StandardServer负责REST服务等;系统启动时,meta_graph图先启动,meta_graph图负责存储多图元数据、异步任务等;ZooKeeper负责监控服务中活着的实例,并提供分布式锁服务。
- LoadBalancer:提供图服务的负荷分担能力。
GraphBase架构如图图1所示。
- 接入层
- Gremlin API:引入开源的Apache TinkerPop Gremlin组件,提供开源标准图交互式查询语言接口;
- REST API:提供包含图查询、图修改、图管理的在线分析图算法在内的全套接口;
- 通过Load Balancer提供多实例GraphServer的负荷分担。
- 计算层
- 提供图数据库核心引擎,包括数据管理、元数据管理等;
- 后端存储和索引接口适配层。
- 存储层
- 分布式KV存储:提供海量图数据存储能力;
- 搜索引擎提供二级索引,全文检索、模糊检索等能力。
GraphBase典型应用场景:
- 金融反欺诈
- 知识图谱
- 关系分析
父主题: GraphBase