问题标签 [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 回答
1142 浏览

c++ - 使用 Rocksdb 存储自定义数据类型?

我想使用Rocksdb编写一个 C++ 程序来存储不在 std::string 类型中的键值对。例如,我想使用int数据类型作为键,使用以下数据类型中的值作为值。

您能否让我知道如何实现这一目标或向我推荐一些我可以尝试的其他选择?

非常感谢您提前提供的帮助!

0 投票
2 回答
59 浏览

database - 用于跟踪系统的 NoSQL 存储

我有一个用例,其中包括一个可以跟踪数据的系统,以解释系统必须拦截每个请求并检查该请求是否已经存在以在主体上执行一些 map/reduce 的情况,它假设是实时的。很抱歉,由于我正在开发的系统的敏感性,我无法详细说明。

我主要关注 NoSql 键/值存储,所以我在考虑 Rocksdb / Riak。我的问题是它适合这个用例还是有更好的选择?

0 投票
1 回答
944 浏览

append - LevelDB 文件夹中的哪些文件只能追加?

在某个阶段,在我的 LevelDB 文件夹中,我有以下文件:

我不认为它们都是仅附加的?所以肯定不可能对数据库文件夹中的所有文件都运行“chattr +a *”,因为在运行 leveldb 时,有些文件会被删除。我的问题是哪些文件不会被删除,并且仅在正常的 LevelDB 会话期间和压缩期间追加,那些在删除之前删除的文件是否仅追加?

0 投票
2 回答
907 浏览

mongodb - Percona Server for MongoDB fails to start when engine is set to rocksdb (MongoRocks)

My understanding is that Percona Server for MongoDB (latest version) is already compiled with the rocksdb engine. Yet, when I set the flag to use it, the service fails to start. It exits with code 100 (uncaught exception), and there is no journal output. Does anyone have any idea what could be causing this? Thanks in advance.

0 投票
1 回答
1057 浏览

memcached - 存储引擎:如何快速找到密钥不存在

我们的分布式存储项目使用LevelDB作为存储引擎,memcached作为缓存层,我们有一个场景:95%的key查询在存储引擎中是不存在的。

在memcached层,如果找不到key,则查询LevelDB。

在 LevelDB 中,我们使用默认的布隆过滤器来判断 key 是否存在,但仍然有 1% 的误报率。由于 1% 的百分比,我们必须通过 IO 请求该值,这是客户端无法容忍的。(95% 的密钥不存在)

有没有更好的解决方案来知道密钥是否不存在?

更新: 1. 每天都会生成密钥(用户ID+日期),一旦无法获取密钥,客户端会将值放入存储层。2.客户端想要读取延迟(TP99)< x ms(客户端对延迟敏感)

0 投票
3 回答
3875 浏览

mongodb - Error when start mongoDB with --storageEngine options: "unrecognised option"

I tried to start mongod service with "--storageEngine=rocksdb" but I got error of ""unrecognised option" .
I tried to see all the option variables by running help command and didn't see "--storageEngine" option for mongod.
Below are all the option variable i could see for mongod.

Please let me know about how to use the "--storageEngine" option variable .

0 投票
2 回答
6302 浏览

ios - RocksDB IO 错误锁:没有可用的锁

我在 iOS 上使用 RocksDB,并使用 AsyncStorage 适配器和redux-persist。每当我启动应用程序时,我都会收到错误消息:

作为适配器工作的类是:

任何帮助将不胜感激。

0 投票
1 回答
1268 浏览

database - RocksDB 的不寻常使用

我想使用 RocksDB 的方式我认为是不寻常的。我想用它来降低内存中有大量字符串的应用程序的内存压力。原因是应用程序最终会扩展到需要数十 GB 的 RAM 来存储所有字符串的程度。这是一个仅 64 位的应用程序,部分用 C++ 编写,部分用 VB.NET(我知道。我知道。)

我的任务是将所有字符串移到磁盘上。

我想尽可能地表现出色。当然我可以使用 SQLite 之类的东西,但我真的根本不需要 SQL。我只需要一个键/值存储。键可以是 32 位 int,值是字符串。典型的字符串长度为 1K 到 5K。

所需的性能特征如下:

  1. 字符串被批量写入磁盘。编写完成后,它们很少被修改。大多数时候,它们只是只读的。
  2. 字符串被写入磁盘只是作为将它们移出 RAM 的一种方式。为了性能,将所有字符串同时保存在 RAM 中会打败这个人。理想情况下,我可以指定要占用多少 RAM 作为缓存。
  3. 耐用性并不重要。我不在乎写缓存是否需要很长时间。事实上,我只关心超过上面(2)中指定的缓冲区大小时才将字符串写入磁盘。例如,如果磁盘上有十亿个字符串,并将其中的一千个保留在 RAM 中(作为我的缓冲区大小),我可以接受直到第一个千零一字符串才写入磁盘分配。

到目前为止,我所研究的几乎每个系统,memcached、redis、leveldb、闪电、来自 sqlite 4 的 LSM,都解决了不同的问题。有些解决了确保事物持久耐用的问题,因此有很多事情要做以确保事物防崩溃。显然,就我而言,我不关心防撞的东西。我的应用程序将在应用程序启动时重新创建数据存储。如果我的应用程序崩溃,我不在乎磁盘上剩下的内容。还有其他的(例如 memecached)通过将东西放在 RAM 中来优化磁盘性能。它解决的问题几乎与我需要解决的问题相反。

最终,由于这是一个 64 位系统,我希望系统使用内存映射文件进行优化。

RocksDB 最接近我认为我需要使用的工具,但它是一个非常混乱和复杂的系统,具有一百万个设置。此外,我的具体情况不在其发布的任何“食谱”中。

所以我很好奇 RocksDB 团队中是否有人愿意给我一些指导。如果我能做到这一点,我将非常感激,并且一定会在线帮助其他人解决相同类型的问题。

0 投票
1 回答
74 浏览

python - AttributeError:“_GzipStreamFile”对象没有属性“_checkReadable”

我正在尝试设置commonsearch,我是后端将alexa1m数据导入rocksdb的地方,但它因错误而死(错误如下)。

已经为此奋斗了 2 天了。如果有人能给我一些见解或建议,我会非常高兴!

0 投票
1 回答
3557 浏览

macos - 在 MacOS 上开始使用rocksdb

我按照指南做了:

我被困在这里。我该怎么做才能使用rocksdb

我复制了这个示例文件的内容并尝试在 Mac OS 上使用gcc-5(brew) 和(clang) 编译它,但它们都返回错误。gcc我在 Mac OS 10.11.5 上使用 Xcode 7.3.1。

错误是:

更新:

将rocksdb库添加到Xcode中的Header和Library Search Path之后,如下所示:

xcode 截图

我在rocksdb网站上试过

并遇到了另一个问题:

DBOptions 问题