攻克数据库核心技术壁垒,实现百万级QPS的高吞吐

CynosDB是腾讯云自研的新一代高性能高可用的企业级分布式云数据库。融合了传统数据库、云计算与新硬件的优势,100%兼容开源数据库,百万级QPS的高吞吐,不限存储,价格仅为商用数据库的1/10。

CynosDB设计出发点:

随着云计算2.0时代的来临,在云计算技术和服务的支持下,越来越多的互联网企业业务规模快速扩大,它们对构建于云端的核心基础设施服务—数据库服务提出了更高的要求,如更高的性能、更好的稳定性和更低的成本等。与此同时,越来越多的零售、IoT和医疗等传统行业通过 “接入云” 完成数字化转型和升级,迫切需要云数据库服务能无缝替换传统数据库产品。以传统的方式,将长期以来主导企业解决方案的数据库Oracle 和 Microsoft SQL Server等以 “Lift and Shift” 的方式直接搬到云上提供托管服务并不能满足用户在扩展性和可靠性等方面的需求,授权许可费用也使得订阅计费的方式不能从根本上降低数据库的使用成本。因此,通过技术手段解决这些问题正是自研新一代云数据库CynosDB的出发点。

CynosDB for MySQL 产品简介:

CynosDB for MySQL,又称NewCDB,是由腾讯云面向云计算2.0时代的新一代企业级分布式云数据库。在兼容开源数据库MySQL的生态体系下,它重新定义了MySQL分布式架构,从而在单实例极致性能、事务响应延时、存储扩展性以及可用性等关键技术指标上,达到商用级数据库级别;与此同时,它是面向通用硬件进行的软件极致优化,相比商用级数据库,它的性价比非常高,能把云计算共享经济普惠给万千腾讯云用户。

CynosDB名称来源。Cynos源于拉丁语中的Cynosura,古希腊神话中北极星的名字,现意为焦点,引人注目的人或物。CDB是腾讯云数据库的产品简称,NewCDB是在CDB十年技术和产品沉淀的基础上诞生的。腾讯云数据库产品在继承中不断完成突破。

业界方案:

以Google Spanner和AWS Aurora为代表的NewSQL现代关系型数据库提供了新的思路,即既有NoSQL数据库相同的扩展性能,又保持了传统数据库支持ACID和SQL的特性。其中Amazon Aurora通过对开源数据库MySQL和PostgreSQL的计算与存储解耦来实现数据库在云端的扩展和弹性调度,并将业务迁移成本和总拥有成本降到最低,得到了市场的普遍认可。

基于对当前云计算用户场景深度分析,CynosDB for MySQL参照了类AWS Aurora路线,为用户提供新一代架构的MySQL服务。

当前主流MySQL技术分析:

MySQL的主流架构来看,主要由两种方式,一种是一主多从集中模型,他通过多个slave来构建一个多可用区部署的分布式数据库,提供一个较好的服务可用性和数据可靠性等。另外就是分库分表这种方式,主要来解决集中模型中的扩展问题。这两种架构模型能满足一些业务场景的要求,但随着业务的发展,在很多应用场景,尤其是企业级比较苛刻的应用场景下,它天生的技术缺陷就凸显出来了。主要表现如下:

¡计算存储融合:存储扩展有限、写性能有限、资源利用率低。

¡日志复制路径过长:同步开销大,影响到RTO,导致slave的stale read。

¡基于中间件的分库分表:SQL/事务无法兼容,应用需要改造。

业务推动技术发展:

CynosDB for MySQL针对当前业务场景对数据库技术指标的苛刻要求,进行技术架构自我突破。技术原理上的优势主要体现在以下几个方面:

  • 云原生:基于腾讯云上多年成熟组件来构建,主要包含腾讯自研MySQL内核TXSQL和自研统一存储TXStore等。

  • 卸载:计算和存储分离。

  • 分布式存储:提供高可用、高可靠和强一致的弹性存储。

  • 可计算存储:日志即数据库,存储自行完成记录到页的转换。

  • 轻量级计算节点间复制:低开销、低延时的日志同步。

如何云原生。CynosDB for MySQL的计算引擎是基于Tencent MySQL(TXSQL)来完成的。TXSQL支持主流的MySQL5.6/5.7版本,结合业务场景,在性能、企业级特性和稳定性上进行了百余项的定制patch,满足公司内以及腾讯云上各个业务在高并发性能、数据安全和稳定性上的要求。存储引擎是基于自研统一存储平台Tencent Storage(TXStore)来完成的。TXStore作为存储后端,为腾讯云硬盘以及云文件提供数据存储服务。

如何卸载。CynosDB for MySQL计算引擎和存储引擎解耦主要解决三个问题。第一个问题是解耦后存储放在哪里。CynosDB for MySQL借助TXStore来为计算集群提供独立存储,通过存储池化来解决存储扩展、写性能扩展以及资源利用率的问题。第二个问题是如何解决计算引擎和存储引擎之间的网络传输效率。这里采用了极简IO思路,传递事务日志,由存储自行完成日志到记录的转换;同时也充分发挥RDMA等硬件优势,在数据传输上灵活的使用服务器主动模式和客户端主动模式,在元数据传输上结合基于消息RPC和基于内存RPC的优势。最后一个问题是计算节点独享存储还是多个计算节点共享一份存储。存储本身是多副本的,所以选择共享,于此同时能快速的进行计算节点的扩容,因为做到了数据的零拷贝。

