微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PalDB 只读 KeyValue 存储系统

程序名称:PalDB

授权协议: Apache

操作系统: 跨平台

开发语言: Java

PalDB 介绍

PalDB 是 LinkedIn 开源的可嵌入只读 Key-Value 存储系统。

PalDB 是一个可嵌入,持续 Key-Value 存储,拥有非常快的性能和合适的存储大小。PalDB
存储是单个二进制文件,只能编写一次,可以直接在应用中使用。

PalDB 的 JAR 包只有 110K,只有单个依赖 (snappy, which isn’t mandatory),可以跟一些配置参数一起使用。

因为 PalDB 是只读的存储系统,只关注数据,相比其他嵌入式 key-value 系统来说非常简单,拥有较高的吞吐量。

当前的基准测试基于 3.1Ghz Macbook Pro:

PalDB, LevelDB 和 RocksDB 吞吐量比较(越高越好)

PalDB 和一个 Java HashSet 内存使用比较(越低越好)

@H_502_24@

编写一个存储:

StoreWriter writer = PalDB.createWriter(new File("store.paldb"));
writer.put("foo", "bar");
writer.put(1213, new int[] {1, 2, 3});
writer.close();

查看一个存储:

StoreReader reader = PalDB.createReader(new File("store.paldb"));
String val1 = reader.get("foo");
int[] val2 = reader.get(1213);
reader.close();

迭代

StoreReader reader = PalDB.createReader(new File("store.paldb"));
Iterable<Map.Entry<String, String>> iterable = reader.iterable();
for (Map.Entry<String, String> entry : iterable) {
  String key = entry.getKey();
  String value = entry.getValue();      
}
reader.close();

PalDB 官网

https://github.com/linkedin/PalDB

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