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
------------------------------------------------------------------------------
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing
conversations that shape the rapidly evolving mobile landscape. Sign up now.
http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk
_______________________________________________
Pcmanfm-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pcmanfm-develop