Hi,
I am new to LMDB and I am checking the possibility of having persistent snapshot support in LMDB. In the current code, LMDB creates a transient snapshot when a transaction is started. And also, LMDA supports multiple multiple databases in an environment. I am wondering if it is possible to make the snapshot persistent by storing the snapshot as a separate database (can different database share pages? Or can multiple trees in the same database?).
I look forward to hearing from you! Or please kindly let me know if similar feature has already been implemented somewhere.
Thanks a lot! Xinhai
Xinhai Kang wrote:
Hi,
I am new to LMDB and I am checking the possibility of having persistent snapshot support in LMDB. In the current code, LMDB creates a transient snapshot when a transaction is started. And also, LMDA supports multiple multiple databases in an environment. I am wondering if it is possible to make the snapshot persistent by storing the snapshot as a separate database (can different database share pages? Or can multiple trees in the same database?).
I look forward to hearing from you! Or please kindly let me know if similar feature has already been implemented somewhere.
That is not a feature that we need/want in LMDB. If you want persistent access to historical versions of a DB, use an append-only database. The btree.c written by Martin Hedenfalk would be one example.
Thank you! I will check that.
On Thu, Nov 19, 2015 at 5:37 PM, Howard Chu hyc@symas.com wrote:
Xinhai Kang wrote:
Hi,
I am new to LMDB and I am checking the possibility of having persistent snapshot support in LMDB. In the current code, LMDB creates a transient snapshot when a transaction is started. And also, LMDA supports multiple multiple databases in an environment. I am wondering if it is possible to make the snapshot persistent by storing the snapshot as a separate database (can different database share pages? Or can multiple trees in the same database?).
I look forward to hearing from you! Or please kindly let me know if similar feature has already been implemented somewhere.
That is not a feature that we need/want in LMDB. If you want persistent access to historical versions of a DB, use an append-only database. The btree.c written by Martin Hedenfalk would be one example.
-- -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/