BaikalDB 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
BaikalDB 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
BaikalDB 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
BaikalDB 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
BaikalDB 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

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 承载极限即可。
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (16)

加载中
已投票,坐等小强请我吃饭:)
2020/10/30 15:07
回复
举报
wdnmd 这架构 咋这么眼熟,一看是bd开源的 瞬间懂了
2019/12/15 10:34
回复
举报
tullyliu软件作者
这个架构图是个概要架构,大部分分布式存储系统都是这样的模式,有兴趣可以关注下各种分布式存储系统,包括不限于 CockRoachDB,分布式文件系统,OceaBase,F1/Spanner
2020/06/24 11:41
回复
举报
拼凑的东西,还用c++拼凑的...跑着跑着哪泄露了都不知道... 还是tikv好,用rust的,安全性能都可以...
2019/11/20 13:27
回复
举报
那就用智能指针包裹起来
2019/11/20 22:53
回复
举报
tullyliu软件作者
百度绝大部分系统的基础语言都是C++,良好的编码规范和使用经验和测试保障才是达成系统健壮的基础要求,语言设计只是很小一部分因素
2020/06/24 11:44
回复
举报
我丢。。。。。百度的东东???
2019/11/20 11:10
回复
举报
本来想点关注的,直到我一不小心看到了开发商。。。
2019/11/20 10:46
回复
举报
这个和TiDB有啥不一样?
2019/11/20 08:25
回复
举报
山寨TiDB吧,把TiDB用C++重写了一遍 ?
2019/11/20 10:22
回复
举报
万物起源TiDB?
2019/11/20 13:30
回复
举报
人家先开源的。。
2019/11/20 14:12
回复
举报
tullyliu软件作者
BaikalDB是2017年初立项的项目,4人团队花费8个月完成首个上线版本,并在2018年8月左右开源,没有根据时间来研判山寨性质吧。BaikalDB 的主要参考过 F1/Spanner 论文和 Impala 源码。然后BaikalDB 在2018年开源时由于内部依赖的 sql parser 没有得到负责团队的允许,综合对比了多个开源 sqlparser,最后参考了 tidb 使用的 https://github.com/cznic/ql 的 sql lex&yacc 定义文件,利用 lex&yacc 完成 sqlparser。最早开源的时候,TiDB 的 CTO 也点评过 BaikalDB 的设计,也并没有提到山寨。
2020/06/24 12:26
回复
举报
好吧,两者确实很像
2020/06/24 18:03
回复
举报
tullyliu软件作者
该评论暂时无法显示,详情咨询 QQ 群:912889742
2019/11/19 18:08
回复
举报
更多评论
发表于开发技能专区
05/21 00:02

BaikalDB 2.0.0 版本发布

Release BaikalDB v2.0.0 · baidu/BaikalDB (github.com) Notice: 滚动升级顺序:BaikalMeta=>BaikalStore=>BaikalDB 如没特殊说明,后续升级步骤都应该按上述顺序进行 New Features: 支持cmake编译 增加bvar监控 修复部分统计信息问题 支持b'11'、 0b11、 x'AA'、 0xAA 字面 支持子查询 支持table t1 join table t2 支持binlog 增加全局索引的online ddl操作,alter table xxx add index global idx(filed); 代价相关会结合一...

0
3
发表于软件架构专区
2020/06/05 17:34

BaikalDB 1.1.2 版本发布

BaikalDB 正式开启 1.1.X 版本 版本发布 https://github.com/baidu/BaikalDB/releases/tag/v1.1.2 https://gitee.com/mirrors/BaikalDB/tree/v1.1.2 主要特性介绍 分布式事务实现优化 在第一版事务设计中,如果事务COMMIT过程中有部分Region失败,通过持续重试直到Region全部成功才结束,但在生产环境下可能永远不会结束重试,这会带来额外的运维工作。 因此在新版本事务实现中,我们结合Rocksdb悲观事务与Percolator事务模型,...

1
8
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于数据库专区
2020/06/05 13:54

BaikalDB 1.1.2 版本发布

# BaikalDB 正式开启 1.1.X 版本 ## 版本发布 https://github.com/baidu/BaikalDB/releases/tag/v1.1.2 https://gitee.com/mirrors/BaikalDB/tree/v1.1.2 ## 主要特性介绍 ### 分布式事务实现优化 在第一版事务设计中,如果事务COMMIT过程中有部分Region失败,通过持续重试直到Region全部成功才结束,但在生产环境下可能永远不会结束重试,这会带来额外的运维工作。 因此在新版本事务实现中,我们结合Rocksdb悲观事务与Percola...

0
3
发表于数据库专区
2020/08/31 17:46

BaikalDB在同程艺龙的应用实践(三)

