SQLite
dqlite 是一个 C library,实现了一个嵌入式的可复制SQL database engine,具有高可用和自动失效恢复的特性。
名称 “dqlite” 意味着 “distributed SQLite”,是 dqlite 扩展了 SQLite 而来。SQLite主要单机使用,而dqlite添加了 network protocol可以将多个应用实例链接为一个高可用的集群,而且不需要依赖其他的外部数据库。
使用dqlite的Kubernetes分发版包括MicroK8s和K3s。

主要特性

能力:

  • 完全同步的 network 和 disk I/O
  • Comprehensive test suite for correctness
  • Benchmarked for memory footprint and network efficiency
  • 持久化存储用于transaction logs
  • 快速恢复,用于system restore
  • 稳定的 Golang 客户端,文档包含 wire protocol 用于其它语言的实现。
  • 支持 ARM, X86, POWER 和 IBM Z architectures

    特性:

  • 超低时延,C-Raft 最小化交易延迟。

  • 移植性,C-Raft 和 dqlite 都用c语言编写,提供多平台支持。
  • 开源,采用Apache 2.0 许可,最大的兼容性。
  • 可用,Includes common CLI pattern for database initialization and voting member joins and departures.
  • 快速失效回复,Minimal, tunable delay for failover with automatic leader election.
  • 持续性,Disk-backed database with in-memory options and SQLite transactions.
  • 设计特性,Asynchronous single-threaded implementation using libuv as event loop.
  • 自定义的wire protocol,优化了SQLite primitives 和 data types.
  • 数据复制,基于 Raft algorithm 和高效的 C-raft 实现。

    项目地址

    开源地址:https://dqlite.io/