《专场6.2-Hubble Ai-native数据库存储之列存-乔旺龙.pdf》由会员分享,可在线阅读,更多相关《专场6.2-Hubble Ai-native数据库存储之列存-乔旺龙.pdf(24页珍藏版)》请在三个皮匠报告上搜索。
1、Hubble Ai-Natve数据库混合存储之列存乔旺龙+天云数据+分布式平台负责人Hubble数据库架构图逻辑计划图应用图表达图数据存储索引逻辑PageRank社团分析广度优先搜索(BFS)关联性分析深度优先搜索(DFS)最短路径相似性发现随机游走接口层管理接口TinkerPop接口GremlinSQL逻辑计划JDBC接口管理接口库表管理权限管理系统管理事务管理分片管理服务管理SQL解析JDBC服务资源管理Web管理服务客户端混合计算框架混合存储存储层(Storage)存储/索引引擎(Storage Engine)分片(Shard)分片(Shard)分片(Shard)分片(Shard)存储层
2、(Storage)存储/索引引擎(Storage Engine)分片(Shard)分片(Shard)分片(Shard)分片(Shard)存储层(Storage)存储/索引引擎(Storage Engine)分片(Shard)分片(Shard)分片(Shard)分片(Shard)执行器(Execution)数据扫描(条件下压)内存计算任务管理执行器(Execution)数据扫描(条件下压)内存计算任务管理执行器(Execution)数据扫描(条件下压)内存计算任务管理混合资源管理资源管理AP/TP任务分配资源告警资源收集资源池资源分配资源管理AP/TP任务分配资源告警资源收集资源池资源分配资源管
3、理AP/TP任务分配资源告警资源收集资源池资源分配逻辑计划融合-图逻辑计划融合实现数据结构映射 图的存储结构映射到Hubble的存储层 图的索引结构映射Hubble的索引 通过SQL可以查看图的底层数据多源异构图结构 图的节点、边、属性等映射为数据库的表和字段等 图的数据可以供给Hubble的计算层 通过SQL可以方便的访问图的数据,且可以把结构化数据转换为图的数据结构支撑图算法 用Hubble的计算引擎支撑图的算法 在统一的组件中实现图的AP、TP操作 图算法计算结果可以直接在图库中表达兼容Gremlin 延续用户使用图数据库习惯 Gremlin中扩展SQL表达,可以同时操作结构化数据和图结
4、构数据数据复用 在实际应用中,没有必要把全部的数据加载到图库中 因为图结构和数据库结构为一体的所以图的数据直接调用数据库中的数据 图结构更适合高维的表达,数据库结构更适合表结构数据实现互补混合存储混合存储数据映射数据映射多源异构图数据库逻辑SQL接口接口ThinkerPop API-Gremlin混合计算引擎混合计算引擎嵌入接口服务供数分析任务读取数据管理管理API存取数据用户用户数据转换名称名称中文中文描述描述Dataspace数据空间是一个分布式空间,通常一张表对应一个dataspace,一个dataspace对应多个Shard,dataspace可以是独占的存储空间也可以是非独占空间。E
5、xclusivespace独占空间是dataspace的一种,可以通过dataspace中的一个属性来描述,通常这个空间会在磁盘上有独占的存储目录,与其他空间是物理隔离的,独占空间包含多个shard,所有的shard属于同一个dataspace,属于同一张表。Non-exclusivespace非独占空间是dataspace的一种,可以通过dataspace中的一个属性来描述,会与其他非独占空间的dataspace共用磁盘目录,通过逻辑来隔离,非独占空间会包含多个shard,多个shard可能属于多个dataspace,属于多张表。Diskstorage磁盘存储1个diskstorage指的就
6、是一个磁盘目录,也就是一个存储的实例。磁盘Diskstorage1(目录1)Diskstorage2(目录2)Diskstorage N(目录N)服务器磁盘1Diskstorage1(目录1)Diskstorage2(目录2)DiskstorageN(目录N)磁盘2Diskstorage1(目录1)Diskstorage2(目录2)DiskstorageN(目录N)磁盘NDiskstorage1(目录1)Diskstorage2(目录2)DiskstorageN(目录N)DiskstorageShard1(规则1)Shard2(规则2)Shard N(规则N)存储样例服务器1磁盘1Diskst
7、orage1(目录1)Diskstorage2(目录2)shard1shard2shard3shard7shard8shard9”磁盘2Diskstorage3(目录1)Diskstorage4(目录2)shard4shard5”shard6”shard10shard11shard12”服务器3磁盘1Diskstorage9(目录1)Diskstorage10(目录2)Shard1”Shard2”Shard3”Shard7”shard8Shard9磁盘2Diskstorag11(目录1)Diskstorage12(目录2)Shard4”shard5shard6shard10”shard11sh
8、ard12服务器2磁盘1Diskstorage5(目录1)Diskstorage6(目录2)shard1shard2shard3Shard7shard8”shard9磁盘2Diskstorage7(目录1)Diskstorage8(目录2)shard4shard5shard6shard10shard11”shard12Dataspace1非独占空间图例:Dataspace2非独占空间Dataspace3独占空间假定有3台服务器,每台服务器有两块磁盘,总共有3张表:表1对应 Dataspace1表2对应 Dataspace2表3对应 Dataspace3表1 为非独占空间非独占空间,有2个sha
9、rd分别是shard1和shard4表2 为非独占空间非独占空间,有4个shard分别是shard2、shard3、shard5、shard6表3 为独占空间独占空间,有6个shard分别是 shard7、shard8、shard9、shard10、shard11、shard12从图中可以看到表1 和 表2共用一个磁盘目录,表3单独占用了一个磁盘目录注:因为对应的线过多,图中仅画shard1和shard2的复制路径独占空间的进一步细化,针对多个目录下如何分片数据。图逻辑计划-数据结构映射存储结构存储结构描述描述图ID图的ID数据管理,负责图ID自动生成,复用序列管理节点序列边序列属性标签序列等
10、数据存储用于存储点、边、属性、标签等数据图索引图的索引管理,复用Hubble的索引系统参数系统参数表Hubble混合存储提供分布式KV接口数据结构映射需要把图的点、边、属性、标签等内容映射到KV的数据结构中图数据库ID,复用数据库分布式序列管理图索引,复用数据库的索引机制1、通过多源异构的方式,实现了图的SQL表达:通过SQL来访问图的点、边、属性等数据2、图的批量数据加载,只需一条SQL语句(create table as 或者 insert into select*from)3、对分析类操作直接在Hubble数据库的计算层和调度层处理,真正实现图数据库的一体化结构化表达边点属性标签Hubb
11、le关键技术点 数据一致性Mastermaster1master2master3Client机器1ShardServer1Shard1Shard2.机器2ShardServer2Shard2Shard1.机器3ShardServer3Shard3Shard1.机器4ShardServer4Shard3Shard2.Shard3Raft GroupsHubble Store刷新路由表访问RouteShard1LeaderShard1FollowerShard1Follower日志复制日志复制Shard2LeaderShard2FollowerShard2Follower日志复制日志复制Clien
12、tHubble关键技术点-高并发存储行存储格式3种sharding机制等值哈希范围数据sharding基于LSM KV储存结构流程说明:流程说明:客户端通过不同的接口访问形式,直接访问主服务节点服务主服务节点收到服务请求进行分析处理,分配到不同的分配服务节点执行分片服务节点收到执行请求,进行sql解析处理并执行SQL计划SQL执行服务底层存储数据进行处理访问,并反回处理结果Zookeeper保证相关服务应用的高可用HDFS持久化底层存储数据,并利用三副本技术保证数据不丢失索引index_id为自增二级索引可以删除、修改等操作每个二级索引对应一个ColumnFamily,CF名称index na
13、meKeyIndex_id,NULL-byte,二级索引列,主键列二级索引字段为索引的IDValue主键在key的起始位置存储和索引在同一存储和索引在同一个个shard中中KV索引索引倒排索引倒排索引复合索引、索引选复合索引、索引选择评分机制使用最择评分机制使用最匹配的索引映射查匹配的索引映射查询询Hubble关键技术点-高并发索引Hubble关键技术点-高并发事务事务事务开始,记录事务唯一ID,执行操作,记录修改的shard,执行预提交动作,提交或回滚MVCC读取使用快照读取,存储层每次写入都是追加写入,通过覆盖机制进行数据变更写入时当前采用锁机制写事务读事务全局事务:2PC本地事务:LOC
14、K全局转本地Hubble关键技术点-高并发事务高并发事务分布式事务控制2PC执行步骤1、开始事务,产生事务唯一ID(UUID)2、执行操作、记录修改的Shard3、执行预提交4、执行提交或回滚MVCC机制1、每次读取都是当前状态下的快照2、每次写入都是追加写入,通过覆盖机制实现数据变更锁机制悲观锁1,事务开始锁定需要记录的Key2、事务结束释放Key乐观锁1、事务开始不做任何操作2、事务结束,做事务合并,数据已经变更,事务失败回滚,数据未变更提交成功Hubble关键技术点-混合实现JDBC接口负载均衡TPAP资源控制数据索引索引算法优化LOOKUP列存储内存计算资源管理Hubble关键技术点
15、资源管理资源管理 实时获取每个shardservercpu的使用情况 以及每个任务cpu资源占用情况CPU管理内存管理 实时获取每个shardserver内存的使用情况 以及每个任务cpu资源占用情况 FIFO Scheduler 先进先出 Fair Scheduler 公平调度每个单独的任务可以指定优先级调度模式为提升AP的性能,Hubble中的表可以是列式存储,列式存储可以是一个连续的IO操作,减少随机读取列存Hubble可以指定每张表在数据入库时,或者入库后做数据统计根据数据统计值与数据分布情况,可以做boolfilter,减少数据提取的量预先统计线程的启动快速,资源占用少,启动灵活,可
16、以支持更多并发线程调度支持snappy、gz、izo、iz4等多种压缩格式,减少数据IO压缩Hubble在Shardserver的执行层实现了基于内存的计算框架,减少数据的落地内存计算Hubble关键技术点 性能保证应用场景怎么跑这么慢,今天要是不能按时开门就惨了。领导要的报表还没跑出来,要扣奖金了。今天月末了,不知道指标都完成的怎么样了?市场有新的动向,不知行内客户的反应怎么样?查到客户存了一笔钱进来,想针对客户推个新产品,结果不知道客户已经把钱取走了。一个贷款的审批流程加工好再审批都过了一天了,客户不能及时得到批复,客户反映体验不好。银行科技人员总行分行领导一线营销经理一线客户经理访问速度
17、慢,延时性高决策及时性差营销精准性差客户体验性差传统数据集市现状基于传统技术的银行数据建设现状业务科技固定报表有需求,去提工单由IT驱动变为业务驱动业务科技自助分析有需求,自助分析高效的OLAP分析业务驱动数据分析成为流行文件存储关系数据库关系数据库文件存储宽表存储Key-Value存储实时查询企业数据应用系统连接Hubble的使用价值Hubble数据库适用场景Hive加工数据性能问题Spark加工数据并发访问问题ES 开发复杂度问题Hbase开发复杂度问题Hbase数据库查询不灵活问题Kylin数据加工时效性和数据灵活访问问题Phenix组件稳定性问题数据迁移问题加工性能问题开发难度问题BI
18、分析的小屏化数据在线化AP场景高并发访问数仓消费化数据下沉数据即席服务历史数据在线服务实时数据在线服务 场景1 行业数据中台统一数据交换统一数据门户数据通道计算平台数据治理平台数据管控内部结构化数据内部非结构化数据外部结构化数据外部非结构化数据数据标准化区海量数据区数据中台图计算平台人工智能平台数据产品门 户实时流数据数据仓库非结构化数据平台行外数据平台人物画像数据魔方实时预警模型探索场景1 行业数据中台统一数据交换统一数据门户数据通道计算平台数据治理平台数据管控内部结构化数据内部非结构化数据外部结构化数据外部非结构化数据数据标准化区海量数据区数据中台HilbertMaximAI数据产品门 户
19、人物画像数据魔方实时预警模型探索Kafka+FlinkMPPHadoop HbaseElastic SearchKafka+FlinkMPPHadoop HbaseElastic Search实时数据处理多数据源系统数据源数据采集Flume定制化Agent AAgent BAgent NKafkaTopic BTopic NTopic A实时流处理StormJob BJob NJob A数据中台检索查询Hbase全文搜索索引存储Elastic Search混布数据平台Hubble数据访问方式人工智能数据挖掘KaleidoMaximAI分析展现图展现SQL/BIHilbert实时告警实时仪表盘应用系统日志Syslog网站访问日志weblog其他日志系统日志类数据实时流数据外部数据源内部数据源场景场景1 1-数据中台数据中台