> 本系列文章主要介绍 BaikalDB在同程艺龙的落地实践 > > 作者简介:[王勇](https://github.com/wy1433 "王勇"),同程艺龙架构师,BaikalDB Column Store Contributor,专注于分布式数据库方向的研发工作 > > 欢迎Star关注 BaikalDB ([github.com/baidu/BaikalDB](https://github.com/baidu/BaikalDB)) 国内加速镜像库[gitee](https://gitee.com/baidu/BaikalDB "gitee") # BaikalDB 低成本思考 本系列文章把BaikalDB总结为六个...

0
11
发表于数据库专区
2020/06/12 15:52

BaikalDB在同程艺龙的应用实践(一)

> 本系列文章主要介绍 BaikalDB在同程艺龙的落地实践 > > 作者简介:[王勇](https://github.com/wy1433 "王勇"),同程艺龙架构师,BaikalDB Column Store Contributor,专注于分布式数据库方向的研发工作 > > 欢迎Star关注 BaikalDB ([github.com/baidu/BaikalDB](https://github.com/baidu/BaikalDB)) # BaikalDB高可用与HTAP特性实践 我们从2019年开始调研开源NewSQL数据库BaikalDB,尝试解决工作中遇到的一些实际问题,例如O...

3
35
发表于数据库专区
2020/06/22 15:34

BaikalDB技术实现内幕(一)-- 分布式事务实现

> 本系列文章主要介绍HTAP数据库BaikalDB的技术实现细节。 > > 作者介绍:[罗小兵](https://github.com/luobuda),百度商业平台研发部高级研发工程师,主要负责BaikalDB事务能力,全局二级索引等方向的研发工作。 > > 欢迎关注 Star [github.com/baidu/BaikalDB](https://github.com/baidu/BaikalDB) 国内加速镜像库[gitee](https://gitee.com/baidu/BaikalDB) ## 一、概述 ### BaikalDB系统简介 [BaikalDB](https://github.co...

2
36
发表于数据库专区
2020/07/13 12:55

BaikalDB在同程艺龙的应用实践(二)

> 本系列文章主要介绍 BaikalDB在同程艺龙的落地实践 > > 作者简介:[王勇](https://github.com/wy1433 "王勇"),同程艺龙架构师,BaikalDB Column Store Contributor,专注于分布式数据库方向的研发工作 > > 欢迎Star关注 BaikalDB ([github.com/baidu/BaikalDB](https://github.com/baidu/BaikalDB)) 国内加速镜像库[gitee](https://gitee.com/baidu/BaikalDB "gitee") # BaikalDB 高性能和扩展性实践 本系列文章把BaikalDB总...

6
22
发表于数据库专区
2020/08/20 01:31

BaikalDB技术实现内幕(二)-- 索引实现

> 本系列文章主要介绍HTAP数据库BaikalDB的技术实现细节。 > > 作者介绍:[黄文亮](https://github.com/luffyhwl),百度商业平台研发部资深研发工程师,主要负责BaikalDB索引能力,性能优化等方向的研发工作。 > > 欢迎关注 Star [github.com/baidu/BaikalDB](https://github.com/baidu/BaikalDB) 国内加速镜像库[gitee](https://gitee.com/baidu/BaikalDB) ## BaikalDB系统简介 [BaikalDB](https://github.com/baidu/BaikalDB...

1
19
发表了博客
2020/11/27 16:05

BaikalDB技术实现内幕(三)--代价模型实现

此文转载自:https://my.oschina.net/BaikalDB/blog/4715063 大咖揭秘Java人都栽在了哪?点击免费领取《大厂面试清单》,攻克面试难关~>>> 本系列文章主要介绍HTAP数据库BaikalDB的技术实现细节 作者简介:于正泉,百度商业平台研发部高级研发工程师。主要从事分布式存储、分布式数据库等领域的工作,现主要负责BaikalDB SQL 性能优化,稳定性相关方向的研发工作。 欢迎关注 Star github.com/baidu/BaikalDB 国内加速镜像库git...

0
0
发表了博客
2020/12/01 15:44

BaikalDB技术实现内幕(三)--代价模型实现

此文转载自:https://my.oschina.net/BaikalDB/blog/4715063 大咖揭秘Java人都栽在了哪?点击免费领取《大厂面试清单》,攻克面试难关~>>> 本系列文章主要介绍HTAP数据库BaikalDB的技术实现细节 作者简介:于正泉,百度商业平台研发部高级研发工程师。主要从事分布式存储、分布式数据库等领域的工作,现主要负责BaikalDB SQL 性能优化,稳定性相关方向的研发工作。 欢迎关注 Star github.com/baidu/BaikalDB 国内加速镜像库git...

0
0
发表于数据库专区
2020/11/12 22:47

BaikalDB技术实现内幕(三)--代价模型实现

> 本系列文章主要介绍HTAP数据库BaikalDB的技术实现细节 > > 作者简介:于正泉,百度商业平台研发部高级研发工程师。主要从事分布式存储、分布式数据库等领域的工作,现主要负责BaikalDB SQL 性能优化,稳定性相关方向的研发工作。 > > 欢迎关注 Star [github.com/baidu/BaikalDB](https://github.com/baidu/BaikalDB) 国内加速镜像库[gitee](https://gitee.com/baidu/BaikalDB) ## BaikalDB系统简介 [BaikalDB](https://githu...

0
8
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
16 评论
305 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部