关于数据库:TDSQL-在微信支付数据密集型应用落地实践

38次阅读

共计 2428 个字符,预计需要花费 7 分钟才能阅读完成。

腾讯云数据库开源产品 TDSQL PG 版(开源代号 TBase)发表推出重磅降级——通过一年半的打磨,上万张表拜访场景下,内存占用节俭 60%;查问性能晋升百倍;SQL 语句兼容性加强。同时,鼎力晋升原有数据库版本在分布式场景下的易用性。

TDSQL PG 版是一款具备 HTAP 能力、通过腾讯多年继续投入研发的数据库产品,是腾讯云数据库团队在开源的 PostgreSQL 根底上研发的企业级分布式 HTAP 数据库管理系统,可能提供成熟的一站式解决方案。腾讯云数据库技术总监李跃森介绍到,“在首次开源的 10 天内,TDSQL PG 版的 Star 数就达到了 500 多个。开源不久,就受到了欧洲航天局、国家天文台,以及医疗衰弱、批发等各个行业用户的青眼。”

作为新一代分布式企业级数据库管理系统,TDSQL 始终以来都利用于微信领取外围零碎,反对微信领取实现高性能、高可用、数字化利用。 近年来,微信领取基于 TDSQL PG 版构建数据密集型利用,实现单表数据轻松冲破 TB 级海量存储,TDSQL PG 版高吞吐、高并发,主动扩容的能力,充沛满足了微信领取的业务场景需要。

那微信领取利用 TDSQL PG 版的过程中经验了哪些故事?TDSQL PG 版在微信领取零碎中又有哪些典型利用案例呢?

微信领取与 TDSQL PG 版的陪跑历程

“如果要用一个形容词来形容微信领取与 TDSQL PG 版的关系,那就是‘你侬我侬’。”腾讯高级工程师万志颖在介绍微信领取案例时示意,“TDSQL PG 版为咱们提供武器,微信领取则为 TDSQL PG 版提供了短缺的试炼战场。”

以微信领取的商户服务平台为例,该平台次要是为千万级的商家提供帐单明细下载及帐单简单条件查问及统计分析的平台。最开始,平台应用开源 MySQL 作为底端存储。但随着京东等大商户的接入,交易笔数逐渐晋升,数据增长单机存储容量受限,微信领取遇到重大的容量瓶颈和性能瓶颈。在过后的技术背景下,微信领取迫切需要一个好的解决方案,于是就抉择了 TDSQL PG 版。

TDSQL 提供的解决方案很好地解决了微信领取遇到的问题。 在容量问题上,TDSQL 提供了海量数据存储的在线线性扩容能力;在大商户的数据歪斜问题上,TDSQL 基于双 KEY 散布等机制解决了数据存储均匀分布的问题;在分页查问性能问题上,TDSQL 提供了基于 Index only scan 索引的相干优化计划,解决了传统 web 利用分页场景中总条数查问耗时高的问题。

“在交易系统根底上的更进一步利用的过程中,咱们发现 TDSQL PG 版相干个性非常适宜用于数据仓库中的维表存储,于是在 2021 年微信领取基于 TDSQL PG 版搭建了数据仓库的维表管理系统,使其成为大数据生态中的重要组件。”万志颖介绍。

TDSQL PG 版在微信领取的利用实际

近年来,TDSQL PG 版助力微信领取构建数据密集型利用,继续拓展利用场景,在多个畛域体现出比拟劣势,保障了业务的稳定性和连续性。在此以报表零碎和维表零碎为例介绍 TDSQL PG 版在微信领取的利用实际。

微信领取报表零碎中,存在两种典型的读写模型:一种是基于 spark 离线计算平台周期性写入,比方一天写入一次,每次写的数据很少,但也有可能写的数据量是十亿级或者百亿级。另外一种是通过音讯队列的形式进行实时写入来构建实时报表。因为写入端是大数据系统,每次写入的数据量极其微小,因而对底层数据存储的写入性能要求比拟高。相比于开源 MySQL,TDSQL PG 版在并行写入方面有显著劣势,具备更好的并行写入性能及吞吐能力,能够大幅升高咱们数据入库实现工夫,也可能撑持实时报表等场景的需要。

在报表页面读取数据方面,TDSQL PG 版相比拟开源 MySQL 具备更为丰盛的索引类型反对。例如微信领取有一个业务场景是从百亿级数据中含糊检索商户名称,在引入 TDSQL PG 版前该场景的查问耗时靠近 17 秒,优化之后该场景的耗时间接降到 50 毫秒以内,性能实现了极大晋升。

截至目前,TDSQL PG 版曾经累计承载了微信领取 3600+ 报表的数据写入、存储和读取,报表关上工夫均能稳固管制在 3 秒以内,为整个报表平台的性能带来极大的改善。

微信领取还基于 TDSQL PG 版来构建维表零碎。维表是形容一个事物的不同角度,比方性别上的男和女,写代码时的枚举值也能够认为是一种维表。接下来就以枚举值为例论述微信领取如何基于 TDSQL PG 版来构建维表零碎。

微信领取所有零碎的枚举值都是基于履约建表零碎进行对立的录入,目前总共有 2700+ 枚举值的数据,上游的 OLTP 数据仓库中的计算工作以及报表零碎、经营零碎都会读取这些枚举值。如果上游对枚举值进行了批改或者新增,而上游得不到感知,这就会给整个零碎的稳定性造成严重后果。

为了解决这类问题,微信领取基于 TDSQL PG 版买通了 OLTP 零碎与 OLAP 能力交融的维表零碎,在 OLTP 维表管理系统中录入或更新维表数据后,不论是在在线业务中、Spark 计算中或者是报表零碎中,都能实时援用最小的枚举值数据参加计算。与此同时,数据应用方也能够间接在数据仓库中看到每个枚举值字段的枚举值,不须要一层一层去查问,枚举值治理的复杂性得以管制,升高了相应的品质危险,达到金融畛域利用的要求,极大的进步了咱们的保护效率。

在整体经营上,目前微信领取在 TDSQL PG 版的存储量曾经达到 400TB+,每秒的申请量超过 24 万次,99.6% 的申请基本上耗时都能够管制在 10 毫秒以内,充沛满足了微信领取的在性能和稳定性上的高要求。

TDSQL 是腾讯云企业级分布式数据库,旗下涵盖金融级分布式、云原生、剖析型等多引擎交融的残缺数据库产品体系,提供业界当先的金融级高可用、计算存储拆散、数据仓库、企业级平安等能力,同时具备智能运维平台、Serverless 版本等欠缺的产品服务体系。

截至 2020 年,TDSQL 已对外服务数千家金融政企机构,同时宽泛笼罩游戏、电商、挪动互联网、云开发等泛互联网业务场景,助力新批发、教育、SaaS、广告等超过 4000 家行业客户进行数字化降级。

正文完
 0