On Thu, 19 May 2016 22:12:48 -0500 "Kasajian, Kenneth" <Kenneth.Kasajian at schneider-electric.com> wrote:
> I am interested in using the LSM > (https://www.sqlite.org/src4/doc/trunk/www/lsmusr.wiki) > > The characteristics of my application is that I would like to enable > the memory-mapped file feature so that I can offload data in memory > to disk temporarily. I don't care about data-recover after my > application shuts down or it crashes. In fact, the application will > create a new database each time it starts up. > > The reason to do this is to be able to address hundreds of gigs of > data in a key/value store method. We would it put it in RAM but > that would require a lot of RAM. By putting the data on disk, we > can work with very large sets of data. > > I care a lot about performance. If I had the RAM, all of this would > be in RAM (non-persistent and transien) > > My question is, if I have LSM_CONFIG_MMAP enabled, and on a 64-bit > system I believe it's enabled by default, what happens if I also turn > off LSM_CONFIG_SAFETY and LSM_CONFIG_USE_LOG. Would that not make > things a lot faster? > > I don't need data to be written to disk right away.. In fact, I > would be okay if data were only written to disk when there the memory > that is occupied by the data has to be reused - because persistence > is not a factor. > > Anyone use LSM for this type of a use case? IIRC you can create a :memory: database with sqlite4. Doesn't it feed your needs? If you look at the Sqlite4 timeline, you'll see develop is a bit frozen. You can try the lsm-vtab (http://www.sqlite.org/src/timeline?n=100&r=lsm-vtab) for sqlite3, you need fossil-scm to download it and compile, but I don't know if it works currently or not (last updated on Feb 2016) HTH --- --- Eduardo Morras <emorrasg at yahoo.es>