On 7/13/15, Donald Griggs <dfgriggs at gmail.com> wrote: > There's an interesting paper at > > https://www.usenix.org/system/files/conference/atc15/atc15-paper-lee-wongun.pdf
Yes, a very interesting paper. Thanks for bringing it to my attention. > > I don't know enough to evaluate it, but if I'm understanding correctly: > -- They have modified sqlite so as to work directly with the EXT4 > filesystem to prevent redundant journaling (i.e., otherwise, both sqlite > and ext4 will journal all data changes) I'd rephrase this to say that they investigated and prototyped potential changes to SQLite that might help it play better with EXT4. I don't think they actually generated a version of SQLite that "works" for more than their limited test set. Nevertheless, there are some useful insights. We will run some experiments based on their ideas and perhaps we can improve the write performance on EXT4 for some future release - 3.8.12 or later. > -- They claim sqlite writes account for a significant portion of mobile > device data writes. > -- They claim huge reductions in data writes in some configurations -- > e.g. down to as low as one sixth of unmodified systems. > -- They call their new sqlite mode "WALDIO" for WAL Direct-I/O. > -- They make several changes to obtain the claimed efficiency, such as > preallocation and initialization of db sectors, modifiying and aligning > headers, commands to EXT4, etc. > -- One mode does require that power not be removed abruptly from the eMMC > controller (but they still claim durability even in the face of a kernel > panic) > -- The flash system should not ignore the DISCARD command nor return the > old data if a read is later attempted. > -- Their prototype is on a Samsung Galaxy S5 > -- I don't notice where their code is available. I guess it's > proprietary (?) > -- D. Richard Hipp drh at sqlite.org