您的位置:首页 > 数据库

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

2020-06-05 10:49 615 查看

点击蓝色字关注"数据库技术大会" 一起玩耍哦~

作者简介

李海翔,网名“那海蓝蓝”,腾讯金融云数据库技术专家。中国人民大学信息学院工程硕士企业导师。著有《数据库事务处理的艺术:事务管理和并发访问控制》、《数据库查询优化器的艺术:原理解析与SQL性能优化》,广受好评。                     

Q1:您在腾讯从事分布式数据的研发工作,您能介绍一下TDSQL吗?

A1:腾讯公司的计费业务系统,是世界上领先的金融云计费业务系统。这个系统包括SAAS、PAAS、IAAS三个层面。在SAAS层面,包括米大师、云商店、TDSQL等系统。

TDSQL托管账户近280亿,米大师依托TDSQL进行金融交易, 腾讯充值及其相关合作伙伴的日流水量超过150亿条,每天处理的交易量超过100亿笔。金融数据在TDSQL数据库中进行结算、对账、审计、风控数据分析、构建用户画像等业务。如王者荣耀游戏点券的对账业务、用户账户消费充值变化审计与风控业务等。

TDSQL有着如下核心特性:

1. 基于Raft的强同步机制,保证强一致性前提下实现高可用,确保数据能实现跨机架、跨IDC、跨城的数据可靠性,强同步节点故障自动切换,实现数据零丢失。

2. 灵活的全球部署架构,轻松支持异地多活:两IDC对等架构;两地三中心架构;两地四中心架构;多地多中心。

3. 数据库内核深度优化,使得在主备网络延迟5ms的情况下,能做到跨IDC强同步性能相较于异步同步零损耗;同时sysbench OLTP TPS是原生MySQL版本185%。

4. 安全增强。在安全方面做了大量优化及增强,包括数据文件加密、SQL防火墙、SSL接入、安全审计等。

5. 分布式水平扩展,提供Auto Sharding机制,可实现实时在线无缝扩容,确保集群性能和容量呈线性增长;同时提供健壮的2PC分布式事务机制,在性能损耗极低的情况下,大大降低了传统业务迁移分布式架构的难度,从此彻底告别数据库中间件。

6. 自动化运营体系:提供完善的运营体系,自动化运营发布平台,机器资源自动管理,智能监控平台及展示,数据库智能诊断等。

7. 完善的配套设施:TDSQL还提供Binlog订阅、冷备系统、多源同步等配套系统,供客户选择。

Q2 :您第几次参加DTCC大会了?

A2:与DTCC结缘已久,一共分为三个阶段。

第一个阶段是学习阶段:以前很多次来到DTCC学习、聆听。

第二个阶段是分享阶段:从2014年起,作为讲师,开始参与了DTCC的分享活动。之后的2016、2017年在数据库内核专场做了数次数据库内核技术的分享,分享的主题包括了存储技术、SQL优化技术、事务处理的并发访问控制技术。

第三个阶段是创造阶段:从2016年起,作为策划者和技术专家,携手DTCC组委会创办了数据库内核专场,进行了数据库内核专场的主题策划和内容评审等工作。之后的2017、2018年一直为数据库内核专场的发展而努力着,秉着开源、共享的精神,为推动数据库内核技术的发展而贡献着自己的绵薄之力。

这三个阶段,让我与DTCC结下了不解之缘。

Q3:您在2018年的DTCC上,与以往会有什么不同之处吗?

A3:首先,我期待自己还是要保持学习者的心态,能有较多的时间,去聆听各位讲师的分享。纵观大会,有三个特点:一是DTCC大会的规模越来越大,二是讲师们分享的内容越来越丰富,三是主题紧扣工程实践的前沿技术。而这三点,使得大会的内容和质量不断提升,能让听者在短短的三天内学习到更加有价值的知识,所以对于我而言,学习聆听非常重要。这是与以往参会时的相同之处。

