On Mon, Jul 10, 2017 at 4:14 AM, Richard W.M. Jones <rjones@xxxxxxxxxx> wrote: > On Fri, Jul 07, 2017 at 04:15:53PM +0200, Jaroslav Reznik wrote: >> = System Wide Change: RPM 4.14 = >> https://fedoraproject.org/wiki/Changes/RPM-4.14 > > The web page has: > > Improvements and stabilization of "ndb" (New RPM DB Format database > format) > ... > Changing database from bdb to ndb requires patching of some programs > who read/expect /var/lib/rpm/Packages and other files directly > without using librpm > > which were not included in this email. > > The problem is that "NDB" is a custom homebrew database invented in > the RPM codebase. I agree that because of licensing problems we need > to move away from Berkeley DB, but why not switch to the obvious, > bulletproof choice - Sqlite? > > Look at the all new nbd code here: > > https://github.com/rpm-software-management/rpm/tree/master/lib/backend/ndb > > Inventing a new database including a new disk format and all new code > is bound to cause problems with database corruption, incorrect > database synchronization, incorrect handling of parallel queries, and > a rich source of other bugs for a long time. > > Not to mention ‘ndb requires patching of some programs who read/expect > /var/lib/rpm/Packages and other files directly without using librpm’ - > this would still require changes, but they are much smaller if you're > using sqlite. > > It was a bad upstream decision, but it's not too late to avoid it by > sticking with BDB for now and using sqlite in the long run. > A long time ago, we did actually have a SQLite backend. It was removed in RPM 4.9.0[1][2]. I'm not sure *why* it was removed. [1]: http://rpm.org/wiki/Releases/4.9.0 [2]: https://github.com/rpm-software-management/rpm/commit/e2c217b4b76118e6dab9f8dfb3284bb4ddbe2b3e On Mon, Jul 10, 2017 at 5:28 AM, Jos Vos <jos@xxxxxx> wrote: > Hi, > > On Mon, Jul 10, 2017 at 09:14:07AM +0100, Richard W.M. Jones wrote: > >> The web page has: >> >> Improvements and stabilization of "ndb" (New RPM DB Format database >> format) >> >> [...] >> >> The problem is that "NDB" is a custom homebrew database invented in >> the RPM codebase. I agree that because of licensing problems we need >> to move away from Berkeley DB, but why not switch to the obvious, >> bulletproof choice - Sqlite? > > SQLite is is totally different piece of cake (RDBMS vs. key/value). > > Why not use LMDB? It's the replacement for BerkeleyDB in OpenLDAP. > > http://www.lmdb.tech/doc/ > > It's extremely fast... > LMDB has been brought up in the past[3] as well as recently[4]. [3]: https://bugzilla.redhat.com/show_bug.cgi?id=1086784 [4]: https://github.com/rpm-software-management/rpm/issues/128 -- 真実はいつも一つ!/ Always, there's only one truth! _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx