问题标签 [rocksdb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
402 浏览

rocksdb - 将 AMQP、ZMQ、Kafka 等 MEssaging 队列与 Rocksdb 一起使用

我已经阅读了有关 RocksDB 的一些材料、会谈和一些文档。对于某些用例,我发现它很有趣。我想了解如何使用 AMQP、ZMQ 或 Kafka 等消息队列填充数据。

我没有浏览 github 上的单个文件,以防对此有任何解释。要求您分享您的想法/经验。

谢谢

0 投票
1 回答
380 浏览

scala - 使用 RocksDB 应用程序和 SBT 测试 Samza

我想从 SBT 运行 Samza(使用 RocksDB KV 存储)应用程序。当我做 ./sbt "run" 我收到以下错误

我假设由于我使用 运行./run,sbt 直接运行这些类,而不组装 JAR。

依赖项设置正确,并且我有librocksdbjni-linux64.so内部的 RocksDB JAR。

我必须在运行之前创建一个程序集吗?

在这种情况下如何在不创建程序集的情况下进行测试?

0 投票
1 回答
396 浏览

python-2.7 - Rocksdb 出错

我想在这些之后测试 pyrocksdb步骤在构建 shared_lib 并设置 pyrocksb 后(没有重大问题并严格按照步骤操作),我尝试从 python 加载rocksdb并得到以下错误:

该问题已被报告并更详细地描述此处报告并进行了更详细的描述,但在我看来尚未解决。有人已经解决了吗?

编辑:

我让它工作了。最后的提示是在这个rocksdb github讨论上。不知何故,g++ 编译器的 -lrt 标志的使用似乎导致了导致链接丢失的错误。如前所述,一个快速修复方法是直接添加 --no-as-needed 标志作为 g++ 编译器的选项。看此处

我刚刚运行 make,停止复制屏幕打印输出的选项和标志列表。在开头插入上述可选标志命令。这使它工作:-)

对我来说,g++ 命令看起来像这样:参见“-Wl, --no-as-needed”

0 投票
2 回答
1461 浏览

rocksdb - 在 RocksDB 中存储任意字节

RocksDB 表示它可以存储任意数据,但 API 仅支持std::string类型。我想存储std::vector<T>值,如果我想这样做,那么我必须将其转换为std::string.

是否有一种不那么脆弱的方式来存储任意类型?

0 投票
5 回答
32056 浏览

redis - Redis 与 RocksDB

我读过 Redis 和 RocksDB,我没有得到 Redis 相对于 RocksDB 的优势。

我知道 Redis 都是内存中的,而 RocksDB 是内存中的并且使用闪存存储。如果所有数据都适合内存,我应该选择哪一个?他们有同样的表现吗?Redis 与 CPU 的数量成线性关系?我想还有其他我没有得到的差异。

我有一个适合内存的数据集,我打算选择 Redis,但 RocksDB 似乎为我提供了相同的功能,如果有一天数据集增长太多,我不必担心内存。

0 投票
1 回答
232 浏览

segmentation-fault - RocksDb 无法同时创建多个数据库实例

我正在编写一个 OpenMPI 程序,它为每个处理器创建一个数据库实例,插入一些数据,并在完成后关闭数据库。该程序适用于一个处理器。当创建第二个数据库实例时,启动多个实例会导致分段错误。我的 MPI 程序如下所示:

我的rocksdb_c.h样子是这样的:

程序因函数rocksdb_open()中的第二次调用而失败。CloseDB()错误是分段失败。

任何想法??

0 投票
1 回答
1971 浏览

database - 处理rocksdb中的重复项

我想使用rocksdb,并想明确知道它是如何处理重复的。

文件说:

现在,在拥有多个数据库的环境的情况下,我找不到描述。在这种情况下,密钥是环境范围内唯一的,还是每个数据库都有其唯一的密钥?我找不到对整个环境的行为的描述。

0 投票
1 回答
1025 浏览

c++ - 无法编译rocksdb,找不到依赖项

我正在尝试编译一个使用rocksdb的程序。

根据官方网页中的示例,我应该添加到代码中的唯一标头是 db.h。

现在,我正在编译的文件在文件夹 A 中。db.h 但是在 A/rocksdb-master/include/rocksdb/ 中。

所以,我将此行添加到我的文件中:

它找到了文件,但问题是在 db.h 中,我有这一行:

当我编译我得到这个错误:

致命错误:rocksdb/metadata.h:没有这样的文件或目录#include“rocksdb/metadata.h”

我的意思是,这很明显。db.h 与 metadata.h 位于同一文件夹中,因此编译器找不到任何 Rocksdb 文件夹也没关系。但我怀疑写这个库的人不知道这一点。

有没有其他方法可以添加路径来编译它?为什么 db.h 的路径与它所在的位置无关?

0 投票
3 回答
410 浏览

rocksdb - RocksDB 神秘的错误信息

有谁明白这个 RocksDB 错误指的是什么?

/column_family.cc:275:rocksdb::ColumnFamilyData::~ColumnFamilyData(): 断言 `refs_ == 0' 失败。中止(核心转储)

0 投票
1 回答
1531 浏览

android - RocksDB IO 错误:lock db/LOCK:没有可用的锁

我正在开发一个多线程服务器,用于存储和读取数据库中的信息。该数据库是用 RocksDB 实现的。

我遇到的问题是,当我一次从多个线程访问数据库时,我得到了那个错误。

通常情况下,在usign之后没有删除db,但是现在它没有意义,当然它没有被删除,它正在被另一个线程使用。

我知道数据库本身是按顺序访问的,所以从技术上讲,你永远不会让两个线程同时读取它,但至少其中一个线程应该等到锁被释放然后再访问它

有人知道会发生什么吗?