“家家泉”完成近亿元B轮融资,沣途资本领投
06-17
【编者注:全时态数据为数据安全、数据回放、数据挖掘和人工智能技术提供了物理基础。 VLDB选取的本文介绍了基于腾讯云TDSQL扩展的全时态数据库系统(T-TDSQL),在保证OLTP性能的同时提供轻量级的全时态数据管理功能和全时态数据。
数据事务处理能力以及融合生产系统当前数据和分析系统历史数据的集群架构,构成了全时态数据的完整解决方案。 】前言:腾讯与中国人民大学自2018年开始在前沿数据库领域开展研究,依托腾讯TEG计费平台部丰富的实践经验以及数据工程与技术重点实验室多年的学术积累。
中国人民大学教育部知识工程.通过深入合作,研究成果连续两年入选国际顶级会议VLDB。 (TDSQL带你进入数据库VLDB | 论文概述)。
VLDB会议是数据管理和数据库领域国际公认的三大顶级学术会议(SIGMOD、VLDB和ICDE)之一。旨在展示和推广该领域的最新研究成果和核心技术。
自2011年创办以来,VLDB会议已成功举办44届。每年,VLDB都会吸引大量来自世界各地的优秀研究人员、企业代表和行业精英。
这是一场不容错过的学术盛会。 VLDB会议将于当地时间8月26日至30日在美国洛杉矶举行。
届时,团队将公开展示这项研究成果,敬请期待。去年通过VLDB上的DEMO论文展示了协作成果MSQL+(基于TDSQL的插件式近似查询工具,TDSQL中的轻量级高效时态数据库管理系统)后,成功被VLDB Industry Track接收,并将发表在长文章的形式。
研究成果论文由腾讯TEG计费平台部TDSQL数据库团队和中国人民大学数据工程与知识工程教育部重点实验室共同完成。论文介绍了一种基于TDSQL扩展的全时态数据库系统,保证了OLTP。
在性能前提下,提供轻量级的时态数据管理功能。本文将对论文的研究成果进行详细的分析和解读。
图1 VLDB官网截图。腾讯TEG计费平台部门拥有多年数据库实际研发经验。
TDSQL是金融级分布式数据库,承载着腾讯90%的金融、交易、计费业务。今年起,TDSQL通过腾讯金融云平台提供稳定可靠的云数据库服务。
目前在公有云上服务超过40家金融机构,为超过44家银行和政府企业(包括中国银行、微众银行等)提供服务,自有云服务在业界享有良好的声誉。中国人民大学数据工程与知识工程重点实验室在数据库基础研究领域具有深厚的基础。
作为国内最早开展数据库相关研究的实验室,曾荣获国家科技进步二等奖、教育部科技进步一等奖。奖项及其他荣誉。
2.研究背景时态数据主要指随时间变化的数据,如温度、账户余额等数据。时态数据在现实生活中非常常见,而在金融场景中,数据库层面的时态数据管理尤为重要。
例如,在财务审计时,需要获取11月8日到11月10日期间账户余额的变化情况。如果通过传统数据库(RDBMS)中的普通关系表来管理账户余额(如图1所示) ,账户余额的变化不会被维护,因此上层应用需要通过日志等形式额外记录余额的每一次变化。
这会大大增加应用的复杂度;通过表2所示的时态数据表,余额变化在数据库中原生维护,可以准确获取余额变化数据(表中红色标记的数据)。表1 常用关系表ID名称余额时间 r1James11-12 00:00:10r2David10-20 20:40:00r3Jack11-08 10:12:43 表2 时态数据表 三系统介绍 结合TDSQL系统的特点,研究团队提出并实现了一个轻量级、高效的全时态数据库系统。
该系统通过巧妙的系统设计,可以保留原有TDSQL强大的OLTP处理性能,同时提供内置的时态数据管理能力(如图2所示)。图2 系统概述 3.1 存储 TDSQL全时态数据库系统创新性地采用混合存储模型来管理时态数据。
系统将时态数据分为当前数据和历史数据,针对不同的数据类型采取不同的存储策略。目前的数据管理模块采用基于MVCC(多版本并发访问控制协议)设计的数据库中常用的段页结构,并专门开辟回滚段来临时存储更新或删除操作产生的旧版本。
当数据库进行资源回收操作(如MySQL中的Purge和PostgreSQL中的VACUUM等)时,临时存储在回滚段中的数据将被迁移到历史数据管理模块中。这个过程称为数据转储。
这是一种异步转储策略,因此几乎没有性能损失。历史数据存储模块以k-v格式组织,可以大大减少存储开销。
因为一个数据项会有多个历史版本,而这些历史版本在某些属性上会具有相同的值,例如表1中的James就重复了四次。因此,在历史数据存储模块中,系统将每个版本转换为k-v,只存储与之前版本相比发生变化的属性值。
3.2查询和事务处理系统对时态查询处理逻辑进行了针对性的设计和优化。通过专门的时态查询编译器,一些时态查询条件(比如有效时间查询)会被重写并拼接成WHERE条件。
对于事务时间查询,系统将查询条件转化为嵌入的可见性判断过程,使得时间查询得到的数据满足事务一致性的要求,保证数据的准确性。这在金融场景中尤为重要。
尤其重要。另外,通过持久化维护交易状态,系统可以快速获取交易的执行状态。
与时态数据结合,可以原生支持事务级数据闪回等实际操作。对于历史数据,系统利用k-v存储的特性,根据时间条件快速定位到需要的数据版本。
具有良好的时态查询性能,SQL语句的编写方便用户直接使用SQL语句进行查询。 3.3 架构设计 系统体现了HTAC(混合事务/分析集群)全新的系统架构设计理念,如图3所示。
TDSQL全时态数据库系统分为OLTP集群和OLAP集群。 OLTP集群负责事务性业务,OLAP系统处理分析性业务,提供历史数据查询、分析等功能。
通过统一路由模块,根据查询语句和查询操作的语义将SQL发送到相应的集群进行处理。由于时态数据查询等工作负载需要大量的系统资源,这种分体式系统设计可以最大限度地减少对生产系统性能的影响。
其次,历史数据量级大,OLAP集群可以通过扩展存储来实现历史数据的无限存储。图3 T-TDSQL全时态数据库系统架构 图4 论文贡献 1.本文提出了一种扩展时态数据模型。
除了SQL:中定义的有效/事务时间属性外,该模型还通过新引入的事务ID属性来描述时间。 MIN_ID 对应于创建记录的事务,MAX_ID 对应于删除/更新记录的事务。
事务ID可以识别同一事务中插入/更新/删除的所有记录,从而能够修复因业务逻辑而损坏的数据。 2、论文提出了内置时态数据库的解决方案,对TDSQL进行了大量的优化,最终实现了TDSQL全时态数据库系统。
同时,该解决方案具有很强的通用性,可以轻松引入到其他数据库系统中。通过引入异步数据迁移、增量历史数据管理和原生时态查询执行器等策略,该解决方案轻量且高效。
3.通过真实场景和TPC基准负载的大量实验,TDSQL全时态数据库系统的性能损失非常小(与原始TDSQL系统相比),并且可以快速响应时态查询,这与其他现有时态数据库系统不同。它比最先进的数据库系统具有更好的性能。
5、系统测试通过TPCC测试基准。该论文展示了时态数据管理对原始系统性能的影响。
如图3所示,在数据仓库场景下,基于TDSQL实现的全时态数据库系统的系统性能比原始TDSQL降低了不到10%,领先于其他基于TDSQL的时态数据库系统。在传统的关系数据库上。
有状态的数据库系统。图3 TPCC测试结果 另外,基于真实的批处理业务场景,论文展示了系统在实际业务场景下的表现。
如图4所示,通过连续30天对比原系统和新的全时态数据库系统(T-TDSQL)处理该业务所需的执行时间,实验结果表明,腾讯全时态数据库系统可以简化业务应用程序的开发。同时,业务执行时间可缩短近一半。
图4 实际业务场景测试 对于本文,VLDB评审委员会给出如下评价: 本文扩展了腾讯的TDSQL系统,用于时态数据管理。提出了一种新的时态数据模型并进行了优化实现。
已经进行了广泛的实验研究,以通过基准和真实数据比较现有时态数据库系统的性能。 TDSQL全时态数据库的六大价值及意义TDSQL全时态数据库的核心价值是“历史数据有价值”,核心理念是“为数据赋能”,因此系统提供了以下功能: 1.完整的时态数据模型。
数据库系统通过统一的数据模型来管理数据的生命周期,即数据诞生、修改、消亡的整个过程,以及过程中的状态改变操作等。 2、全时态数据存储。
全时态数据存储确保所有状态数据的永久存储。它解决了大多数现有数据库系统只能保存当前数据,旧版本数据被丢弃的问题。
3.全时态数据查询。它提供了时态数据的快速查询功能。
由于历史数据的数据量巨大,海量历史数据的查询能力非常重要。 4.全时态数据计算。
数据是有价值的,因此需要对海量时态数据的分析计算能力。 TDSQL全时态数据库的意义主要体现在功能和成本两个方面。
从功能上看,TDSQL全时态数据库(以T-TDSQL为代表)可以支持以下功能特点: 1、准确的历史数据读取。您可以查询历史任意时间段内的数据变化情况,例如新插入的数据、持续更新的数据、删除的数据等。
因此可以追踪数据的历史轨迹,并且可以基于增量数据轻松进行多表连接的增量计算。 2、数据的历史状态信息保存在数据库中,保证数据的安全。
防止数据篡改、恢复误删除数据、跟踪账户变化、回顾历史时空中“过去”的数据等功能在T-TDSQL中已经成为现实。 3、T-TDSQL管理海量时态数据,运行日志不再重要。
基于索引检索历史数据与基于索引检索当前数据一样方便、快捷,并且消耗的计算资源最少。这对审计、安全、档案等部门有帮助。
此外,HTAC系统架构提供的存储能力不限于单机系统,可以通过分布式网络文件系统支持单机无限数据存储。 4、T-TDSQL还可以参与数据关联分析,赋予数据交易时态、与用户的关联性等,甚至可以创建数据之间的关联性,实现“数据血统”的生成等。
5、全时数据为数据安全、数据回放、数据挖掘和人工智能技术提供物理基础。致谢 本项目由腾讯TEG计费平台部发起。
研究内容和实施过程得到了中国人民大学数据工程与知识工程教育部重点实验室和腾讯公司的参与和支持。我谨向项目参与者和支持者表示特别感谢。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-17
06-17
06-18
06-18
06-17
06-17
06-18
06-18
最新文章
【玩转GPU】ControlNet初学者生存指南
【实战】获取小程序中用户的城市信息(附源码)
包雪雪简单介绍Vue.js:开学
Go进阶:使用Gin框架简单实现服务端渲染
线程池介绍及实际案例分享
JMeter 注释 18 - JMeter 常用配置组件介绍
基于Sentry的大数据权限解决方案
【云+社区年度征文集】GPE监控介绍及使用