腾讯TBase数据库核心原理介绍_第1页
腾讯TBase数据库核心原理介绍_第2页
腾讯TBase数据库核心原理介绍_第3页
腾讯TBase数据库核心原理介绍_第4页
腾讯TBase数据库核心原理介绍_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、腾讯TBase数据库核心原理介绍技术创新,变革未来|TBase产品架构Local DataLocal catalogDatanode1Global catalogCoordinatorTransation Info Global objectGTM-MTransation Info Global objectGTM-SGlobal catalogCoordinatorGlobal catalogCoordinatorLocal catalogDatanode2Local catalogDatanode3Local DataLocal catalogDatanode4Data Forward B

2、us 集群数据交互总线Coordinator(协调节点CN)业务访问入口,每个节点对等,对外提供一致视图Local DataLocal DataDatanode(数据节点DN)业务数据存储节点GTM(事务管理器) 全局事务管理器,协调 集群集群事务,并管理全局对象指标监控运维管理实时告警安全审计数据治理统一资源管理平台分布式锁分析|目录l T B a s e 事务核心原理 l T B a s e 分布式执行器l T B a s e 安全体系|Sharding模式事务存在的问题事务一致性的例子:假设有A,B两个账户,每个账户余额是10元,账户总额是20元,在这个2个账户之间发 生转账,无论并发多

3、少个,两个账户总额也应该还是20元。事务1A:Balance += 5B:Balance -= 5preparecommitpreparecommit事务2sum(Balance) = 10(A) + 10(B)DB1DB2事务3不一致读:sum(Balance) = 15(A) + 10(B)1010155事务4事务5sum(Balance) = 15(A) + 5(B)不一致读:sum(Balance) = 10(A) + 5(B)AB|TBase 分布式事务系统的目标完整事务能力可扩展高性能低成本低延时,高吞吐分布式事务ACID分布式事务故障恢复 分布式死锁检测硬件无关, 低成本部署处理

4、能力 随着集群 规模增加|TBase 高效可扩展分布式事务设计GTMCNCNCNDNDNDNtimestamptimestamptimestamp0302CN,DN向GTM请求时间戳CN,DN的事务向GTM请求全局时 间戳作为事务的版本标识01全局时钟同步GTM提供全局统一时间戳,进行全局 事务一致性同步04GTM单点可靠性问题多个GTM节点构成集群,主节点 对外提供服务;主备之间通过日 志同步时间戳状态,保证GTS核 心服务可靠性。高性能可扩展分布式事务通过专利技术提供高性能可扩展的分 布式事务能力,专利公开号:CN 110196760 A|TBase分布式事务提交加速:事务状态缓存gts_

5、mingts_maxbalance1710记录结构Update balance-=5;gts(7)-1-15xminxmaxGTS Store FileLRU缓存队列122-1位置(xid)gtsxid:11xid:27表文件GTS Store查询DN/CN节点0302记录头部GTS延迟写入记录创建时头部GTS无效,首次 扫描到记录时从GTS Store中获取 事务GTS信息并写入记录头部, 加速后续查询事务GTS信息单独存储DN/CN节点中使用GTS Store存储 每个事务提交的GTS信息,在事 务提交时只需要记录事务的GTS 信息,事务提交复杂度为O(1)核心要点01记录头部缓存GTS信

6、息记录头部缓存事务的GTS信息, 加速查询执行效率事务提交写入|TPCC测试结果TPCC吞吐量随着集 群规模近似线性增长,可到千万级TPSTPCC Throughput (TPMTotal)Throughput (10k)03503002502001501005024102030# of nodes405060|目录l T B a s e 事务核心原理 l T B a s e 分布式执行器 l T B a s e 安全体系 |TBase分布式查询执行策略CNDN1DN2A1 join B1数据下推CNDN1DN2数据复制CNDN1DN2重分布分布式查询设计目标:业务无需感知底层存储,像使用单机

7、数据库一样使用TBase表 A (f1,f2)分布列:f1表 B (f1, f2)分布列:f1分布列 JoinA.f1 = B.f1数据重分布A.f2 = B.f2A1B1A2B2A2 join B2A1B1A2B2A1B1A2B2小表广播A.f1 = B.f2B2B1A1join (B1 + B2)A2join (B2 + B1)A(f2)2B(f2)2A(f2)1B(f2)1A(f2)1join B(f2)1A(f2)2join B(f2)2|TBase分布式查询问题与挑战计算力数据交互存在的问题导致的结果解决方案计算能力不足节点无法快速完成 计算数据交互效率低计算等待网络数据, 降低整体

8、性能并行计算 (hashjoin、 aggregate)优化数据交互框架(单 条拉取-批量推送)|TBase分布式查询执行器并行优化并行HashJoin11 2 3 4234inner(tbl_b)1 2 3 4hash每个worker获取 全量inner(tbl_b) 数据,构建哈希 表。(多份哈希 表、效率低)获取部分outer(tbl_a)数据,计算哈希值, 并进行匹配。hashw1matchw2matchhashtablef2outer(tbl_a)f112341234inner(tbl_b)outer(tbl_a)1234hashhashmatchw1mergemergew2 mat

