结合TDSQL系统的特点,研究团队提出并实现了一个轻量且高效的全时态数据库系统,该系统可以在保留原有TDSQL强劲的OLTP处理性能的同时,通过巧妙的系统设计,提供了内建的时态数据管理能力。

存储

TDSQL全时态数据库系统创新性地采用了一种混合存储模式,来对时态数据进行管理。系统将时态数据拆分为当前数据和历史数据,针对不同的数据类型,分别采用不同的存储策略。当前数据管理模块,采用了基于MVCC(多版本并发访问控制协议)设计的数据库所普遍采用的段页式结构,并且专门开辟回滚段,来对更新或删除操作产生的旧版本进行暂存。在回滚段中暂存的数据会在数据库进行资源回收操作(如MySQL中的Purge和PostgreSQL中的VACUUM等)时,迁移到历史数据管理模块,这个过程被称为数据转储。这是一种异步的转储策略,因而几乎不会造成性能损耗。历史数据存储模块,通过k-v格式来进行组织,可以大幅度缩小存储开销。由于一个数据项会存在多个历史版本,而这些历史版本会在某些属性上存在一样的值,例如表一中的James被重复四次。因此,在历史数据存储模块中,系统将每一个版本转化为一条k-v,并且只存储相较于上一个版本发生变化的属性值。

查询与事务处理

系统对时态查询处理逻辑进行了针对性设计与优化。通过专门的时态查询编译器,部分时态查询条件(如有效时间查询)会被重写并拼接到WHERE条件中。而对于事务时间查询,系统将其查询条件转化为了内嵌的可见性判断过程,从而使得时态查询所获取的数据满足事务一致性的要求,保证数据的准确性,这点在金融场景下显得尤为重要。另外,通过持久维护事务状态,系统可以快速获取到事务的执行状态,结合时态数据,即可原生支持事务级数据闪回等实用操作。对于历史数据,系统利用k-v存储的特性,可以根据时间条件快速定位到所需数据版本,具备了较好的时态查询性能,且在SQL语句的写法上方便用户直接使用SQL语句进行查询。

架构设计

系统体现了HTAC(Hybrid Transaction / Analytical Cluster,混合事务/分析集群)这一新型的系统架构设计理念。TDSQL全时态数据库系统分为OLTP集群和OLAP集群,OLTP集群负责事务型业务,OLAP系统处理分析型业务,提供历史数据的查询分析等功能。通过统一路由模块根据查询语句、查询操作的语义将SQL发送到对应集群进行处理。由于时态数据查询等负载需要占用大量系统资源,这种拆分的系统设计可以尽量影响减小生产系统受到的性能影响。其次,历史数据量级较大,OLAP集群通过扩展存储的方式,即可实现历史数据的无限存储。

论文贡献

1. 论文提出了一种拓展的时态数据模型。 除了在SQL:2011中定义的有效/事务时间属性外,本模型通过新引入的事务ID属性描述时间。 MIN_ID与创建记录的事务相对应,MAX_ID对应于删除/更新记录的事务。 事务ID能够识别在同一事务中插入/更新/删除的所有记录,从而实现由于业务逻辑破坏数据的修复。

2. 论文提出了一种内建的时态数据库解决方案,并针对TDSQL进行了大量优化,最终实现了TDSQL全时态数据库系统。同时,该解决方案具有很强的通用性,可以方便的引入到其他数据库系统中。通过引入异步数据迁移、增量历史数据管理、原生时态查询执行器等策略,该解决方案具有轻量且高效的特点。

3. 通过在真实场景和TPC基准负载下的大量实验,TDSQL全时态数据库系统具有非常小的性能损失(相较于原始TDSQL系统),并且能够快速响应时态查询,与其他现有的时态数据库系统相比具有较好的性能。

系统测试

通过TPCC测试基准,论文展示了时态数据管理对原有系统性能的影响情况。在256、512、1024个数据仓库的场景下,基于TDSQL实现的全时态数据库系统的系统性能相较于原始TDSQL下降率不到10%,领先于其他基于传统关系数据库实现的时态数据库系统。

另外,基于真实的批处理业务场景,论文展示了系统在实际业务场景下的表现。通过连续30天对比原始系统和新型全时态数据库系统(T-TDSQL)在处理该业务时所需的执行时间,实验结果展示腾讯全时态数据库系统在简化业务应用开发的同时,可以缩短近一半的业务执行时间。

对于该论文,VLDB评审委员会做出如下点评:This paper extends the TDSQL system from Tencent for temporal data management. A new temporal data model is proposed with optimized implementation. Extensive experimental study has been conducted to compare the performance with existing temporal database systems over benchmarks and real data.

本文由博客一文多发平台 OpenWrite 发布!

