多个 RocksDB 实例可以共享和读取相同的键范围吗?
Can multiple RocksDB instances share and read from the same key-range?
Stack Overflow 的过去答案表明 RocksDB 的单线程特性意味着答案是否定的,但官方 FB 文档有这样的页面http://rocksdb.org/blog/2021/05/27/rocksdb-secondary-cache.html,其中多个实例似乎共享一个缓存。
1)这些实例是否使用相同的键范围?
- 如果是这样,如何将更新从一个数据库实例传送到另一个数据库实例?据我所知,RocksDB 没有任何 interDB 通信?
- 数据库实例不共享键范围。
仅供参考。一个进程可以有多个 RocksDB 实例,每个实例可以有多个列族。他们不共享用户数据。在内部,一个实例中的列族共享 WAL(预写日志)、清单(跟踪数据库信息)、选项文件。一个进程中的数据库实例共享相同的环境、线程池、计时器、缓存。
Stack Overflow 的过去答案表明 RocksDB 的单线程特性意味着答案是否定的,但官方 FB 文档有这样的页面http://rocksdb.org/blog/2021/05/27/rocksdb-secondary-cache.html,其中多个实例似乎共享一个缓存。
1)这些实例是否使用相同的键范围?
- 如果是这样,如何将更新从一个数据库实例传送到另一个数据库实例?据我所知,RocksDB 没有任何 interDB 通信?
- 数据库实例不共享键范围。
仅供参考。一个进程可以有多个 RocksDB 实例,每个实例可以有多个列族。他们不共享用户数据。在内部,一个实例中的列族共享 WAL(预写日志)、清单(跟踪数据库信息)、选项文件。一个进程中的数据库实例共享相同的环境、线程池、计时器、缓存。