攻克数据库核心技术壁垒,实现百万级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,一经查实,立即删除!

相关文章

Leetcode--55. 跳跃游戏

给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1: 输入: [2,3,1,1,4] 输出: true 解释: 从位置 0 到 1 跳 1 步, 然后跳 3 步到达最后一个位置。 示例 2: 输…

ccxprocess启动项可以禁用么_Mac怎么禁用Adobe无用自启项?

最近有使用Mac的用户询问小编Mac如何禁用Adobe无用自启项?每次开机Adobe都会无用自启,那么Mac如何禁用Adobe无用自启项,跟着小编一起来看看Mac禁用Adobe无用自启项教程。Mac禁用Adobe无用自启项教程:一:通过以下路径找…

某中学要对学校运动会进行计算机管理,2020年新编高职入学考试适应性试卷信息技术试卷定稿名师精品资料....

2015年福建省高等职业教育入学考试(面向普通高中考生)信息技术适应性试卷考试时间:120分钟,满分:150分一、选择题:(60分)1. 下列关于信息的说法,正确的是A.信息的形态不能转化B.信息有多种传播形式C. 载体本身就是信息…

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…

Leetcode--12. 整数转罗马数字

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例…

python三国演义人物 统计分析前20个_使用python统计《三国演义》小说里人物出现次数前十名,并实现可视化。...

一、安装所需要的第三方库jieba (jieba是优秀的中文分词第三分库)pyecharts (一个优秀的数据可视化库)使用pycharm安装库打开Pycharm选择【File】下的Settings出现下面页面,选择右边的【】出现下面页面,在此页面顶端搜索想要的库,然后安装就可以了二、编…

沈航计算机考研上岸,【图片】一战厦大计算机上岸,经验帖。慢更【考研吧】_百度贴吧...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼再写一下我的初试经验。今天晚上有时间再更初试政治:政治切忌开始太早,战线过长,我是从9月开始,跟着肖秀荣的视频课看了一遍精讲精练,做了一遍1000题,一遍真题…

你真的了解盒模型么

说到前端, 大家第一反应是不是都是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…

linux发送邮件的功能总结

使用linux系统服务器发送邮件的功能在平时工作中也是经常需要用到的,在这里总结一下,供以后参考: 1、直接使用管道发送邮件 echo "hello,this is the content of mail.welcome to www.mzone.cc" | mail -s "Hello from mzone.…

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

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

计算机综合应用实验,计算机综合应用实验二WORD应用.doc

文档介绍:第二章 WORD 应用设置文档打印为“横向”文档的“纵向”和“横向”可以满足不通纸张, 和不同用户的不同需求。在打印时可以根据情况进行调整选择, 方法如下: 点击菜单“文件”→“页面设置”命令, 在页边距选项卡中的“方向”选择“横向”,如图: 如何将网页…

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

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

Leetcode--75. 颜色分类

给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 注意: 不能使用代码…

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高德导航,靠,问题来&#…