如何实现稳定的分布式存储。CynosDB for MySQL采用腾讯TEG基础架构部自研统一存储TXStore来承担稳定的分布式存储。TXStore针对云上复杂应用环境对基础设施苛刻的要求,它在数据的高可靠、极致性能和企业级特性上进行了大量创新设计,为腾讯云硬盘CBS、云文件CFS和云数据库CDB来提供底层存储。TXStore在数据库多副本多可用区分布的技术基础上,通过基于数据多版本的秒级快照技术,结合CDP(Continuous Data Protection)连续数据保护技术,满足数据可靠性9个9以上的要求。在性能上,通过软硬一体化技术,实现极简IO架构,研发适合现代硬件的高性能异步软件开发框架CEDA(Container Event-Driven Architecture ),充分利用NVME/Optane存储介质和RDMA网络等硬件红利,提供单client百万级IOPS和亚毫秒RT(response time)延迟能力,达到甚至超过商业级存储的水平。于此同时,利用AI深度学习技术,实现了存储节点磁盘故障预测、IO预取和缓存等能力。

如何实现可计算存储。CynosDB for MySQL在存储引擎上完成日志转换为记录以及数据页的存储。存储引擎收到日志后,会进行日志强一致的存储,完成存储后即可响应计算引擎,将事务提交RT降到最低。通过异步方式完成日志到page的落地。为了提高效率,采用了批量并行处理的技术。存储引擎会对日志进行排序等预处理,然后按照InnoDB page的方式,批量将事务日志中的内容应用到page上。为了兼顾性能和成本,存储引擎上采用了智能多级存储以及小颗粒度的按用分配技术。

如何实现轻量级计算节点间复制。CynosDB for MySQL在支持MySQL原生binlog方式复制之外,在同region支持了基于redolog的复制功能。通过设计基于redolog的新复制协议,将系统表、DDL以及DML相关同步通过redolog在多个计算节点间完成复制。在Slave上,也采用了无磁盘IO的apply方式,大大加快同步效率。

从CDB到NewCDB,腾讯云数据库经历了从云数据库服务构建和重新定义,形成了覆盖全业务场景的OLTP数据库产品。

在接下来的道路中,腾讯云数据库产品将继续深挖云上用户痛点,构建企业级特性,进一步完善云数据库自治能力,完成从NewCDB到SmartCDB的蜕变,将更多的云计算普惠带给世界。

