Exasol

History

Founded in 2000 when authors realized there will be a need for something to process huge amounts of data in near future. From another perspective, it was clear that the cost of memory will continue to decrease and it will be afordable for many customers to use an in-memory analytics.

Exasol’s name is composed of two parts: EXA, originating from the Greek language denoting a unit prefix factor of 1018, while SOL stands for solution.

Concurrency Control

Multi-version Concurrency Control (MVCC)

To ensure compliance with the ACID principles, every transaction is subject to an evaluation by the transaction management system (TMS). If necessary, the TMS intervenes and automatically rectifies conflicts through the enforcement of waiting times or by rolling back transactions in the event of a collision.

To keep the number of colliding transactions as low as possible, Exasol supports the "MultiCopy Format". This keeps multiple versions of every database object (temporarily).

Data Model

Relational

Foreign Keys

Supported

Indexes

B+Tree

Exasol creates, maintains and drops indexes automatically

Indexes will be stored persistently and reused in later executions. Indexes are stored in a compressed manner and don't need to be decompressed when accessing them. Indexes are used for joins and under certain circumstances for filtering the data of a table (index scan). Internally EXASolution is using a tuned B-tree structure.

Storage Architecture

In-Memory

Stored Procedures

Supported

Exasol supports UDF and scripts in Lua, Python, R, Java

System Architecture

Shared-Nothing

Views

Virtual Views

There are no materialized views. Only regular views are supported

Exasol Logo
Website

http://www.exasol.com/

Tech Docs

https://docs.exasol.com/

Twitter

@ExasolAG

Developer

Exasol AG

Country of Origin

DE

Start Year

2000

Project Type

Commercial

Wikipedia

https://en.wikipedia.org/wiki/Exasol