Databases Reference
In-Depth Information
OLTP storage engines
Percona's XtraDB storage engine, which is included with Percona Server and MariaDB,
is a modified version of InnoDB. Its improvements are targeted at performance, meas-
urability, and operational flexibility. It is a drop-in replacement for InnoDB with the
ability to read and write InnoDB's data files compatibly, and to execute all queries that
InnoDB can execute.
There are several other OLTP storage engines that are roughly similar to InnoDB in
some important ways, such as offering ACID compliance and MVCC. One is PBXT,
the creation of Paul McCullagh and Primebase GMBH. It sports engine-level replica-
tion, foreign key constraints, and an intricate architecture that positions it for solid-
state storage and efficient handling of large values such as BLOB s. PBXT is widely
regarded as a community storage engine and is included with MariaDB.
TokuDB uses a new index data structure called Fractal Trees, which are cache-
oblivious, so they don't slow down as they get larger than memory, nor do they age or
fragment. TokuDB is marketed as a Big Data storage engine, because it has high com-
pression ratios and can support lots of indexes on large data volumes. At the time of
writing it is in early production release status, and has some important limitations
around concurrency. This makes it best suited for use cases such as analytical datasets
with high insertion rates, but that could change in future versions.
RethinkDB was originally positioned as a storage engine designed for solid-state
storage, although it seems to have become less niched as time has passed. Its most
distinctive technical characteristic could be said to be its use of an append-only copy-
on-write B-Tree index data structure. It is still in early development, and we've neither
evaluated it nor seen it in use.
Falcon was promoted as the next-generation transactional storage engine for MySQL
around the time of Sun's acquisition of MySQL AB, but it has long since been canceled.
Jim Starkey, the primary architect of Falcon, has founded a new company to build a
cloud-enabled NewSQL database called NuoDB (formerly NimbusDB).
Column-oriented storage engines
MySQL is row-oriented by default, meaning that each row's data is stored together,
and the server works in units of rows as it executes queries. But for very large volumes
of data, a column-oriented approach can be more efficient; it allows the engine to re-
trieve less data when full rows aren't needed, and when each column is stored sepa-
rately, it can often be compressed more effectively.
The leading column-oriented storage engine is Infobright, which works well at very
large sizes (tens of terabytes). It is designed for analytical and data warehousing use
cases. It works by storing data in blocks, which are highly compressed. It maintains a
set of metadata for each block, which allows it to skip blocks or even to complete queries
simply by looking at the metadata. It has no indexes—that's the point; at such huge
 
Search WWH ::




Custom Search