其次,我自己在大会上会做一个题为“为数据赋能---腾讯TDSQL分布式金融级数据库前沿技术”的技术分享。这次分享,较以往的分享,有相同之处,也有不同之处。

相同的地方在于,一如既往地分享技术干货。我的分享,主要围绕数据库的核心技术,事务处理技术中的并发访问控制技术,来谈腾讯TDSQL在MVCC技术方面的创新技术,TDSQL原创性地提出了基于历史态的数据可见性判断算法,用于实现全时态数据库系统(基于TDSQL的全时态数据库系统,简称T-TDSQL)。

秉着开源、共享的精神,我们还期待,本次分享的内容对应的代码和其背后的设计思想,能够贡献给MySQL官方社区。而本次大会的数据库内核专场,邀请了MySQL官方的InnoDB研发总监Sunny先生做InnoDB技术的内核技术分享,腾讯TDSQL团队还将和Sunny先生就贡献全时态数据库系统代码一事展开交流和讨论。

不同的地方在于,我的分享,尽管是一个纯粹的技术分享,是一个数据库内核技术的核心技术分享,但没有放到数据库内核专场,而是转移在了金融数据库技术专场。其原因有二,一是数据库内核专场非常火爆,报名的讲师太多而参讲的名额有限,我已经连续两届在数据库内核专场做分享,释放出一个名额把机会分享出来,机会让给更多讲师分享精彩内容;二是我共享的尽管是数据库内核的核心技术,但是其产生的背景,却是源自腾讯的生产实践场景的。TDSQL团队认为,本次分享的TDSQL的原创技术,不是为技术而技术,而是基于业务的需求,为解决业务问题而进行的创新技术。所以在金融数据库技术专场,进行这么一个分享,是把金融业务背景和数据库内核技术结合的最佳场所。

Q4:如上您的回答很精彩,不由得让我对您的分享十分期待,您能提前剧透一下您将分享的主要内容吗?

A4:本次分享,我认为有四个点可以关注:

一是TDSQL提出的全时态数据库的数据模型值得关注。数据模型是本项技术的核心点和立足点,在这个模型中,提出了全态数据(主流数据库系统如Oracle、PostgreSQL、MySQL/InnoDB只有当前态数据,如账户余额从1变为2又变为3,3是当前态,1和2是历史态数据、被数据库系统抛弃掉了。主流数据库是没有办法查阅、管理历史值1和2的)的概念,管理了数据项的从诞生到消亡的整个生命周期,甚至一条元组被删除后,全时态数据库系统依旧要对其进行管理。一个数据项,生是数据库的人,死是数据库的鬼,生死永相依。

二是对于全时态的数据,怎么在数据库内核层,实现全态数据的管理这项技术值得关注。如怎么读取历史态数据1。这是本次分享的技术核心点,与并发控制技术、存储技术紧密相关,喜欢技术的朋友可以发现,原来MVCC技术可以做扩展,还可以这么用。因此这是一个深入MVCC技术、开阔思路的机会。

三是了解金融业务,洞察数据库内核核心技术与金融业务融合的最佳结合点,这点值得关注。为什么这点值得关注呢?

因为在分享中,我们将给出大量的典型案例,用于帮助大家了解腾讯TDSQL在事务处理层面的原创技术,可以解决众多场景的问题,听众会发现,一项技术多用,必有以一当十的感觉,大量的典型案例会帮助大家理解技术的价值,把技术和典型应用结合后当有顿悟的感觉,从而能更好把握数据库的价值。

四是通过分享,我们会诠释原创的事务处理技术背后的理念。我个人认为,这个更有价值。

分享中会提出我们的思考:“Historical data are valuable. Business is a sword, Technology is only a shield.”。那么,什么是盾?什么是剑?盾和剑之间有什么关系呢?这句话是在说“业务为王吗”?

