On 16.11.2015 11:04, Klaus Malorny wrote:
On 11.11.2015 23:51, Christian Sell wrote:
You're being stupid.
let's say I am stubborn. As I mentioned, I have the requirement that the user be able to copy the database file away on their USB stick (or send it via email, for that matter). With SQLite, that is no problem. But with LMDB under Windows the user is looking at a huge file, which will be unacceptable in all likelihood. I also must allow the user to copy using file system tools, and not some custom utility.
So I take it that LMDB is simply not designed or suitable for such a scenario.
Maybe you should consider to write your own exporter/importer. It shouldn't be too hard to walk through all key/value pairs and write out the data (prepended by their respective lengths), plus some metadata at the beginning to recognize the format on import and to know the number of records (if there is no special end-of-file marker).
Just my two cents.
Klaus
Hmm, I missed the requirement "I also must allow the user to copy using file system tools, and not some custom utility." However, I think this is not a good idea for any database since there is no guarantee that you get a valid state of the database without proper synchronization with the running process(es). Even if you are using the database with an application that does not run permanently (like a GUI app), I don't know whether users are smart enough to stop the application before performing the copy.
Regards,
Klaus