CynosDB近期会开放公测申请,采用邀测制,进一步的消息,敬请关注腾讯云官网(https://cloud.tencent.com/act/event/cynosdb.html)。

转载于:https://www.cnblogs.com/qcloud1001/p/9100581.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/485986.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CLion之C++框架篇-安装工具,基础框架的搭建(一)

CLion之C框架篇-安装工具,基础框架的搭建(一) 背景日常学习C,也就是看看书、在vim里写写代码。在日常项目开发中,也是边看书(一是系统性理解、二是找找有什么更好的代码编写方式)边写代码&#…

学术评论:“类脑计算完备性(Neuromorphic completeness)”概念定义中的问题

作者:程京德文章出处:程京德科学网博客链接地址:http://blog.sciencenet.cn/blog-2371919-1262267.html 2020年10月,“Nature”杂志发表了清华团队题为“A system hierarchy for brain-inspired computing”的论文 [1]&#xff0c…

你真的了解盒模型么

说到前端, 大家第一反应是不是都是vue、react、webpack等这些大大小小的框架或者工具, 但其实这些都是和js相关的, 真正的样式会被大家忽略。其实真正呈现给大家看到华丽的页面, 都是样式才让他们多了那份色彩。那么大家觉得简单的css样式, 真的简单么? 让我们一起来看下, 开启…

ios10前台收到推送_iOS 13 beta 2 推送 | iOS 13 热门疑问解答

朋友们周二早,今天这期分享主要是给大家解答几个 iOS 13 相关的热门问题。今天的头条推送的是 HFP 的面膜,靠谱产品,有需求的朋友可以去他们的天猫旗舰店或者小程序商场看下。是否可以直接升级 ?今天苹果正式推送了 iOS 13 beta 2…

认知科学顶刊:挑战过去50年神经科学观点,人类智力的优势或来自于记忆储存方式...

来源:brainnews莱斯特大学的神经科学专家发表了一篇文章,打破了过去50年神经科学的观点,认为人类储存记忆的方式是其智力优于动物的关键因素。该文章发表在Trends in Cognitive Sciences杂志。先前的研究认为,海马体(大…

专业文化计算机艺考生,专业课和文化课都优秀?那艺考生的你不知道这个就损失大了...

原标题:专业课和文化课都优秀?那艺考生的你不知道这个就损失大了高水平艺术团招生作为高考特殊类型招生中的一种,很多人一直把它和艺术类招生傻傻分不清楚。简单来说,高水平艺术团招生和艺术类招生是两种不同的招生类别。详细说&a…

雷赛运动控制卡能不能用c语言_基于PMAC控制卡的三坐标测量机控制系统

三坐标测量机控制原理三坐标测量机获取测头触碰点相对于系统原点的三坐标值,然后经特定算法处理,得到尺寸公差或形位公差。测头在X、Y,Z三个相互垂直的导轨上进行复合运动,实现逐点测量;或按一定运动轨迹,实…

如何结合因果与强化学习?看最新《因果强化学习:动机,概念,挑战与应用》报告,85页ppt...

来源:专知强化学习(RL)[17]和因果推理[10]都是机器学习不可缺少的组成部分,在人工智能中都发挥着至关重要的作用。最初促使我整合这两者的是机器学习在医疗保健和医学领域的最新发展。回顾过去,人类自出生以来就不可避免地伴随着疾病&#xf…

boot druid 长时间不连接 异常_Spring Boot学习:如何使用Druid数据源

Druid概述Druid是阿里巴巴开源的一款非常优秀的数据库连接池。在Java应用程序开发中,常用的连接池还有DBCP、C3P0、Proxool等。SpringBoot2.X 版本开始默认的是HikariCP(号称性能最好的数据库连接池),Druid性能好而且监控也比较方便。刚兴趣的同学可以读一下,GitHub…

演讲实录丨中科大陈小平教授《从封闭性到非封闭性:2020到2035年智能机器的机遇和挑战》...

来源:中国人工智能学会陈小平中国科学技术大学机器人实验室主任、教授以下是陈小平教授的演讲实录:非常高兴有这个机会进行中、新学术交流。本报告包括四方面内容。第一,关于人工智能(简称AI)的两种类型,一…

充电电流用软件测试准吗,实验:1A与2.1A对手机充电电流一样的,小伙伴再也不用担心咯...

新福克斯舒适,USB在手套箱(不方便啊,郁闷),插U盘放MP3,一个行车记录仪,插在点烟器里,平时没事也够用,要跑一次长途,用iPhone 5C高德导航,靠,问题来&#…

python 结尾回车_理解不了Python正则表达式?我帮你搞定

点击蓝字“python教程”关注我们哟!在学习Python的过程中,我们难免会遇到比较晦涩、难以理解的内容,比如Python中的正则表达式、面向对象等内容,为了更好地帮助大家理解,我们今天就先为大家详细解读Python正则表达式&a…

陈左宁院士:人工智能模型和算法的七大发展趋势

来源:C114通信网、北京物联网智能技术应用协会在近日举行的“第十六届CCF全过高性能计算学术年会”上,中国工程院副院长、中国科协副主席、中国工程院院士陈左宁发表了题为《人工智能进展对算力需求分析》的演讲。在演讲中,她阐述了人工智能模…

模板引擎工作原理_广州seo了解下搜索引擎的工作原理是什么

一、搜索引擎工作的基本原理搜索引擎是根据以下原则计算的:首先,我们知道在web浏览器、百度浏览器、google浏览器、360浏览器中都配置了不同的搜索引擎。它们都有一个共同点,一开始捕获一个模块,然后这个模块就像一个软件程序一样…

罗杰·科恩伯格:基础科学——人类进步的希望

论坛 演讲编辑: ∑Gemini来源:数据实战派人物介绍:罗杰科恩伯格(Roger Kornberg),世界顶尖科学家协会主席,斯坦福大学温泽医学教授。因对“真核生物转录的分子基础”的研究,获得2006年诺贝尔化学奖。罗杰•…

python 几种常用测试框架

测试的常用规则 一个测试单元必须关注一个很小的功能函数,证明它是正确的;每个测试单元必须是完全独立的,必须能单独运行。这样意味着每一个测试方法必须重新加载数据,执行完毕后做一些清理工作。通常通过setUp()和setDown()方法处…

服务器系统盘最佳设置,启用系统的硬盘高级性能设置优化硬盘到最佳性能

硬盘性能直接关系到网吧机器的性能,如果是无盘服务器上的硬盘,那更是整个网吧的核心性能。所以一定要好好优化下,下面推荐一个小技巧吧:启用硬盘高级性能 \ 硬件管理器,选一个磁盘,右键属性,上…

ASML 1nm光刻机研究进展:摩尔定律尚未结束

文章来源:Sparrows NEWS、新智元摩尔定律的终点是什么?随着5nm光刻技术的大规模生产和3nm的突破,摩尔定律的终结变得越来越难以捉摸。可以肯定的是,随着过程的进一步改进,其成本将成倍增加。根据日本媒体Mynavi的报道&…

redis为什么选择单线程工作模型

1、先说一下为什么出现进程,线程 进程:在计算机发明之初就发现,在输入数据时(I/O速度慢),CPU是空闲的,这样就浪费了CPU资源,为了充分利用CPU资源,发明了进程,…

​​《自然》2020年十大科学发现出炉:病毒,冷冻电镜与快速射电暴

来源:科研圈作者:陈梦圆、谢一璇、李姗珊、邱燕宁、魏潇科学成就