On Thu, Nov 07, 2013 at 07:34:05PM +0800, PCMan wrote: > Crashes are not a real issue. We only need to choose a more reliable and > robust db.
Having in mind the goal of keeping Lxde small I would suggest considering a compact one without any redundant features. > Samba tdb and sqlite are quite robust ones. Samba tdb is used in > samba and thunar. Sqlite is widely used everywhere, even in firefox. It's > well-tested and robust enough for this trivial task. Sqlite is a PITA as it assumes certain things about the file system and creates huge files (which are being regularly updated). (A distributed file system doing consistent caching of whole files gets a _lot_ of unnecessary work to do) I can hardly tell anything about robustness or other virtues of tdb. I have on the other side used rwcdb for many years, it is used for Coda file system account database, i.e. an extremely critical piece of infrastructure. AFAICT all the needed functionality of key-value management is present there in rwcdb. It is also highly portable. coda-6.9.5/lib-src/rwcdb$ ls -l *.o -rw-r--r-- 1 x x 2752 2013-04-26 13:54 rwcdb_file.o -rw-r--r-- 1 x x 8276 2013-04-26 13:54 rwcdb.o compare to: tdb-1.2.12/bin/default$ ls -l libtdb.so -rwxr-xr-x 1 x x 89697 2013-11-07 13:40 libtdb.so which means about 10-fold difference. --------------------------- README.rwcdb This library was written based on the design of Dan Bernstein's CDB database (see cdb.txt and reading.txt). The main difference is that rwcdb allows for (infrequent) updates to the database. This implementation has been tested to read and write compatible CDB databases as generated with the cdb tools from Dan Bernstein. ... int rwcdb_sync(struct rwcdb *c); Used as a synchronization point. For read-only databases this checks whether there is a new version of the database available. For readwrite or write-only databases, it flushes the pending modifications to a temporary file and if everything is successful, moves the new database file in place of the old database. ... --------------------------- It was written by Jan Harkes at CMU and released under LGPLv2. It is distributed as part of a regular Coda source package, e.g. http://www.coda.cs.cmu.edu/pub/coda/src/coda-6.9.5.tar.gz as coda-6.9.5/lib-src/rwcdb but totally independent of Coda otherwise. Regards, Rune ------------------------------------------------------------------------------ November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models. Explore techniques for threading, error checking, porting, and tuning. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk _______________________________________________ Lxde-list mailing list Lxde-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxde-list