That database leads the recent TPC-H benchmarks, delivering outstanding performance while running on commodity hardware.
Technically, Exasol is a clustered RDBMS using a shared nothing architecture. Availability is achieved with spare nodes, like in this diagram:
That shows a 2+1 cluster with two active nodes and one spare node. The nodes are running on Linux CentOS with an additional layer on top of it named EXAClusterOS that acts as a clusterware. Each active node stores its own data as well as replicated data from neighbor nodes, so node failure can be tolerated without losing data, the data being stored on EXAStorage – think of it as a database filesystem.
Data is stored in compressed columnar format on disk and loaded into the memory of the nodes in that format, to the effect that popular data can be processed in memory in parallel with very high speed. Exasol doesn’t require much tuning if any. One key feature in that area is that indexes are being generated automatically if required by queries and these indexes are also dropped automatically when they do no longer contribute to query performance.
Exasol follows the ACID standard and always operates in transaction isolation level SERIALIZABLE. Historically, Exasol started as an accelerator layer on top of Oracle – which is why being Oracle compatible has been a priority from the start. Meanwhile, Exasol is an autonomous RDBMS and technology leader for analytic in-memory databases. Due to its growing popularity among customers worldwide, the company is growing at high speed.
That goes out to you who wonder ‘What company is that where Uwe went to?’ Expect some more articles about Exasol to come. But don’t worry: I’m still following Oracle technology news as well and will write about that also in my spare time 🙂