9、ch获取部分inner(tbl_b) 数据,构建哈希表。(快速构建)哈希表合并,得到一 份哈希表,存于共享 内存中(节省资源)获取部分outer(tbl_a) 数据,计算哈希值, 并进行匹配。partial hashtable1234shared hashtable1234f1f2|TBase分布式查询执行器并行优化并行AggregateGatherpartial results12w1Partial Aggid1221tblpartial results21w2Partial Agg获取部分数据进 行partial agg, 得到中间结果收集中间结果, 进行final agg, 得到最终结果

10、Partial AggPartial Aggid1221tblpartial results12partial results21w1hashhashredistributeredistributepartial results11w2partial results22Final AggFinal Agg数据重分布:根据group by 列计算哈希值根据哈希值将 数据共享给对 应workerlAggregate整 体并行计算l效率提升select id, count(*) from tbl group by id;lGather成为瓶颈l并行度低Final Agg|TBase并行计算优化效果

11、查询计划树社区查询计划树TBasel 增加并行力度l 发挥并行计算优 势l 提升计算能力并行执行并行执行非并行执行|TBase分布式查询执行器交互原理TBL_A.f1 = TBL_B.f2CNDN1DN2redistributionTBL_B 很大DN3TBL_A(f1-分布列, f2)TBL_B(f1-分布列, f2)localjoinlocalDN2 DN3TBL_ATBL_BlocaljoinlocalDN1 DN3localjoinlocalDN1 DN2select * from tbl_a, tbl_b where tbl_a.f1 = tbl_b.f2;lTBL_A数据为本地数据

12、l 每个节点的TBL_B数据分 为本地数据和来自其他节 点的数据数据交互l 每个节点与其他节点建立 网络连接l 通过socket从其他节点获 取计算所需数据l 通过socket将其他节点所 需数据进行共享|TBase分布式查询网络交互设计数据分发共享网络等待结束组装数据到发送缓冲区(减少两次内存拷贝)123456hash根据分布列计算哈希值DN1DN2DN3l轮询等待优先读取有数据的节点socketl批量读取每次尽可能多地读取数据,置于内存中通过内核接口将socket fd 共享给生产者发送数据由生产者负责, 消费者等待结束(没有频 繁系统调用)发送缓冲区(无锁队列)发送线程缓冲区中数据达到一

13、定量 时,批量发送socket批量发送Remote发送线程34 DN256 DN3减少内存拷贝数据批量发送无锁队列降低系统cpu简化流程,提升整体效率启动线程 发送数据read socketDN1TBL_BDN2DN3|TBase 数据交互并行化数据分发共享网络等待结束23456hash通过内核接口将socket fd 共享给生产者发送数据由生产者负责, 消费者等待结束hash发送线程发送缓冲区缓冲区中数据达到一定量 时,批量发送socket批量发送Remote发送线程W1-DN3socketW1-DN2W2-DN3W2-DN23456w1数据分发 w2DN1DN2DN3启动线程 发送数据并行

14、分发数据TBL_B1650%190%1231900102030405060708090100社区TBaseTBase并行化MB/s|TBase 分布式查询综合执行结果网络吞吐量158%性能总体提升: 2X - 10X|目录l T B a s e 事务核心原理 l T B a s e 分布式执行器 l T B a s e 安全体系|TBase三权分立安全体系数据安全体系三权分立安全管理员强制安全规则数据透明加密数据脱敏审计管理员细粒度审计用户审计SQL审计数据管理员数据权限管理数据库运维|TBase行级安全规则行级安全规则三元组姓名部门薪酬家庭信息LevelCatalogGroup蜘蛛侠工程部2

15、00XX公开成都工程部超人采购部300YY机密北京人力资 源火箭浣 熊采购部150ZZ公开成都人力资 源闪电侠工程部100EE机密北京工程部钢铁侠董事局500EE绝密北京董事局LevelcatalogGroup机密成都工程部,人力资源LevelcatalogGroup机密北京,成都人力资源成都分公 司经理:总部人力 资源经理:董事长:LevelcatalogGroup绝密北京,成 都董事局|TBase列级安全规则普通员工无授权普通员工无授权姓名部门薪酬家庭信息LevelcatalogGroup蜘蛛侠工程部200XX公开成都工程部超人采购部300YY机密北京人力资源火箭浣熊采购部150ZZ公开成

16、都人力资源闪电侠工程部100EE机密北京工程部钢铁侠董事局500EE绝密北京董事局蜘蛛侠(普通员工):LevelcatalogGroup机密成都工程部姓名部门LevelcatalogGroup蜘蛛侠工程部公开成都工程部钢铁侠(董事局主席):LevelcatalogGroup绝密北京,成 都董事局姓名部门薪酬家庭信 息LevelcatalogGroup蜘蛛侠工程部200XX公开成都工程部超人采购部300YY机密北京人力资源火箭浣 熊采购部150ZZ公开成都人力资源闪电侠工程部100EE机密北京工程部钢铁侠董事局500EE绝密北京董事局|TBase透明脱敏加密密文buffer明文executor加密加/解密storage密文用户读写脱敏授权用户 读写脱敏结果脱敏直接读取加密+脱敏授权用户 读写非授权用户 读取脱敏加/解密明文明文非授权用户 读取明文脱敏结果|TBase安全规则举例成都分公司经理:LevelCatalogGroup机密成都工程部,人力资源总部人力资源经理:LevelCatalogGroup机密北京,成都人力资源对非董事长 加密脱敏对非董事长 加密脱敏董事长:姓名部门薪酬家庭信息LevelCatalogGroup蜘蛛侠工程部200XX公开成都工程部超人采购部300YY机密北

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论