shlogg · Early preview
Franck Pachot @franckpachot

YugabyteDB Vs Traditional Databases: A Counter-Intuitive Test

YugabyteDB stores tables & indexes in LSM-Trees, reducing bloat & improving performance. Automatic sharding keeps counters in different MemTables, while background compaction manages disk space & read amplification.

Here is a quick test with a pattern that may hurt some databases: on a fixed set of rows (one thousand for example), you increment a counter. YugabyteDB reads the row and appends the new version of the column value into the tablet's MemTable. This is much simpler than traditional databases like PostgreSQL, which has to copy the whole row, or Oracle, which has to copy the old value. The MVCC (Multi-Version Concurrency Control) implementation in YugabyteDB is adding the versions into each key. This would generate bloat on traditional B-Trees but YugabyteDB stores tables and indexes into LSM-Tree...