在TDSQL看来,技术只是一个防守工具,用于把梦想变成现实。梦想是技术人想利用各种高大上、高精尖的技术解决现实问题的美好意愿,诸如分布式、一致性、快照、RDMA、NVM、AI、全数据挖掘等各种技术的炫酷使用。业务只是一个进攻的工具,用于发现梦想。左手盾右手剑,行走在技术的江湖,这些能成就技术人行侠仗义的梦想。

历史数据富有价值(这是T-TDSQL的核心价值观),在(金融/腾讯/互联网/一切…)业务中,挖掘数据的价值,更是富有意义。

但是,百尺竿头需要更进一步。做核心技术的人更不应该囿于技术。

数据的创造是由用户和其业务决定的,他们是创造数据的甲方。数据库承载了数据的管理职责,是否数据库系统也可以参与到数据的创造环节中来呢?

在TDSQL团队看来,全时态这一概念,正是数据库系统参与到数据创造环节的最佳契机。数据库系统为数据赋于了事务时态、赋于了DML操作过程中的事件源,甚至可能为数据之间赋于关系(如分享中将提及的5W、Lineage等),这使得数据库系统也成为了数据的创造者。

这就是我们、TDSQL团队在技术和业务背后的的思考点,也是原创技术的出发原点:为数据赋能。

如此,融合技术和业务,从而能更好把握数据的价值。

总得来说,通过技术和业务,我们关注了数据库的价值和数据的价值。这个视角,期待。

Q5:您刚才提到了5W和Lineage,能进一步解释一下其含义吗?

A5:T-TDSQL从5W角度,让数据拥有了时间(双时态,WHEN)、地点(存储的历史表,WHERE)、人物(用户ID,WHO)、对象(全态数据,WHAT)、原因(DML等操作,WHY)等要素,使得数据不再仅仅是用户使用CREATE TABLE语句所创建的数据,而是包含了多种由数据库系统所创造的数据、且在数据的生命周期中融入了数据历史使其富有纵深的有价值的全部数据。

为数据赋能”是我们的理念。在这个理念的支撑下,基于TDSQL的T-TDSQL因此而诞生。为数据赋能,因而能让数据拥有更多的价值。有了这些,数据库系统能够更加主动地追溯数据的历史,推演数据的变迁,预测数据(世界)的未来。

而Lineage,数据世系,也称为数据血统(lineage,provenance)。其含义是:一种数据的生命周期,包括数据的起源和它的动作时间。用以描述数据发生了什么事,经历了什么过程。数据世系对于分析数据、跟踪数据的动态演化、衡量数据的可信度、保证数据的质量等尤为重要。例如,在Spark中有lineage的概念,用于处理分布式环境下的数据容错性问题。T-TDSQL基于“为数据赋能”这一理念和现有的框架技术可以容易地实现Lineage。

T-TDSQL在为数据赋能理念方面,有了5W的实现、有着与Lineage的异曲同工之妙,更有着对Lineage的潜在实现技术。所以T-TDSQL的未来有着无限量的可能。

数领先机 智赢未来

DTCC2018

中国数据库技术大会(简称 DTCC)是国内数据库及大数据领域规模最大、最受欢迎的技术交流盛会,每年一届。自 2010 年以来,迄今已成功举办了八届,累计参与人次达到 20000+。DTCC 每年都将邀请百余位行业专家,就热点技术话题进行分享,为数据库人群、大数据从业人员、广大互联网人士及行业相关人士提供最具价值的交流平台。

2018 年 5 月 10-12 日,第九届中国数据库技术大会(DTCC2018)将如约而至。本届大会以 “数领先机 • 智赢未来” 为主题,设定 2 大主会场及 20 个技术专场,邀请来自国内外互联网、金融、教育等行业百余位技术专家,共同探讨 Oracle、MySQL、NoSQL、大数据、机器学习、区块链、数据可视化等领域的前瞻性热点话题与技术。

点击左下阅读原文,立即购票

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: