900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 腾讯云mysql的技术原理_腾讯云自研数据库 CynosDB 存储架构揭秘!

腾讯云mysql的技术原理_腾讯云自研数据库 CynosDB 存储架构揭秘!

时间:2020-01-30 01:43:34

相关推荐

腾讯云mysql的技术原理_腾讯云自研数据库 CynosDB 存储架构揭秘!

All in 云+时代,数据库对于任何企业而言,都是其应用的核心资源,而数据库的高可用性、按需付费、按需扩展等属性更是解放了大批开发者。

那么,如何选择适合自身企业 IT 架构及业务的核心数据库,想必是每一个 CIO/CTO 必须面对的问题。

3月16日,由云+社区主办,英特尔作为战略合作伙伴的腾讯云自研数据库 CynosDB 交流会,在北京北邮科技酒店举行,本次交流会带你全方位了解 CynosDB、揭秘技术内幕,并解读兼容两大主流开源数据库的一主多读架构、高可用架构及快速恢复实现、可计算智能存储和分布式存储。

如此详细且深入的交流与探讨,自然吸引了众多技术小伙伴前来“围观”。而早早坐满会场的技术小伙伴们,也再次证明了技术人对技术的热情,是无法阻挡的。

此次交流会,五位数据库领域资深大咖为到场的百余位朋友,奉上了一场关于“腾讯原生CynosDB”的技术盛宴,也让我们度过了一个充实且精彩的下午。

CynosDB技术内幕——新一代计算引擎

腾讯高级工程师尚博作为第一位演讲嘉宾,分享了关于CynosDB、MySQL的计算存储架构、分离架构的实现。

他表示,计算与存储的分离架构,不仅在性能、扩展性和高可用方面有着大幅提升,更在计算与存储的解耦之后,计算层面有着较大的优化空间。而接下来尚博为我们详细地介绍了运算存储架构的实现与优化。

腾讯高级工程师尚博

尚博表示,为了解决传统数据库带来的诸多不便,国内厂商大多会将本地盘换成共享存储,但却面临着共享存储网络无法支撑大量IO的窘境。基于以上两点,CynosDB将不必要的IO全部卸载,数据可以通过Log得以恢复,所以CynosDB里面的IO只有一部分。除此,将Master部分日志写进TXStore中,底层诸多的存储节点和分片,备份直接从分布式存储备份到数据中心。

拥有多年数据库内核研发经验的他,在日志方面有着资深的研究与开发经验,在提到“日志即数据库”时,他详细地介绍了日志在架构中的处理方法。

除此之外,他还为大家解答了CynosDB在未修改参数的情况下,达到21万性能的目标,卸载大部分数据库引擎中的模块,恢复写在存储程序中;异步、流水线、批处理;大量使用Lock free结构,以及在卸载诸多流程后,可以用Bypath优化。

可计算智能存储揭秘

腾讯高级工程师樊伟第二个登场,首先他为大家展示了TXStore软件架构,并介绍了腾讯云后端的存储平台Atlas node,这款腾讯自研的分布式存储平台,支持块、文件、数据库。并介绍了TXStore的些读写流程与DB recovery的流程。

腾讯高级工程师樊伟

在这里,樊伟着重介绍了DB recovery模块,负责所有Redo的卸载逻辑处理的DB recovery模块,首先客户端发送的存储节点,存储节点对该log进行简单排序,在其判断已落地的log是否连续后,紧接着进行持久化,随后将这些log发送到一些分布式的复制节点,整个log在单个节点一次写入就可以完成的。

最后,他简单的介绍了Atlas存储平台后,他提到腾讯云借助该平台在做CynosDB带来的好处。

除此之外,樊伟还介绍了包括Atlas系统的架构,数据路由方式、IO协议栈,以及系统的高可用性与存储特性。

CynosDB高可用架构及快速恢复实现

腾讯云/云架构平台部CDB数据库团队的李岩,作为第三个出场的讲师从管控的角度讲解了CynosDB的高可用性能。

首先,他分享了业内高可用系统的设计方案,并介绍了腾讯云的设计方案:第一,如何探测;第二,如何探测故障;第三,如何恢复。

腾讯云/云架构平台部CDB数据库李岩

其次,李岩针对CynosDB的基础版,利用具体示例介绍了其如何实现快速恢复。他强调,

计算层有两个MySQL进程,一个存储的Client。存储层有TXStore,恢复原理是一致性问题的获取,只要拿到这个问题,上层就会知道,直接构建一个进程,然后去做恢复或者提交。

以上,李岩在本次分享中主要对高可用系统的设计方式、快速恢复、脑裂问题的规避以及整体架构,对PostgreSQL数据库通过数据冗余和日志同步实现一主多读,并允许备机在主机不可用后,替换主机继续对外提供服务,保证系统的可用性。

在CynosDB的计算存储分离架构里,数据库实例共享同一份数据,而且一主多读的设计与传统数据库相比也有很大差异。

CynosDB for PostgreSQL——主多读架构

腾讯云CynosDB不仅仅兼容MySQL,同时也兼容PostgreSQL。PostgreSQL数据库通过数据冗余和日志同步实现一主多读,并允许备机在主机不可用后,替换主机继续对外提供服务,保证系统的可用性。

在CynosDB的计算存储分离架构里,数据库实例共享同一份数据,而且一主多读的设计与传统数据库相比也有很大差异。

本次技术沙龙的下半场由腾讯数据库开发工程师孙旭,为大家分享了CynosDB for PostgreSQL一主多读架构。

腾讯数据库开发工程师孙旭

关于CynosDB for PostgreSQL的架构、关键设计、一主多读架构进行了介绍。因传统数据库在云上面临资源利用率低、扩展能力不足等问题,所以CynosDB应运而生。

CynosDB的解决思路是计算存储分离、日志下沉及异步回放、共享分布、日志异步回放和多版本读(同步)。其次,在传统PostgreSQL主备模式仍有缺点的情况下,采用一主多读架构,可以增强横向扩展读能力,并提升数据库的可用性。

CynosDB for PostgreSQL分布式存储

最后一位出场的嘉宾是腾讯云数据库CynosStore负责人许中清,分享中他为大家分享了CynosDB for PostgreSQL分布式存储的一些关键性技术。

首先,许中清为大家介绍了历史上出现的数据库集群集中主要架构,并强调目前交易性数据库最主流的方式,分别是类似谷歌的Spanner、以及类似亚马逊 Aurora的数据库。

腾讯云数据库CynosStore负责人许中清

接下来,他将传统数据库与CynosDB进行对比,详细解释了CynosDB数据库的优势——存算分离架构。他表示为了让存储突破单节点限制,PostgreSQL分布式存储发挥了其明显的优势。

最后,许中清总结CynosDB,简单来说就是基于日志异步写的存储系统,并指出其特点分别是非对称读写;异步写、同步读;并发写入、日志串行化;支持两层、块设备层、文件系统层;能接入任何基于日志先写的存储系统;存储分布式化。

随着许中清先生的精彩演讲的结束,在场的百余位技术小伙们,与云数据库大咖们互动切磋,伴随着欢声笑语与热烈的现场交流,本次云+技术沙龙——腾讯云自研数据库CynosDB交流会圆满结束。

当然,如果你还意犹未尽,让我们继续关注4月13日在北京车库咖啡举办的探索AI,赋能未来-计算机视觉的原理及最佳实践技术沙龙,现场更有Workshop活动哦。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。