揭秘腾讯TDSQL全时态数据库系统简介相关推荐

  1. VLDB 2019 | 揭秘腾讯TDSQL全时态数据库系统

    导语:全时态数据为数据安全.数据重演.数据挖掘和AI技术的施展提供了物理基础.这篇入选VLDB 2019的论文介绍,基于腾讯云TDSQL扩展而来的全时态数据库系统(T-TDSQL),在保证OLTP性能 ...

  2. 腾讯TDSQL全时态数据库系统论文入选VLDB

    当地时间2019年8月26至30日,VLDB 2019会议在美国加利福尼亚召开,腾讯分布式数据库TDSQL与中国人民大学最新联合研究成果被VLDB 2019接收并将通过长文形式发表.VLDB是国际数据 ...

  3. TDSQL 全时态数据库系统--核心技术

    本文大纲: Design 全时态数据模型 研究动机 数据模型 数据模型示例 历史态数据存储 数据转储时机 存储格式 存储模式 转储效率 历史态数据可见性判断  Design 本节讨论T-TDSQL的关 ...

  4. TDSQL 全时态数据库系统 -- 典型案例

    本文大纲: 经典案例 增量计算 对账业务 对账优化 安全 联机闪回 业务分析 数据重演 数据分析 经典案例 增量抽取.增量计算等都是T-TDSQL的经典案例.如下以增量计算为例,来分析T-TDSQL在 ...

  5. TDSQL 全时态数据库系统-理念与愿景

    本文大纲: Abstract Introduction 研究动机 TDSQL整体架构 TDSQL对时态数据库的需求 T-TDSQL核心技术与系统的价值 T-TDSQL解决了的问题 Acknowledg ...

  6. 腾讯基于全时态数据库技术的数据闪回

    作者简介:李海翔,网名"那海蓝蓝",腾讯金融云数据库技术专家.中国人民大学信息学院工程硕士企业导师.著有<数据库事务处理的艺术:事务管理和并发访问控制>.<数据库 ...

  7. 为数据赋能:腾讯TDSQL分布式金融级数据库前沿技术

    作者简介:李海翔,网名"那海蓝蓝",腾讯金融云数据库技术专家.中国人民大学信息学院工程硕士企业导师.著有<数据库事务处理的艺术:事务管理和并发访问控制>.<数据库 ...

  8. 为数据赋能 | 腾讯TDSQL分布式金融级数据库前沿技术

    点击蓝色字关注"数据库技术大会" 一起玩耍哦~ 作者简介 李海翔,网名"那海蓝蓝",腾讯金融云数据库技术专家.中国人民大学信息学院工程硕士企业导师.著有< ...

  9. 国产数据库领域屡次率先突破,腾讯TDSQL亮相CNCC 2019!

    一款的优秀国产分布式数据库应该表现如何?尽管你可能没有察觉,但领先的数据库产品已经在产业化的道路上越走越远.越走越深入,助力行业数据库实现全面自主可控. 日前,CCF主办的2019 中国计算机大会(C ...

最新文章

  1. 数据结构 -- 散列表
  2. 【windwos bat】批量把windows下的wav文件转为raw文件
  3. Matlab中的一些小技巧
  4. Yii 之分页 + bootstrap
  5. [转]【无私分享:ASP.NET CORE 项目实战(第十四章)】图形验证码的实现
  6. cython python3_30倍!使用Cython加速Python代码
  7. adpater里写toast_如何在Android中显示Toast?
  8. Linux下内存buffer和cache的区别
  9. 算数运算符与关系运算符_【Flutter 110】Flutter手把手教程Dart语言——运算符
  10. post postman 传递数组对象_okhttp传递数组参数
  11. Java Script之创建对象
  12. 编译OpenJDK8:CoreLibraries.gmk:37/e_acos.obj/BuildJdk.gmk:70/Main.gmk:116/错误
  13. CentOS使用DNF配置
  14. Seaweedfs安装配置使用及mount挂载
  15. 视频监控 ezuikit.js
  16. 卡巴斯基破解版 KISV8.0.0.432 Beta 江南混混汉化特别版
  17. 注册界面模板HTML+CSS
  18. 金蝶KIS保存记账凭证的时候提示“在清除未下设辅助账的科目所在的会计分录中的核算项目代码时出现冲突或错误,凭证还没有被保存,请您稍后重试。”错误
  19. Moebius中间件
  20. 三部门禁止对新能源车限购 专家:京沪情况复杂,政策仍不明朗

热门文章

  1. 功率器件参数测试仪系统@半导体器件电学特性测试
  2. 【P】1. 软件下载
  3. postgres 数据库 citus 集群分片
  4. opencv证件照背景替换
  5. QuteCom手记:Phapi/exosip事件②INVITE的响应
  6. 基本算法-欧几里德算法(辗转相除法)
  7. 个税改革3个月减税约千亿 7000多万人工薪不再缴税
  8. 数商云家居行业解决方案:提高采购、管理效率和服务水平
  9. matlab 矩阵ks检验,matlab矩阵的一致性检验
  10. CommunicationsException: Communications link failure; 项目启动遇到数据库报错