来源:通信世界网 责任编辑:李琦
2019年3月16日,由腾讯云云+社区主办的腾讯云自研数据库 CynosDB 技术分享会圆满落幕,来自各行各业的三百余位开发者到场与腾讯云数据库技术专家就CynosDB的技术原理和实现,进行了深入交流探讨。
战略合作伙伴英特尔也为本次分享会的成功举办提供了大力支持。
作为腾讯云在数据库领域的重要布局,CynosDB单节点读性能可以达到130万QPS,全面超越业内目前最高的100万QPS水平,而价格仅为商业数据库的1/15。
架构上,CynosDB完全兼容开源数据库引擎,是国内首家兼容MySQL5.7和PostgreSQL10的云数据库产品。内核层面,腾讯云数据库团队总共进行了近60多项优化。为了提升系统可用性,CynosDB以软件优化与新硬件结合为理念,采用了先进的计算和存储分离架构,实现了计算无节点状态,支持秒级故障切换和恢复,数据备份时间缩短到60秒之内,速度提升了180倍。
会上,腾讯云数据库领域的资深大咖全方位剖析了CynosDB的技术内幕,解读兼容两大主流开源数据库的一主多从架构、高可用及快速恢复实现、可计算智能存储,奉上了一场关于“腾讯云原生CynosDB”的技术盛宴。
CynosDB技术内幕——新一代计算引擎
会上,腾讯高级工程师尚博分享了关于CynosDBfor MySQL计算存储分离架构的实现。他表示,计算与存储的分离,不仅在性能、扩展性和高可用方面有着大幅的提升,而且架构的解耦使得计算层和存储层都获得了较大的优化空间。
腾讯高级工程师尚博
对于计算存储分离架构的实现与优化方面,尚博谈到了数据库服务是一个有状态、重IO的服务,为了解决传统数据库上云遇到的种种问题,如备份回档、弹性扩展、数据冗余、迁移等,传统厂商可能会选择共享存储替代本地存储的方案,虽然能解决部分问题,但基于网络的IO却面临着极大的挑战,往往需要昂贵的硬件和技术来支撑,无形中增加了数据库服务的成本。基于以上问题,CynosDB引入计算存储分离的架构,存储层使用共享的分布式块存储云服务,计算层则将不必要的IO全部卸载,实现计算与存储基于日志传输的新架构。
不仅如此,基于多年数据库内核研发经验,尚博在日志处理方面有深入研究。他详细介绍了如何实现基于日志传输的计算存储分离架构,以及计算层基于架构解耦提供的优化空间所做的优化细节,如引擎卸载、异步处理等。在解决以上痛点的同时,CynosDB很好的诠释了存储层高可用,计算层高扩展和高性能的特点,如写性能是自建云数据库的3.5倍、秒级故障切换、弹性扩展、持续备份能力等。
可计算智能存储揭秘
腾讯高级工程师樊伟为开发者详细介绍了CynosDBfor MySQL整体软件架构,同时详细解读了page读写、redo流程、recovery流程以及 DBStore软件模块,并重点介绍了DBStore模块负责所有Redo的相关逻辑处理。大致流程如下,客户端发送日志流到DBStore模块;DBStore对该模块redolog进行排序,判断与persistqueue中的log是否连续;若log连续,下一步则进行持久化,同时将这些log发送到一些分布式的副本节点;待副本返回应答和本地持久化成功之后,就可以向前端返回成功了。redolog在单个存储节点内,一次写入就可以完成返回。
腾讯高级工程师樊伟
最后,樊伟简单介绍了Atlas存储平台。他提到CynosDB借助Atlas平台能力快速构建了DB部分能力,比如物理备份等;除此之外还分享了Atlas系统的架构、数据路由方式、IO协议栈,以及系统的高可用性与部分存储特性。想了解更多细节可搜索关注腾讯云数据库官方微信,回复0316即可下载分享会PPT。
CynosDB高可用架构及快速恢复实现
腾讯高级工程师李岩从管控的角度讲解了CynosDBfor MySQL的高可用系统,主要对高可用系统的设计方式、快速恢复、脑裂问题的规避以及整体架构做了详细阐述。在分享了业内高可用系统的设计方案后,李岩介绍了腾讯云CynosDB for MySQL的设计方案,详细阐述了CynosDB如何做故障探测,针对故障如何决策以及故障恢复的机制。
腾讯高级工程师李岩
随后,李岩利用具体示例介绍了CynosDB如何实现快速恢复。他强调,恢复原理是一致性位点的获取,快速的恢复是通过并发广播和二叉堆排序来保证的。。
在CynosDB for MySQL的计算存储分离架构中,一主多从情况下,多个数据库实例共享同一份数据,主从之间采用物理复制的方式,这种设计方式与传统数据库相比也有很大差异。
CynosDB for PostgreSQL—主多读架构
CynosDB不仅仅兼容MySQL,同时也兼容PostgreSQL。腾讯数据库高级工程师孙旭在本次会议中分享了CynosDB for PostgreSQL一主多读架构以及设计。
传统PostgreSQL数据库通过数据冗余和日志同步实现一主多读,并允许备机在主机不可用时,替换主机继续对外提供服务,以保证系统的可用性。而在CynosDB的计算与存储分离架构下,数据库实例共享同一份数据,一主多读的设计与传统数据库相比也有很大差异。
腾讯高级工程师孙旭
孙旭指出,传统数据库在云上面临很多瓶颈:资源利用率低、扩展能力不足等,而CynosDB通过计算存储分离、日志下沉及异步回放等设计可以很好的解决这些问题。CynosDB for PostgreSQL架构的设计和优化,使得计算层可以轻松地实现横向扩展。
同时,孙旭对传统PostgreSQL数据库的主备模式所暴露的问题进行了阐述,包括数据冗余、切换慢等。针对这些问题,CynosDB for PostgreSQL通过日志并行恢复、计算存储分离、数据buffer多版等技术,降低了系统切换时间以及读实例的创建时间,解决了传统数据库的主备模式所面临的问题。
CynosDB for PostgreSQL分布式存储
最后一位出场的嘉宾是腾讯云数据库CynosStore负责人许中清,他分享了CynosDB for PostgreSQL的基座分布式存储CynosStore的关键性技术,剖析了历史上出现的数据库集群集中主要架构,以及当前交易型数据库(例如Goolge的Spanner和Amazon的Aurora云数据库)的两种新架构和发展方向。
腾讯云数据库CynosStore负责人许中清
与传统数据库相比,CynosDB存储与计算分离的架构具有得天独厚的优势。为了让存储突破单节点限制,以及存储和计算资源灵活调度,CynosStore分布式存储发挥了其明显的优势。
简单来说,CynosStore分布式存储就是基于日志异步写的存储系统,具备非对称读写,异步写、同步读,并发写入、存储系统本身负责日志串行化,支持两层、块设备层、文件系统层,能接入任何基于日志先写的存储系统,存储分布式化并且自身具备多副本高可用能力等特点。
近日,成者再次推出新款扫描仪--Aura Plus旗舰版。
北极光科技网于2018年正式上线。秉承“专注、沟通、领先”的媒体理念。
可是,就在小编准备大干一场的时候,发现以前保存的资料零七八碎,散乱不堪;如何把他们放到同一网盘里规规矩矩地归纳备份起来,就成为了新年选择的重中之重。
今天,搜狗公司正式发布S1、E1两款AI录音笔新品,还与故宫宫廷文化合作推出了S1和C1 Pro两款产品的故宫宫廷联名款。
和奔驰、奥迪等豪华品牌相比,宝马近些年来在电动车上的速度要慢了不少。
标致作为法系车的代表车企,虽然较早的进入中国市场,但在国内的品牌运营方面同大众、丰田等头部车企存在一定的差距,导致如今销量也是每况愈下,在国内车市的存在感也越来越弱。