Hi Jonatan! There's not quite enough info to work with here, and probably it's better if you just profile how your app behaves first. For example, * if you're writing all those keys from a sequential range of keys, then that will perform much better than random completely random keys. If your write txns are fast enough, then probably it's not worth the effort of splitting your data into separate environments. Often sequential write is faster by a factor of 2 or more. * Are your keys/values huge or tiny? To get an intuitive feel for performance, it's sometimes helpful to think of txn size in terms of total MB read/written.. this is especially true when the entire DB is cached or on very fast media. Writing 100,000 8 byte key + 8 byte values (1.52MiB) is going to be much faster than say, 512 byte values (49.59MiB). * if you're overwriting existing keys during the write txn, then that changes things a lot too, since DB growth will be bounded. * Similarly, the presence/absense of MDB_SYNC (if suitable for your app) drastically changes write performance characteristics. * How many concurrent writers do you need? Is it a web app? Another option is to push your large writer off to a task queue. * Perhaps tweak examples/dirtybench.py from the Git repository to create keys/values roughly of your size. This will produce some nice example numbers for you to work from for your hardware/disk combination. Drop me a line if you need some more ideas, but probably it's best for you to just write some throwaway code to profile your specific use case. David On Tue, Feb 03, 2015 at 08:50:43AM -0800, Jonatan Heyman wrote: > Hi! > > I'm new to LMDB and python-lmdb, but so far I find it really promising and > well > documented. > > I'm writing an app where I plan to use LMDB to store records in three > different > named databases. One action in my app might result in hundreds or thousands of > read/writes to these databases. If I've understood LMDB correctly, there is a > global write lock for each Environment. Would it then make sense for me to > store my different databases in three different Environments, in order to > decrease the time spent waiting for write locks? > > Best, > Jonatan