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

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

2019年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活动哦。

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

  1. 京东云mysql 外网访问_干货|上云了,如何保障云数据库的高可用?

    责任共担模型 朋友和我吐槽,自从他负责的系统上云后,在云数据库上经历了好几次故障,而事后的故障复盘,居然都是他们自己的责任和问题,这让他很被动.更尴尬的是,原想着上云后,数据库的问题都是公有云厂商负责 ...

  2. 腾讯云mysql高可用方案_腾讯云数据库团队:MySQL数据库的高可用性分析

    作者介绍:易固武,腾讯高级工程师,参与腾讯账号安全建设,腾讯数据仓库(TDW)优化改造,腾讯云数据库等项目,对大规模分布式存储和计算系统有浓厚的兴趣和经历 MySQL数据库是目前开源应用最大的关系型数 ...

  3. 腾讯云mysql如何设置远程访问_腾讯云主机 MySQL 远程访问配置方法

    使用腾讯云主机安装 MySQL 之后,需要通过以下步骤进行配置以实现远程访问,主要分为两大部分 一.服务器端口配置 1.如果你的云主机配置了安全组,如果没有配置安全组就可以直接跳过"步骤1& ...

  4. 免费报名 | 腾讯云自研数据库CynosDB交流会

    本文由云+社区发表 作者:技术沙龙 All in 云+时代,数据库的高可用性.按需付费.按需扩展等属性解放了大批开发者.腾讯发布的自研数据库CynosDB作为国内首款同时兼容MySQL和PG的云原生数 ...

  5. 腾讯视频手机app下载安装_腾讯视频怎么签到

    只需要打开腾讯视频,就可以在线享受腾讯视频网站内全部免费高清正版视频.最新影视大片.最独家的综艺.旅游.纪录片,在众多的播放器当中,腾讯视频堪称完美.腾讯视频是一个高品质的视频网站,腾讯视频依靠独特的 ...

  6. 语音识别技术原理是什么 讯飞语音识别技术特点介绍【详解】

    语音识别技术原理简介 自动语音识别技术(Auto Speech Recognize,简称ASR)所要解决的问题是让计算机能够"听懂"人类的语音,将语音中包含的文字信息"提 ...

  7. rap技术原理_「水深坑多」做分子海绵,你还需要了解这些技术

    技术干货!快来收藏哦 做lncRNA/circRNA分子海绵研究,您需要了解这些技术: 1. Northern blot 2. RACE 3. FISH 4. RIP 5. RNA pull down ...

  8. 阿里云mysql本地可以连接数据库_本地电脑连接阿里云服务器上搭建的MySQL数据库...

    一.前言 在上一篇博客:在CentOS 7 下安装mysql5.7 我们在阿里云服务器上安装好了MySQL 5.7.那么怎样可以使我们在本地的 navicat for MySQL工具上连接并进行数据库 ...

  9. 深入探索android热修复技术原理_打卡活动:技术书籍书单

    不知不觉,码个蛋打卡活动都已经60多天了,好多小伙伴都已经可以领取第一波奖励:技术书籍了,上周好多小伙伴私信码仔,问都有哪些技术书籍,码仔今天就给大家列了个书单供大家选择: 01 Android软件安 ...

  10. golang mysql连接池原理_[Go] golang实现mysql连接池

    golang中连接mysql数据库,需要使用一个第三方类库github.com/go-sql-driver/mysql,在这个类库中就实现了mysql的连接池,并且只需要设置两个参数就可以实现 一般连 ...

最新文章

  1. Thrift的服务器和客户端Python案例
  2. python 程序打包成 exe 文件
  3. Python初学者请注意!别这样直接运行python命令,否则电脑等于“裸奔”
  4. 基于Python编写的简易翻译器
  5. 【Python】青少年蓝桥杯_每日一题_3.19_约分
  6. Java中的out.write()和out.print()的区别
  7. 对着爬虫网页HTML学习Python正则表达式re
  8. 变量和简单数据类型(一)
  9. USB 3.1 与 Type-C 接口有什么关系呢
  10. 测试(一)试题及答案
  11. 博客园修改TinyMCE编辑器为Markdown编辑器的方法
  12. faster RCNN 与 fast RCNN 一分钟回忆图
  13. android让字体左右对齐,Android 实现文字左右对齐
  14. 无法安装visual studio code,snap vscode has install-snap change in process
  15. DotNetTools Workflow教程
  16. Ubuntu windows双系统没有引导界面的解决办法
  17. 电容或电感的电压_电流,电压,电阻,电容和电感
  18. The following packages have unmet dependencies: build-essential : Depends: libc6-dev but it is not
  19. 【转】五分钟理解什么是接口
  20. 千年3+db服务器修改无效,《千年3》2019年1月服务器互通公告

热门文章

  1. 【原版教材•中英对照】电化学阻抗谱及其应用——一本专门针对研究生和电化学研究人员的书籍
  2. keras 中的 verbose 参数详解
  3. 如何写一个简单的时钟表盘(qt)
  4. 象棋的杀法??????
  5. js闭包循环原因_「js基础」JavaScript入门,难不难你来说
  6. python数列_Python斐波拉契数列
  7. apache2添加网站配置
  8. 财务会计上的凭证冲销和SAP中的凭证冲销(红冲、蓝冲)
  9. 2022-2027(新版)中国工业5G技术行业发展动态与前景规划分析报告
  10. 1564 区间的价值