SingleStore DB

Is SingleStore DB a row-based or column-based store?

SingleStore DB provides both in-memory row-based and on-disk column-based stores.

The in-memory row store:

  • Works best for mixed transactional and analytical workloads

  • Provides low latency and highly concurrent reads and writes of individual rows as well as sophisticated analytical SQL queries

  • Supports PRIMARY and UNIQUE keys

  • Supports geospatial indexes

  • Has longer recovery times (as the entire table needs to be loaded into memory)

The on-disk column store:

  • Works best for analytical workloads

  • Allows tables larger than the amount of available RAM in the cluster

  • Uses compression (which lowers disk usage and accelerates replication)

  • Provides fast and efficient scans of large datasets

  • Provides sorted columnstore indexes

  • Is optimized for batch UPDATE and DELETE queries

  • Requires more expensive query compilation (as compared to the row store)