3

我正在处理 lmdb 和 lmdb 真的很快。但它的一个问题是 lmdb 不是分布式的。每次我需要进行一些维护时,lmdb 都必须关闭,并且站点会在几个小时内不可用。我正在研究使 lmdb 成为分布式的,实现复制功能。到目前为止,我最接近它的是 netflix 的dynomite代码库。
问题是它目前适用于 redis 和 memcache,但它说通用,因此它也可以用于 lmdb。我正在使用py-lmdb绑定与 python 处理 lmdb

我不知道如何从 python 世界中的 lmdb 角度处理它,因为代码也必须用 python 绑定编写。

任何帮助将不胜感激 。

4

2 回答 2

2

LMDB 只是一个嵌入式数据库引擎。分发/复制属于更高层。例如,您可以将 HyperDex 与 LMDB 后端一起使用。https://github.com/hyc/HyperDex/tree/lmdb。还有基于 LMDB 构建的 memcachedb,以及在 LMDB 之上运行的与 redis 兼容的服务器的 ardb 或 ledisdb。

https://gitorious.org/mdb/memcachedb/source/9f2e5415e4d9017889caf61c100a9b8652825319

因此,如果您愿意,可以将它们与 dynomite 一起使用。

于 2014-11-08T17:03:54.550 回答
2

您可以删除 LMDB(嵌入在 ARDB 中)以替换 Dynomite 中的 Redis,从而使 LMDB 成为分布式系统。我们已经对此进行了 POC,并且他们奏效了。

有关更多信息,您可以在https://github.com/Netflix/dynomite/issues/254查看我们的开放问题

于 2016-05-12T05:28:50.090 回答