最底层的数据库 PaaS 产品咱们提供了多模的数据库:包含以 MySQL 为代表的关系型数据库,以 Redis 为代表的非关系型数据库,还有分布式的数据库来反对海量的剖析、在线交易,同时还有以游戏场景为衍生的反对王者光荣的 TcaplusDB 数据库。
正如刚刚说的,新的历史时机到来时,腾讯云也有数据治理、数据自动化治理方面的数据库智能服务,提供了多种数据库 SaaS 产品。包含怎么去做数据的迁徙、怎么去做智能的 DBA 优化(智能管家 DBbrain),另外还有数据管理服务等七八款相应的数据库 SaaS 产品,配合腾讯云的数据库 PaaS 产品,为用户提供了全栈的数据库解决方案。
为了撑持上述产品和布局,腾讯云数据库也在北京、上海、广州、深圳、成都建设了多个数据库研发团队,有自主可控的开源分支,有中国数据库社区的主席团成员,也参加一些国家云计算的规范的制订。
腾讯云数据库的自研技术思路次要蕴含两个维度:
第一个维度,叫互联网类的数据库,腾讯云从自有的业务开始孵化,逐步去做商业化的联合。所以腾讯云的数据库其实最早都是自有业务开始打磨,这些数据库在自家的业务上摸爬滚打多年,而后反对相应的定制来满足不同的用户需要。
比方财付通、微信领取,以及第一家互联网银行 WeBank,都是先跑在腾讯云数据库之上,很好的反对外部业务之后;而后在适合的工夫点上,咱们开始跟高校的团队做相应的 AI 联合,像基于 AI 的优化器性能调优、相应的课题钻研等;而后到了下一个阶段,咱们把这些数据库产品化商业化之后,再给宽广用户提供服务,比方私有云(拼多多、美团等)客户,也有公有云(银行、政府小程序等)客户。
第二个维度是在自主可控的研发思路上。腾讯始终秉承着先把开源在外部利用,针对本人的业务场景做相应的技术创新和冲破,而后再去回馈开源,来保护开源社区里本人的分支代码,最初实现研发自主可控的思路。
咱们从 08 年开始起步反对外部的根底业务,目前腾讯云的自研数据库反对着腾讯系全副交易类的数据。随着业务的倒退,2012 年开始孵化 TBase 产品,撑持腾讯外部的广告业务。随着腾讯向产业互联网的转型,咱们也逐步把这些云服务封装到私有云、专有云。
到 2018 年,咱们发现在切到传统市场的时候,这些交易类数据库的用户还在应用传统的分布式存储、前端加上一个集中式的模式,来解决 OLTP 的并发或者扩展性的问题。所以腾讯云自研了云原生的、存储和计算拆散的数据库 CynosDB,后续在这个模式上会继续推动。
腾讯云数据库的布局大略分两类。从引擎的角度来说,咱们会拥抱开源的两个引擎,一个是 MySQL 引擎,一个是 PostgreSQL 引擎。
从技术架构来说,一是分库分表的分布式数据库的架构,它的劣势在于其性能能够 有限扩大;二是云原生的分布式数据库的架构,其存储层面会有相应的 Share 模式,计算机节点则是相应的独立。
这就是腾讯在自研数据库的倒退布局,采纳 Shared-Storage&shared-Nothing 双架构,双引擎的双核出击计划,满足不同的业务需要,笼罩支流利用场景。