点赞破万的数据库内核技术探秘,精华为您总结好了!

2022-05-25 11:40:27 浏览数 (2)

为帮助开发者更好地了解和学习前沿数据库技术,腾讯云数据库特推出"DB  TALK"系列技术分享会,聚焦干货赋能创新,邀请数十位鹅厂资深数据库专家每月和您一起深入探讨云数据库的内核技术、性能、架构、管理运维和最佳实践等。

第二期分享会“数据库内核技术探秘”专场已结束,本期带来各讲师分享精华及直播回顾视频。想要讲师ppt的小伙伴,可在腾讯云数据库公众号后台发送"5.7内核课件",即可获得讲师课件哦!

Redis的多可用区实践

刘家文,腾讯云数据库高级工程师

在如今的业务场景下,高可用性要求越来越高,核心业务跨可用区已然成为标配。刘家文讲师在本次分享详细阐述了Redis是如何实现多可用区的,具体从Redis主从版、集群版原生架构,腾讯云Redis集群模式主从版、多AZ架构实现以及多AZ关键技术点四个部分展开介绍。

Redis的原生架构包含主从版、集群版。在实现高可用上,原生架构都存在一定的问题。腾讯云数据库在架构设计时,为了解决双主的问题及支持无损提主的操作,选择使用了集群模式的主从版。实现集群模式的主从版,需要解决以下三个问题:

  • 集群模式需要至少3个投票(仲裁)节点的问题

由于主从版本只有一个Master,为了达到3个仲裁节点,刘家文表示这里腾讯云引入了两个Arbiter节点,Arbiter只有投票权,不存储数据,通过这个改造后,实现集群版的高可用。

  • 多DB问题

由于腾讯云上引入了Proxy,减少了对多DB管理的复杂,因此可以放开单DB限制。

  • 需要启用跨slot访问

在主从版中,所有的slot都在一个节点上面,不存在跨节点问题,因此可以取消跨slot限制。解决完这几个主要问题后,集群模式可以达到完全兼容主从版,同时拥有集群版的自动容灾、无损提主及可以在业务支持的情况下,无缝升级为集群版。

为了进一步提升Redis的性能,腾讯云引入了Proxy。其效果如下:

  • 兼容不同的Client
  • 兼容后端Redis的版本
  • 补齐了Redis缺少的流量隔离
  • 支持更丰富的指标监控
  • 将多个连接的请求转换为pipeline请求转发到后端

此外,刘家文讲师还具体讲解了多AZ架构、实现原理及常见部署问题。在保证高可用后,讲师提出多可用区的三个关键问题,分别为高可用如何部署?性能如何达到最优?可用区故障后如何保证集群自动恢复?通过拆解问题,刘家文老师围绕多AZ节点部署、存储链路就近接入、多可用区故障背后的选主机制原理、多节点故障的投票时机等关键技术点对问题进行了一一解答。

想了解更多Redis多AZ架构、关键技术点实现细节内容,点击观看下方视频,即可获得。

分布式数据库Online-DDL技术原理与实现

赵东志,腾讯云数据库高级工程师

腾讯云数据库TDSQL完整支持分布式事务,可支撑业务在保持高性能且连续服务的基础上,一个月内完成高达1000次表结构在线变更。在高频的表结构变更过程中,如何减少对在线业务请求的影响,甚至使得用户能够以原生、不阻塞业务的方式进行,这就成为了分布式数据库面对的技术挑战。赵东志讲师在本次分享中为大家深度解读腾讯云数据库TDSQL OnlineDDL的原理与实现。

整体而言,腾讯云数据库TDSQL Online DDL核心技术可以总结为四个方面:

Instant DDL:通过多版本的解析规则,使得加列或varchar扩展长度等无损类型变更这些只需修改元数据的DDL瞬间完成。

Add/Drop Index:通过托马斯写机制,解决生成索引数据和用户事务的并发问题;采用F1过渡态 存储层版本交验机制,解决多个节点间缓存一致性问题。

通用Online DDL:抽象出适用于所有DDL的copy table流程,进一步将Online DDL推广到可支持绝大多数MySQL的DDL。

DDL原子性:通过任务队列 恢复线程的工作机制,保证DDL整体的原子性。

想了解更多腾讯云数据库TDSQL OnlineDDL的原理与实现内容,点击观看下方视频,即可获得完整版赵东志讲师分享内容。

数据库优化器核心思想

李硕,腾讯云数据库专家工程师

数据优化器一直是数据库领域中的热门话题,李硕讲师在本次分享中为大家详细介绍了优化器的基础知识及原理,展示了数据库优化器的核心技术、并通过一些实际的例子详细说明了在实际工作中如何应用这些技术

李硕老师以TDSQL-A产品为例,落实到代码层面的为大家介绍如何把优化器知识融入到实际工作当中去。TDSQL-A是腾讯自主研发的分布式超大规模的在线关联数据库,是无共享的MPP的一个架构,支持行存储以及列存储,支持超大规模的集群以及超高的计算能力,并且拥有对Oracle的兼容的能力。

具体来看,李硕讲师详细介绍了查询语句访问数据背后的内在原理及流程,优化器的执行过程以及谓词的应用。在介绍具体知识点的过程中,为了让大家更加明白如何优化器应用,讲师还设计了练习环节手把手带着大家熟悉背后的原理,并且一步步优化代码写法。

想了解数据库优化器的具体内容、怎样优化代码?点击观看下方视频,即可获得完整版李硕讲师分享内容。

基于分级存储与Serverless结合的新一代数据库技术畅想

窦贤明,腾讯云数据库专家工程师

云与分布式是数据库发展的两大趋势,那云时代下新一代数据库会是什么样的呢?窦贤明讲师在本次分享中给大家分享了自己的畅想,基于冷热分级存储与ServerlessDB结合的新一代数据库

窦贤明讲师提出,云上数据库相比传统数据库,在固定资产成本、弹性、用户体验、运营成本等方面,相比于传统IDC 方式有较大的优势,在当前阶段已经实现了线下数据库搬到云环境这一目标。云时代数据库的进一步演进,则会体现在更低更灵活的成本、更极致的弹性、更优的用户体验、更好的RTO、RPO等方面

那如何解决这些问题呢?窦贤明讲师强调存算分离这个概念,通过存算分离实现计算层与存储层的分别演进与迭代,更大化利用各自的演进能力和优点,持续性的将计算做轻、存储做重。在分享中讲师从云的本质出发、思考极限演进的可能性,并提出假设,最终以用户为中心设计出产品形态 ServerlessDB 和 冷数存储分离的演进方向

想了解更多PostgreSQL的极致云原生实现细节,点击观看下方视频,即可获得完整版窦贤明讲师分享内容。

想要讲师ppt的小伙伴,可在腾讯云数据库公众号后台发送"5.7内核课件",即可获得讲师课件哦!

-- 更多精彩 --

数据库行业未来发展,一文讲清楚

金融行业核心系统如何进行分布式改造?

数据库管理与运维难不难?腾讯云数据库给你答案

↓↓点击阅读原文,了解更多优惠

0 人点赞