LSS Performance

The CEDA LSS achieves read/write performance unmatched by other database technologies. It has been found to outperform BTrieve by a significant factor and yet Btrieve is supposed to be one of the fastest database systems in the world.

A comparison of the write performance of the CEDA LSS to the Oracle BerkeleyDB C++ has been undertaken. The test involved writing a million (key,value) pairs using 1000 atomic transactions on a Intel Core i7-4700MQ 2.4GHz laptop with 16GB RAM with a pair of SSDs in RAID0. In both cases the database used a 512MB cache.

With 4096 byte mapped values BerkeleyDB took 2 minutes 20 seconds while the CEDA LSS took 5 seconds.

BerkeleyDB was not space efficient. It wrote over 12GB to disk (more that 3 times the amount of actual data). By contrast the CEDA space overhead was tiny (about 0.3%).

The following table summaries the results

Database
BerkeleyDB CEDA LSS
Time
2 minutes and 20 seconds 4 seconds
Num disk read operations
3266 0
Num disk write operations
1009525 988
Num bytes read from disk
23252282 0
Num bytes written to disk
12672112224 4117327872
Disk space overhead factor
3.22 1.0034
Effective write rate 28 MB/sec 980 MB/sec

NuoDB

NuoDB is a memory centric, ACID compliant distributed SQL database. The NuoDB ingestion rate has been measured. With 4096 byte mapped values NuoDB took 12 minutes and 30 seconds on the same i7-4700MQ laptop.

Kyoto Cabinet

Kyoto Cabinet is a high performance database storage engine. The database is a simple data file organized in either a hash table or a B+ tree containing key value pairs which are variable length byte sequences.

The Kyoto Cabinet ingestion rate has been measured on the same i7-4700MQ laptop.

With 4096 byte mapped values Kyoto Cabinet took 19 seconds with a hash table and 8 minutes with a B+Tree. Unfortunately the SSDs on the machine are now fragmented and performance may have been somewhat better when the SSDs were new.

A comparison has also been performed using a 4GB RAM disk, and for 4096 byte mapped values Kyoto Cabinet took over 8 seconds with a hash table (half the rate of CEDA LSS).

On a RAM disk for 4 byte mapped values CEDA B+Tree was 11x faster at writing and 3x faster at reading than Kyoto HashDB, and 42x faster at writing and 9x faster at reading than Kyoto TreeDB.

For 128 byte mapped values CEDA LSS was 4x faster at writing than Kyoto HashDB, and 22x faster at writing and 13x faster at reading than Kyoto TreeDB.