BoltDB 介绍与源代码分析(一):BoltDB 概述

BoltDB 介绍

BoltDB 是一个使用 Golang 语言编写的嵌入式 KV 数据库

GitHub 地址: https://github.com/boltdb/bolt

Etcd 就是使用了 BoltDB 作为数据存储

BoltDB 作者表示:

  • BoltDB 初衷是提供一个简单的纯 Go 键/值存储,并且不会使用无关的功能使代码膨胀
  • 自己不再有时间或精力继续这项工作
  • BoltDB 处于稳定状态,并有多个成功的项目在使用

因此,该开源项目,作者目前已经 Archive

Etcd fork 了分支: https://github.com/etcd-io/bbolt ,并提供了新的空闲页管理机制

BoltDB 特点

BoltDB 具备以下特点:

  • 单机数据库,非分布式数据库
  • 具备 ACID 事务一致性
  • 具有 MVCC 的多读单写并发
  • 基于 B+ 树组织索引与存储
  • 文件映射与简单逻辑页管理机制
  • 其他特点:纯粹,只处理 KV 存储;简单,代码量少;嵌入式

以上特点表现出来的效果:

  • 可靠、稳定、数据不丢失
  • 写入操作 TPS 低,适合写频次不高的业务
  • KV 存储,不适合数据关系复杂的业务
  • KV 数据库中较少的具备事务特性的数据库

以至于:

  • 与 Etcd 这种偏配置向运维向应用的契合度非常高
  • 是非常棒的,可作为学习数据库入门的 Golang 源代码教材

下章预告

下章将整体介绍 BoltDB 代码组织情况、代码架构等

后续章将深入每个模块,介绍 BoltDB 相关实现

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fananchong2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值