问题标签 [leveldb]

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 回答
252 浏览

filesystems - 在 Lustre 文件系统上运行 LevelDB

我正在运行一段基于 LevelDB 的代码。它在我的工作站上运行良好,但是当我将它部署到集群中(使用 Lustre 文件系统)时,程序因“无效参数”错误而中断。此错误由 LevelDB 引发。

经过几个小时的阅读,我在网上发现,LevelDB 无法在集群或多进程环境中运行。我没有尝试与 LevelDB 数据库并行做任何事情,但似乎 LevelDB 只是不喜欢那个文件系统。

有没有人建议让 LevelDB 在具有共享文件系统的集群中运行?这甚至可能吗?我应该考虑哪些因素?

干杯!

0 投票
1 回答
768 浏览

java - LevelDB 的默认比较器

通过 JNI 使用 Java 的LevelDB 。

我想提供一个数字(整数)键,并能够按该键的顺序迭代数据库。我遇到困难的地方是理解 LevelDb 的默认比较器实际上是如何工作的,以及我如何将 int 编码为 abyte[]以让默认比较器正确地按 that 排序int

LevelDb 文档指出:

前面的示例使用了 key 的默认排序函数,它按字典顺序对字节进行排序。

我已经用谷歌搜索了,但是对于我如何将一个实际编码int为按字典顺序排列的字节感到困惑?

注意:如果我提供自己的比较器,它大约会使迭代时间加倍,因为现在所有的比较都必须在 JNI 边界上来回跳转,所以我不想这样做。

0 投票
1 回答
337 浏览

riak - riak 在 Open SU​​SE 13.1 上从源代码构建 - eleveldb 处的编译错误

在尝试从源代码构建 RIAK 时,希望在某个问题上获得一些帮助。解决了大部分问题后,我现在在“make rel”期间遇到以下错误

你能在正确的方向上帮助我吗?我对自己在做什么的理解非常有限(只是按照网上的说明)。

0 投票
1 回答
1844 浏览

database - 固定大小键的最快持久键/值数据库并且仅插入/获取(无删除/更新)?

给定持久键/值存储的以下要求:

  • 只需要获取、插入和完整迭代所有值(用于导出)
  • 不删除值或更新值
  • 键总是相同的大小
  • 嵌入在主机应用程序中的代码

并给出这种使用模式:

  • 抓取是随机的
  • 插入和提取是交错的,没有可预测性
  • 密钥是随机的,并以随机顺序插入

给定要求,最好的磁盘数据结构/算法是什么?

自定义实现能否超越基于 LSM(Log Structured Merge)的实现(即 leveldb、rocksdb)的性能?

满足这些要求的高性能定制实现在实现上是否也会相当简单?

0 投票
1 回答
418 浏览

database - 需要用于抓取数据和日志数据的高度压缩数据存储

我必须以有效的压缩率将大量爬网和日志数据存储在 Datastore 中。

到目前为止,我尝试并安装了 Cassandra、Couchbase、Mysql 和 FlatFile 格式,并阅读了Google Big Table、Hypertable 和LevelDB File Layout的架构概述。

Cassandra 和 Couchbase 的磁盘大小约为未压缩 Mysql 数据库的 1/5,但我想要更好的结果。

所以我需要一个具有高压缩特性的简单数据存储,如 vertica、teradata、oracle 和 sqlserver 产品。(页面级压缩)

实际的 flatFile 数据集看起来像

每个文件大约有 400 个高冗余条目,每个大约 5kb 一个文件可以从 1722 KB 压缩到 39 KB,因此根据压缩块的大小,应该可以实现 44:1 到 100:1 的压缩比。

定义用例:

我必须每 30 秒轮询一次所有相关的 gas_station 网页/api 以获得最新的定价信息,因为不可能为每个加油站编写解析器,索引创建需要通用解决方案。使用包含所有 craweld 加油站页面的数据库,可以轻松开发通用解析器并进行回测。使用此原始数据模型,应避免通过损坏的特定转换器丢失数据。

使用“oil_type-gas_station-timestamp-content”之类的键,可以轻松高效地比较两个加油站的价格随时间变化。对于读取小于压缩块大小的时间序列,只需解压缩 2 到 4 个块。

因此,以下功能是最佳的:

  • SSTables
  • 可配置的压缩选项(级别、压缩引擎、块大小(从 64kb 到 10 MB))
  • 范围扫描
  • Java 绑定
  • 列数据存储以实现更好的压缩

很高兴有:

  • 复制
  • 多主
  • 写入法定人数 1
  • 对数据进行前向和后向迭代。(比较两个时间序列)
  • 可配置的副本分布
  • 很少的依赖

问题:

Wich 免费数据库能够保存高冗余爬取数据的归档数据(只有几个字节变化),压缩好并且不会花费太多时间来查询随机记录。(与 mysql 归档格式相反,它必须解压缩整个表,直到请求的行)

也许有一个日志数据库,它能够索引很多日志行并在内部压缩它们?(logstash、fluentd、flume 的范围)

如果有人知道一些基准,关于这个主题的数字,这将有助于评估正确的技术。

我很高兴你的帮助!

0 投票
0 回答
101 浏览

activemq - 当某些队列在重新启动后卡住时,如何处理和修复 activemq 中的问题?

我们使用带有 2 个代理的 ActiveMQ-5.8.0 作为主从。几天前,由于电源故障,所有系统都停机了。

重新启动代理后,部分队列处于入队状态且未出队。我们尝试重新启动代理。但它仍然没有单独恢复两种类型的出队。

有没有办法在不丢失事件的情况下处理和解决这个问题?

0 投票
2 回答
6344 浏览

jms - KahaDB 和 LevelDB - 真正的区别是什么?

我正在尝试ActiveMQ 5.8.0在我的项目中使用。有两种不同的存储配置,KahaDBLevelDB. 根据问题,Kaha 可以比 Level 更快,或者 Level 可以比 Kaha 更快。

他们之间的真正区别是什么?

0 投票
0 回答
269 浏览

c++ - levelDB : 条目不保存在磁盘上

当我在 levelDB 中添加一个新条目时,我可以在应用程序运行时检索它,但是当我关闭应用程序并再次启动它时,一切都消失了。

数据库在磁盘上正确创建,这是经过一些操作后的样子

这是C++代码

0 投票
1 回答
24 浏览

c++ - 无法在赋值中将 'libraryname::ZlibCompressor' 转换为 'libraryname::Compressor*'(到数组索引)

options是一个结构体,compressors定义为:

ZlibCompressor 是 Compressor 的子类。

知道为什么会发生此错误吗?谢谢!

0 投票
1 回答
382 浏览

database - leveldb - 数字索引和分页

我知道使用 leveldb 你可以通过 key(start, end) 进行范围查询,但我想知道是否有任何聪明的方法可以像使用偏移量和限制这样的 sql 查询一样进行数字范围查询?