AtlasGraph 金融级分布式高性能图数据库的构建 沈游人@海致 2022-03-12 • https://www.haizhi.com/ • https://www.stargraph.cn/ 海致简介—企业级知识图谱开创者 !45-.67%&879:-;<=>? PQT™+š›kœ•kˆ‰ržŸŠ‹\Œ• ¡k¢£k¤¥—˜'1¦ §>,-¨©h'ª«TFk¬KIEF-\Œ•®¯JK…•”•‘’“L !"#$%&'()* !"##$%&'() "#* +,-$.'/0%&12345678)9:;< =>?@AB'CD:;<=,-1EFGHIJKLM#MNO'PQRSTU VW?3X'?YZ[\]^_`aSbcdef#*ghL 北京中关村总部 深圳研发中心 +",-./012!3 +ijkVjkljkmjkhlnkolnk)p$qrs#tujvwxyE Fkz{|khP}z{~k•€}z{~rN##tz{`•'pU‚>kpƒ „…F†%r‚‡ˆ‰jFŠ‹Œ•Žˆ…••‘’“”•–—˜L 上海应用中心 武汉运维中心 海致高性能图计算院士专家工作站 !"#$%&'()*'+, -./01123456+789'+:(;<=> 3-.789+?@ABCD-.789<EFGH +'IJKDL.MNO78PQR<ESTUHV WPXYZ[ %&MNOh7812i,/jk \]\^_`a\bcD%&'(:456+789'+:(;<defgMNOh7812i,/jk[ MNOh78lMNO783h78mn(;opqrHsH(;TtDuvKwxy6z{3y| }~•H€•‚APQRƒ„Dl789…†‡ˆs‰Š‹MŒ[ q+Fp3•eŽsD••‘’…XH.q“”h~••–—˜™š›œ™•žDŸ §¨<D©ªx‘’'(‡ˆH‰Š«¬[ ¡¢£Hh78¤¥¦r 金融领域图技术应用特征简介 AtlasGraph架构及实现 总结展望 “世界是复杂关系的总和”—— 一张典型的知识图谱 Mac地址/IP 地址/wifi... 商品 设备 转账/大额转账/频繁转账/... 电话/同通讯录/ 购 向 . 意 / / .. 买 买 购 购 已 在 潜 登 录 /连 手机号 绑定同账户/... / 买 接 有 拥 账户 商品 父子/组合/继承 持有 拥有 亲属/同事/一致行动人/担 保同地址/同设备登陆/... / 询 查 个人 客户 际控制人 机构 客户 操作 意向签署/... 署/ 签 期 合约 借贷/集团/控股/上下游... 拥 有 /抵 已签署/过期签署/ 员工 股权/资管计划/资金往来/担保/ 董监高/就职/ 实 署/过 签 已 / ... 署 签 意向 押 /质 押 资产 金融领域的图分析典型特征 Write Query Read Query 混合负载 数据量庞大 多跳查询 & 子图分析 时效性/QPS要求高 AtlasGraph研发背景 • • • • 业务对大图分析的诉求(千亿点、万亿边) 实时风控对图库的性能挑战(OLTP毫秒级响应) 海致图平台产品服务于金融、政府行业有大量业务经验积累(接近客户需求) 基于ArangoDB的内部优化版本:AtlasDB(受限于基础架构设计,优化性能有限) 金融级分布式图数据库需具备的特性 • 高可用 • 一致性(事务) 信 特性 达 • 高性能 • 低资源消耗 雅 • 易用 • 功能丰富 AtlasGraph关键特性 云原生 HTAP 易用 Cloud-Native Graph Database 支持弹性伸缩,有效利用硬件 资源,高可用,高可靠,故障 自愈,低成本运维 Hybrid Transactional/Analytical Processing,高性能图计算引擎, AQL(Atlas Graph Query Language), 高性能 MPP 实时大图 支持万亿节点存储及流式计算 引擎的结合,最新数据实时入 库构图,为在线业务决策分析 提供有力支撑 预置20余种图计算算法,可扩 展的分析引擎支持更复杂的数 据挖掘和机器学习场景 基于Rust开发的分布式存储引 擎及图计算引擎,精细的内存 管理设计,内置索引系统,支 持毫秒级的并发查询响应速度 类SQL的图查询语言,内置上 百种分析函数,面向分析师友 好,拥抱标准,基于 openCypher向ISO GQL迈进 Massively Parallel Processing架 构,大规模集群分布式存储及 并行计算,Shared Nothing模 式支持存储计算分离 金融领域图技术应用特征简介 AtlasGraph架构及实现 总结展望 AtlasGraph架构概览 应用层 Atlas Studio Atlas Client Atlas 图平台 - 基于RUST语言保证性能优势 - 分布式架构性能可线性扩展 Graph Server Meta Server Store Server 基础 设施 Cypher AST 计划器 RBO/CBO 服务接口 HTTP/RPC Spark 连接器 Python UDF 元数据 索引管理 分片管理 集群管理 用户权限 容灾保障 (BR) 事务管理 MVOCC -MVOCC保证事务一致性 可靠 索引 B-Tree -在线备份提供容灾保障 执行器 - 配合Atlas图平台,实现无代码图分析 KV存储 Docker - 针对大规模图优化的存算引擎 -多副本管理保证数据服务高可用 一致性存储 RAFT 副本管理 CRAQ 高速 - Query性能分析模块,启发式提示优化 X86/ARM 易用 - 内置多种分析函数,面向分析师友好 Why Rust? Performance • Blazingly fast and memory-efficient • No runtime or garbage collector Reliability • Guaranteed memory safety • “Fearless Concurrency” Productivity • Modern development tools • Lots of amazing libraries Rust编译通过了bug比cpp少上百倍!!! 图模型——Labeled Property Graph Model Labels Properties Types (or classes) of vertices and edges Arbitrary (key,value) pairs where key identifies a property and value is the corresponding value of this property 查询语言:基于Cypher贴合ISO GQL Standard 类SQL语言,简单易用,面向分析师友好 • Incorporate by reference specifications from SQL/Framework and SQL/Foundation • Capabilities needed by both SQL/PGQ (Property Graph Queries in SQL) and the GQL standard • GQL Specific Capabilities 2019-09 – 39075 Database Language GQL project approved - this is the start 2021-03 – CD Ballot starts 2021-06 – CD Ballot comment resolution 2021-09 – DIS (Draft International Standard) Ballot 2022-02 – Comment resolution 2022-05 – FDIS (Final DIS) Ballot 2022-08 – International Standard AtlasGraph技术架构 • 用户和客户端 • 计算层 • 处理查询请求 • 无状态、不存储数据 • 元数据服务器 • 存图的schema、ID分配情况、server view • 数据存在KVEngine • 分布式事务 • MVOCC • Sequencer和Resolver • 分布式存储(Log Layer) • 多Shard、多副本 • KVEngine:rocksdb、lmdb 查询引擎-计算请求执行流程 Cypher (a)-[:LIKES]->(b) Cypher AST Unresolved Logical Plan Program API Analysis rules Logical Plan Optimization rules: MATCH -> pushdown Optimized Logical Plan Planning Strategies Physical Plan Cost model Graph Execution Code Gen JIT Pushdown filter Storage backend(Property Graph KV store) 偏向分析型的分布式事务 分布式事务技术方案 【MVOCC事务提交】 基于多版本乐观并发控制技术的分布式事 务实现,在保障一致性的前提下,提供优 秀的分析性能 MVOCC 处理流程 高可用技术方案 数据高可用实现 基于Chain Replication(CRAQ) 算法实现,进行数据副本处理,头 结点写,多结点读,支持读写分离, 提供更好的并发查询能力 Chain Replication 数据高可用方案 服务高可用实现 系统中Meta,TS服务采用主备架 构,基于Raft算法实现租约,进行 服务多活,保证图库不会出现单点 故障。 Raft 服务高可用方案 REPL命令行客户端 WebUI 面向分析师,提供图模型定义、数据管理、图查询分析、服务状态监控、用户管理能力 图模型设计 免代码,可视化定义实体、 边,设计图模型。 【亮点】 • 支持模型导入导出 • 拖拽式关系构建 • 丰富的样式配置 • 实时图结构预览 • 用户授权管理 • 中文及显示别名支持
金融级分布式高性能图数据库的构建
文档预览
中文文档
24 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共24页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 路人甲 于 2022-08-13 07:21:09上传分享