前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >脑洞分布式关系型数据库的几个技术优化点

脑洞分布式关系型数据库的几个技术优化点

作者头像
sean.liu
发布2023-03-16 21:58:18
9480
发布2023-03-16 21:58:18
举报

在传统数据库的世界里,或许Oracle已经是一个终极形态。但在分布式关系型数据库的世界里,一切才刚开始。

前言

分布式关系型数据库集分布式技术和数据库技术为一体,像Paxos/Raft2PC已经是基础能力,不再赘述,这里主要是记录下一些较为脑洞的想法。为了简化,后面简称为分布式数据库

方向

HTAP

HTAP(Hybrid Transactional/Analytical Processing)混合事务 / 分析处理 1. OLTP,强一致性,快速响应。 2. OLAP,弱一致性,大规模并行。 3. HTAP,取TP和AP二者的平衡点。

传统的逻辑通常是使用ETLOLTP的增量数据同步到OLAP中进行计算。HTAP本质上依然是这个逻辑,只是在实现上比传统更为紧凑了。

Serverless

一种云上流行的服务形势,相比传统的实例售卖,资源调配上粒度更细。 从技术角度来看,其实是数据库的多租户能力。

脑洞

可扩展的计算模块

有的数据库是存储计算分离设计,像TiDB,CockroachDB等,但对于HTAP的需求而言,存在一定算力瓶颈,毕竟在数仓中,这都是多个节点并行计算的。 这部分如果直接丢SQL层,会使得SQL层变得臃肿,如果下沉到存储层,会带来扩展的问题。 比如TiDBTiFlash,就是存储和计算耦合的。 因此,我觉得单独设计具备并行计算能力的模块来承接AP的计算或许是个不错的选择。

多种存储引擎

类似MySQL那样的插件式存储引擎。分布式数据库可以使用多种存储引擎实现更灵活的结构。 和传统数据库不同,分布式数据库的底层通常是KV层,简单说就是一切皆索引。数据会被分片存放到各个节点中,对于计算层而言,底层用的是什么存储方式是不需要关心的,它可以是Btree,LSM行存LSM列存

三副本

分布式数据库通常会保证数据有3个副本,这三个副本就可以是不同的引擎。当然,这带来的问题也不少,比如磁盘容量的不均匀等,或许并不真的可行。

历史数据归档

按照时间归档,比如热数据存放在行存,冷数据迁移到列存

批量数据传输优化

曾在一个讲座中,听到这样一个概念。分布式共识未来主要应用于同步控制信息,而不是传输数据。 因为写入的延迟主要来自于共识模块的网络延迟,毕竟要把数据同步给Follower。一般OLTP场景,数据库修改的量不大。但如果是大量数据导入的场景,共识模块的压力就很大了。 因此,我们看TiDB-Lightning工具的物理导入模式,就是直接将数据编译成SST文件,ingest给每个TiKV节点。 于是,我们发现,为什么不能先把SST文件分发到三个节点中,然后通过共识事件将数据ingest导入呢?这就体现了让分布式共识用于控制的理念。因为数据是客户端直接传输到各个节点的,相比先传输给Leader再通过共识模块同步,延迟上会小很多,也降低了leader的压力。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023年1月31日2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 方向
    • HTAP
      • Serverless
      • 脑洞
        • 可扩展的计算模块
          • 多种存储引擎
            • 三副本
            • 历史数据归档
          • 批量数据传输优化
          相关产品与服务
          分布式数据库 TDSQL
          分布式数据库(Tencent Distributed SQL,以下简称 TDSQL)是腾讯打造的一款企业级数据库产品,具备强一致高可用、全球部署架构、高 SQL 兼容度、分布式水平扩展、高性能、完整的分布式事务支持、企业级安全等特性,同时提供智能 DBA、自动化运营、监控告警等配套设施,为客户提供完整的分布式数据库解决方案。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档