分布式可扩展存储系统 BaikalDB

Apache
C/C++
Linux
百度
2019-11-15
tullyliu
BaikalDB 正在参加 2019 年度最受欢迎开源中国软件评选,请投票支持!
BaikalDB 在 2019 年度最受欢迎开源中国软件评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票赢奖品
已投票

BaikalDB是一个分布式可扩展的存储系统,支持PB级结构化数据的随机实时读写。

提供MySQL接口,支持常用的SELECT,UPDATE,INSERT,DELETE语法。提供各种WHERE过滤、GROUP BY聚合,HAVING过滤,ORDER BY排序等功能,用户可以组合实现各种在线OLAP需求,具备秒级别的亿级数据扫描聚合能力。另外,为了满足各种业务的检索需求,该系统内置全文检索需求,满足大部分快速检索的业务场景。

在虚拟化部署方面,该系统采用share-nothing的架构,可部署在容器中,也实现了多租户隔离,有自定义用户的身份识别和权限访问控制等功能。

BaikalDB 的主要特性如下:

  • 全自主化的容量管理,可以自动扩容和自动数据均衡,支持自动故障迁移,无单点,很容易实现云化,目前运行在Paas虚拟化平台之上。
  • 面向查询优化,支持各种二级索引,包括全文索引,支持常用的 OLAP 需求,支持层级模型。
  • 兼容 mysql 协议,对应用方提供 SQL 界面,支持高性能的Schema 加列。
  • 基于 RocksDB 实现单机存储,基于Multi Raft 协议(我们使用braft库)保障副本数据一致性,基于brpc实现节点通讯交互。
  • 支持多租户,meta 信息共享,数据存储完全隔离。

其中

  • BaikalStore 负责数据存储,用 region 组织,三个 Store 的 三个region形成一个 Raft group 实现三副本,多实例部署,Store实例宕机可以自动迁移 Region数据。
  • BaikalMeta 负责元信息管理,包括分区,容量,权限,均衡等, Raft 保障的3副本部署,Meta 宕机只影响数据无法扩容迁移,不影响数据读写。
  • BaikaDB 负责前端SQL解析,查询计划生成执行,无状态全同构多实例部署,宕机实例数不超过 qps 承载极限即可。
的码云指数为
超过 的项目
加载中

评论(9)

没有头像也是一种帅
拼凑的东西,还用c++拼凑的...跑着跑着哪泄露了都不知道... 还是tikv好,用rust的,安全性能都可以...
w
waterwall
那就用智能指针包裹起来
各种打杂
各种打杂
我丢。。。。。百度的东东???
久永
久永
本来想点关注的,直到我一不小心看到了开发商。。。
吐槽的达达仔
吐槽的达达仔
这个和TiDB有啥不一样?
大漠真人
大漠真人
山寨TiDB吧,把TiDB用C++重写了一遍 ?
c
crystalsis
万物起源TiDB?
大漠真人
大漠真人
人家先开源的。。
xiaoshiyue
xiaoshiyue

暂无资讯

暂无问答

暂无博客

返回顶部
顶部