LeanXcale database

LeanXcale is an HTAP database developed by a company with the same name, LeanXcale. LeanXcale is a Full SQL and Full ACID distributed database. It supports both operational and analytical workloads. On the operational side, the main feature lies in its ability to scale transactional processing to millions of transactions per second and 100s of nodes in a linear way. On the analytical side, it has a distributed OLAP query engine that works directly on the operational data, thus delivering real-time analytics. The database provides standard SQL and a JDBC driver for applications to access it.
Architecture
LeanXcale can be classified as a NewSQL database. LeanXcale runs on a cluster with a shared nothing architecture and can scale out to 100s of nodes. The database has three main components:
* Query engine. The query engine scales out for both OLTP and OLAP workloads.
* Transactional manager. It scales out is able to achieve many millions of update transactions per second on arbitrarily distributed data.
* KiVi Storage Engine. It is a distributed relational storage engine with a key-value interface.
Query Processing
LeanXcale has a distributed query engine. The query engine is able to run queries in two different modes: OLTP and OLAP. In the OLTP mode the query runs on a single query engine instance. This approach is adopted for small queries to scale out to very large numbers. In the OLAP mode, the query runs in a number of query engine instances that aggregate the power of multiple nodes to answer analytical queries in online times. The query engine itself is stateless, it just has session state. Data is accessed through the KiVi storage engine.
Transactional Management
The transactional management is based on a radically different approach. ACID properties have been decomposed and are scaled out independently but in a composable manner. Basically, the transactional management is able to commit fully in parallel all transactions without any coordination and then, it regulates the visibility of committed data so only fully consistent snapshots become visible to the applications. The transactional manager can handle 100s of millions of update transactions per second and any number of read-only transactions.
KiVi Storage Engine
KiVi storage engine is also a technology created by LeanXcale. KiVi is a relational and fully ACID key-value data store. Data stored in LeanXcale database can be accessed through any of the two interfaces. The traditional SQL and JDBC driver or the KiVi key-value interface. The latter has the advantage that avoids all the overhead of SQL processing and provides ultra-efficient access to the relational data. KiVi provides standard get and put methods (with a relational schema), but it also provides a scan method with predicate that is equivalent to the SQL statement SELECT with just a predicate. Inserts through the key-value interface are extremely efficient.
KiVi is based on that is integrated with the transactional manager. Transactions in KiVi are fully distributed, that is, they can access data in any arbitrary number of nodes and tables, and rely on the LeanXcale ultra-scalable transactional manager.
KiVi exploits vectorial and SIMD capabilities of current commodity CPUs like Intel and AMD. This vectorial acceleration is used for improve the performance of searches and predicate evaluation.
KiVi also support columnar storage bringing the corresponding acceleration for analytical queries that only bring to memory the columns accessed by the query what saves an important amount of resources (IO, CPU, memory) when processing queries over tables with large number of columns.
Data in KiVi is distributed in horizontal fragments that correspond to range of primary keys.
KiVi is elastic. It allows to move data regions from one server into another. This feature can be used to balance the load in an online manner as well as to provision new nodes and decommission nodes when they are not needed anymore.
Performance
Evaluation with benchmarks following the TPC-C specification on different cluster sizes has shown linear scalability with up to 100 nodes. Evaluation with hybrid workloads TPC-C plus analytical queries inspired on TPC-H over the TPC-C database has shown that LeanXcale can provide full isolation between both workloads.
Market Analysts
LeanXcale has already been featured by the market analyst 451 Research and appears in their Total Data market analysis report.

Comments