Skip to main content

KV DB Awesome

使用场景
  • 缓存
  • 数据引擎
    • NoSQL 底层
    • SQL 底层
  • KV 最容易实现分布式
  • 数据库都是某种形式上的 KV

Redis Compatible

tip
  • kvrocks 是目前唯一支持 多租户/namespace 的 Redis 兼容数据库
    • 但只兼容到了 4.0, 部分客户端要求 5.0+
    • BullMQ 要求 Redis 5+

Awesome

存储引擎

  • LMDB
  • LevelDB
    • BSD-3, C++
    • by Google
    • 2011-10
    • inspired by Bigtable
    • adopted by
      • IndexedDB in Google Chrome
      • Riak
      • Bitcoin Core, go-ethereum
  • RocksDB
    • by Facebook
    • a fork of LevelDB
      • for server workloads
      • 支持 多核心
      • SSD 优化
      • IO 优化
      • Bloom filter, TTL, Statistics, GeoSpatial Indexcing, Column family, Backup, Compaction, Merge Operator
    • adopted by
      • MyRocks - RocksDB + MySQL
      • ArangoDB
      • Cassandra
      • MariaDB
      • Kafka Streams
      • TiDB
      • YugabyteDB
      • KvRocks
    • 2012-05
  • Badger
  • BoltDB
  • H2
  • BDB - Berkeley DB
  • features
    • Key Types
      • byte array in lexicographical order
    • Value Types
      • byte array
    • Iteration
      • lexicographical order
      • reverse order
      • seeking to a key
    • ACID
      • Atomicity
      • Consistency
      • Isolation
        • 同步
        • 多线程
        • COW/MVCC
      • Durability
  • 参考

FAQ

redis vs memcache