One of the key differentiators for Datalight's Reliance Nitro file system is the runtime flexibility. Not only does this file system provide more reliability options than any other file system on the market, they can all be changed on the fly through a simple API. To demonstrate just how easy this was, we created an intern project to do just that.
We decided to use Android as the visual environment, running on top of the ever popular Linux RTOS. This would also allow us to use two standard benchmark tests to demonstrate performance differences. RL Benchmark delivers the time required to run a standard set of SQLite database queries. The SQLite portion of Androbench measures only database Insert, Update and Delete, giving the results in a number of "transactions per second".
We chose these benchmarks rather than raw throughput demonstrations because the Android environment accesses nearly all storage through SQLite database calls. These calls, and the overhead they cause in file systems, are the main point of contention. They slow down the latency of the device and shorten the life of the eMMC media.
The video below shows the results of our demonstration on a Nexus tablet. One of the most interesting aspects of our demonstration is the transaction counter. This gives a visible measurement of the additional overhead required for reliability on Reliance Nitro, along with the impact of various transaction settings.
The reliability settings of ext4 are not runtime alterable and the impact of additional database fsync calls is not visible. Also hidden is the reduction of device lifetime, though that will be felt by the customer soon enough.