攻克数据库核心技术壁垒,实现百万级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
攻克数据库核心技术壁垒,实现百万级QPS的高吞吐相关推荐
- 攻克数据库核心技术壁垒,腾讯云推出新一代企业级云数据库CynosDB
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ CynosDB是腾讯云自研的新一代高性能高可用的企业级分布式云数据库.融合了传统数据库.云计算与新硬件的优势,100%兼容开源数据库,百万级 ...
- 性能第三讲:百万级QPS,支撑淘宝双11需要哪些技术
性能第三讲:百万级QPS,支撑淘宝双11需要哪些技术 又到一年双11,相信大部分同学都曾经有这个疑问:支撑起淘宝双11这么大的流量,需要用到哪些核心技术?性能优化系列的第二篇我想跟大家探讨一下这个话题 ...
- 阿里云云盾抗下全球最大DDoS攻击(5亿次请求,95万QPS HTTPS CC攻击) ,阿里百万级QPS资源调度系统,一般的服务器qps多少? QPS/TPS/并发量/系统吞吐量...
阿里云云盾抗下全球最大DDoS攻击(5亿次请求,95万QPS HTTPS CC攻击) 作者:用户 来源:互联网 时间:2016-03-30 13:32:40 安全流量事件https互联网资源 摘要: ...
- 百万级 QPS 业务新宠,金山办公携手 Apache APISIX 打造网关实践新体验
背景介绍 金山办公是目前国内最大的办公软件厂商,旗下产品涉及 WPS.金山文档.稻壳等.在业务层面上由数千个业务以容器化部署在内部云原生平台,目前 Apache APISIX 在金山办公主要负责为中台 ...
- 百万级QPS,支撑淘宝双11需要哪些技术
目录 前言 正文 1.MySQL硬抗 2.分布式缓存(Tair)硬抗 3.客户端分布式缓存 4.缓存预热 5.客户端本地缓存 6.访问DB加锁 7.热点探测 8.限流 9.全链路压测 10.预案 11 ...
- 技术如何秒懂你?阿里百万级QPS资源调度系统揭秘
阿里妹导读:TPP(Taobao Personalization Platform, 也称阿里推荐平台 ) 平台承接了阿里集团300+重要个性化推荐场景,包括手淘首页猜你喜欢.首图个性化.购物链路等. ...
- 阿里百万级QPS资源调度系统揭秘
TPP(Taobao Personalization Platform, 也称阿里推荐平台 ) 平台承接了阿里集团300+重要个性化推荐场景,包括手淘首页猜你喜欢.首图个性化.购物链路等.除了提供应用 ...
- 高并发之数十万甚至百万级qps吞吐量方案
Nginx虽然很强大,但是面对大并发时,一台Nginx总是有限的.即使后端有多台Nginx组成的集群时,前端毕竟只有一台Nginx,资源往往有限. 下面将介绍应对这样的情况应该有的解决方案,其实原理就 ...
- mysql的limit优化_mysql数据库limit优化例子(百万级数据)
limit优化对于站长来说是经常会要用到了,同样的数据不同做法可以提升不少的性能了,下面我们来看一篇关于mysql数据库limit优化例子,具体如下. 今天看到一篇文章讲的就是mysql数据有100万 ...
最新文章
- 参考文献起止页码怎么写_毕业论文文献综述不会写?快来看看这篇文章(附含通用模板)...
- PyTorch 1.0 中文官方教程:神经网络
- python无限循环语句的代码_如何在Python中实现非阻塞无限循环
- C语言char对应的码,char码值对应列表大全
- 一则故事表达:并发,并行,同步,异步,线程,多线程
- [poj] 1236 networks of schools
- 永久关闭wps热点新闻的办法
- 计算机无法使用光驱启动,电脑怎么设置光驱启动 光驱启动设置教程【图文】...
- POSIX线程优先级设置
- python爬取拉勾网职位信息_python——拉勾网信息爬取
- 报错error: resource style/Theme.AppCompat.Light.DarkActionBar (aka com.xxx.xxx:style/Theme)not found.
- 3DMAX一键生成螺母和螺栓插件使用教程
- 掌握这些核心算法,拿不到10+个offer你来找我,我锤飞你个不争气的
- python个性化推荐系统毕业设计_个性化推荐系统架构设计(一)
- enumerate()说明
- java rnn生成古诗_Char-RNN生成古诗
- beam_建筑beam管第二部分前端
- js实现简单“商品总价计算”
- win10下手机投影到电脑及第二屏幕
- 17-分析Ajax请求--爬取易烊千玺微博【以及简单的数据分析】
热门文章
- ActionForm本质
- windows XP 深度白金珍藏版V5.7 (4CD)
- Python 代码实现验证码识别,很稳
- 我的星座图 php,canvas 绘制星座图(好玩)--转载
- stm32h745i 双核工作原理解析
- nginx做本地目录 映射
- 最新!13个国家应用数学中心牵头高校名单公布
- 执行tox -egenconfig出现错误genconfig: could not install deps [-r/home/mistral/test-requirements.txt]
- 华为交换机端口不配置access_华为交换机的配置及:access、trunk、hybird端口详解...
- 堆排序-HeapSort