技术细节全曝光百度BaikalDB究竟

导读:文章主要介绍BaikalDB在同程艺龙的完整落地实践,文章把BaikalDB总结为六个核心特性,分别是《BaikalDB高可用与HTAP特性实践》、《BaikalDB高性能与扩展性实践》、《BaikalDB低成本的思考》,希望对大家有帮助。

全文字,预计阅读时间19分钟。

一、BaikalDB高可用与HTAP特性实践

我们从年开始调研开源NewSQL数据库BaikalDB,尝试解决工作中遇到的一些实际问题,例如OLAP业务跑在行存数据库上查询速度慢,数据库跨中心部署高可用方案待完善,在近6个月的研究与实践中,我们向社区提交了列存特性,并使用BaikalDB分别部署了基于列存的OLAP类业务,基于行存的OLTP类业务,及基于双中心的高可用部署方案,有效的解决了相关问题,在这里做一个相关使用经验的分享,希望可以给遇到类似问题的同学提供参考。

1、BaikalDB选型考虑

1.1业界纷纷布局NewSQL

1.2NewSQL数据库核心技术对比

注1:ShardingSphere基于MySQLMGR的Paxos复制协议尚未发布。注2:TiDB3.0起已同时支持乐观事务与悲观事务。注3:由于笔者精力所限,尚有很多NewSQL未参与对比:AmazonAurora,AliyunPolarDB,AnalyticDB,AppleFoundationDB,CockroachDB,华为GaussDB,YandexClickHouse等。

1.3NewSQL技术选型

路径选择:

纯自研:能力有限,投入有限纯开源:无法及时满足定制化需求云服务:安全与成本考虑,短期内核心业务自建IDC,k8s化半自研:我们的选择,不重复造轮子,主体功能交由社区完成,集中有限力量满足公司需求,可供选择的NewSQL有:TiDB,BaikalDB,CockRoachDB等。

从以上几款开源DB中,最终选择BaikalDB的原因有:

背景相似:BaikalDB来源于百度凤巢广告业务团队,由于广告业务的增长走过了从单机到分库分表到分布式的全过程,而我们面临类似的问题。经受考验:已经有百度广告平台多个业务实际使用经验,千级别集群节点,PB级数据规模,我们跟进使用,风险可控。技术栈匹配:BaikalDB(c++实现,10万行代码精炼),依赖少而精(brpc,braft,rocksdb),社区友好,部署简单,技术栈匹配。特性比较完善:基本满足我们需求,我们可以专注于满足公司需求。

1.4BaikalDB简介

BaikalDB是一款百度开源(github.


转载请注明:http://www.aierlanlan.com/rzdk/4683.html

  • 上一篇文章:
  •   
  • 下一篇文章: