问题标签 [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.
filesystems - 在 Lustre 文件系统上运行 LevelDB
我正在运行一段基于 LevelDB 的代码。它在我的工作站上运行良好,但是当我将它部署到集群中(使用 Lustre 文件系统)时,程序因“无效参数”错误而中断。此错误由 LevelDB 引发。
经过几个小时的阅读,我在网上发现,LevelDB 无法在集群或多进程环境中运行。我没有尝试与 LevelDB 数据库并行做任何事情,但似乎 LevelDB 只是不喜欢那个文件系统。
有没有人建议让 LevelDB 在具有共享文件系统的集群中运行?这甚至可能吗?我应该考虑哪些因素?
干杯!
java - LevelDB 的默认比较器
我通过 JNI 使用 Java 的LevelDB 。
我想提供一个数字(整数)键,并能够按该键的顺序迭代数据库。我遇到困难的地方是理解 LevelDb 的默认比较器实际上是如何工作的,以及我如何将 int 编码为 abyte[]
以让默认比较器正确地按 that 排序int
。
LevelDb 文档指出:
前面的示例使用了 key 的默认排序函数,它按字典顺序对字节进行排序。
我已经用谷歌搜索了,但是对于我如何将一个实际编码int
为按字典顺序排列的字节感到困惑?
注意:如果我提供自己的比较器,它大约会使迭代时间加倍,因为现在所有的比较都必须在 JNI 边界上来回跳转,所以我不想这样做。
riak - riak 在 Open SUSE 13.1 上从源代码构建 - eleveldb 处的编译错误
在尝试从源代码构建 RIAK 时,希望在某个问题上获得一些帮助。解决了大部分问题后,我现在在“make rel”期间遇到以下错误
和
你能在正确的方向上帮助我吗?我对自己在做什么的理解非常有限(只是按照网上的说明)。
database - 固定大小键的最快持久键/值数据库并且仅插入/获取(无删除/更新)?
给定持久键/值存储的以下要求:
- 只需要获取、插入和完整迭代所有值(用于导出)
- 不删除值或更新值
- 键总是相同的大小
- 嵌入在主机应用程序中的代码
并给出这种使用模式:
- 抓取是随机的
- 插入和提取是交错的,没有可预测性
- 密钥是随机的,并以随机顺序插入
给定要求,最好的磁盘数据结构/算法是什么?
自定义实现能否超越基于 LSM(Log Structured Merge)的实现(即 leveldb、rocksdb)的性能?
满足这些要求的高性能定制实现在实现上是否也会相当简单?
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 的范围)
如果有人知道一些基准,关于这个主题的数字,这将有助于评估正确的技术。
我很高兴你的帮助!
activemq - 当某些队列在重新启动后卡住时,如何处理和修复 activemq 中的问题?
我们使用带有 2 个代理的 ActiveMQ-5.8.0 作为主从。几天前,由于电源故障,所有系统都停机了。
重新启动代理后,部分队列处于入队状态且未出队。我们尝试重新启动代理。但它仍然没有单独恢复两种类型的出队。
有没有办法在不丢失事件的情况下处理和解决这个问题?
jms - KahaDB 和 LevelDB - 真正的区别是什么?
我正在尝试ActiveMQ 5.8.0
在我的项目中使用。有两种不同的存储配置,KahaDB
和LevelDB
. 根据问题,Kaha 可以比 Level 更快,或者 Level 可以比 Kaha 更快。
他们之间的真正区别是什么?
c++ - levelDB : 条目不保存在磁盘上
当我在 levelDB 中添加一个新条目时,我可以在应用程序运行时检索它,但是当我关闭应用程序并再次启动它时,一切都消失了。
数据库在磁盘上正确创建,这是经过一些操作后的样子
这是C++代码
c++ - 无法在赋值中将 'libraryname::ZlibCompressor' 转换为 'libraryname::Compressor*'(到数组索引)
options
是一个结构体,compressors
定义为:
ZlibCompressor 是 Compressor 的子类。
知道为什么会发生此错误吗?谢谢!
database - leveldb - 数字索引和分页
我知道使用 leveldb 你可以通过 key(start, end) 进行范围查询,但我想知道是否有任何聪明的方法可以像使用偏移量和限制这样的 sql 查询一样进行数字范围查询?