火山引擎云数据库 veDB 在字节内部的业务实践( 五 )


多写架构——MultiMaster2.0
MultiMaster2.0的架构如下图所示 , 一共包含三层 , 分别是接入层、计算层、存储层 。 veDB主要提供了以下三方面的支持:
DDL:团队会提供一套完整的DDL语法(包括表、索引) , 之前采用分库分表的方式时 , DDL通常是通过DBA提交工单的方式去执行的 , 对外肯定是不行的;同时 , 也会提供Online操作 , 允许并发DML;增强分布式事务/查询:支持分布式一致性读/写 , 以及支持全局二级索引;其它:还会进行一致性备份/恢复 , 融入QuickResharding 。 火山引擎云数据库 veDB 在字节内部的业务实践
文章图片
火山引擎云数据库 veDB 在字节内部的业务实践】复杂查询:列存储索引和向量化引擎
MySQL的查询能力是比较弱的 , 通常会把MySQL的数据导入到其它系统中去做查询 , 这会产生额外的部署成本 。 因此团队希望增强MySQL的查询能力 , 具体来说 , 会引入列存储索引、向量化引擎和一些其它的优化支持 , 以此来解决部分的OLAP场景需要的复杂查询能力 。 火山引擎云数据库 veDB 在字节内部的业务实践
文章图片
内存优化表
在这个方向上 , veDB主要提供了以下三方面的支持:
MM事务引擎:MemTable本质上是一个单独的存储引擎 , 独立于InnoDB之外 , 与InnoDB实现方式完全不同 , 但是能够达到10倍的InnoDB性能;另外 , veDB提供了完整的ACID能力;MM存储引擎:深度融合了RDMA/AEP , 另外 , 日志和数据一体化;编译执行:在SQL语句上执行了预编译优化 , 大幅减少了CPU执行指令数 。除了上述外 , 团队下一步还会在新硬件、无服务器方面对veDB进行迭代 。 新硬件方面 , veDB会融合RDMA/AEP/DPU;无服务器方面 , veDB会开展自主扩缩容、“自动驾驶”等 。
目前 , veDB正对外开放邀测 。 点击“阅读原文”可访问火山引擎官网 , 企业注册账号即可联系工作人员 , 参与veDB邀测 。