4
HailDB is a Storage Engine plugin that uses the HailDB library
5
(`http://www.haildb.com <http://www.haildb.com>`_) for storage. The HailDB
6
library is based off the innodb_plugin. By having HailDB as a separate shared
7
library, you are able to upgrade HailDB with new features or bug fixes
8
without having to update your whole database server.
10
HailDB is intended to replace the inbuilt innobase plugin.
15
Table definitions are stored inside the HailDB data files and modified
16
inside the same transaction as the DDL operation. You can never get
17
out of sync between tables in HailDB and the table definition.
19
The HailDB storage engine code is much smaller and cleaner than the
21
* Smaller and faster auto_increment implementation
22
Without the legacy of auto_increment locking for MySQL replication,
23
we are able to use a simple global atomic variable for each table.
24
* Direct access to the HailDB DATA_DICTIONARY
25
You can directly query the underlying (internal) data dictionary
29
* Does not yet support FOREIGN KEYs
30
* No semi-consistent read
31
* No descending indexes
32
* Some DATA_DICTIONARY views have not yet been ported over.
33
* Tables without an explicit PRIMARY KEY get a hidden 64bit auto_increment
34
primary key instead of the internal ROW_ID as a primary key.
39
HailDB supports: REPEATABLE READ, READ COMMITTED, SERIALIZABLE and READ
40
UNCOMMITTED isolation levels.
45
HailDB can store the rows for a table in one of a few ways. This can be specified as an option to CREATE TABLE (example below).::
48
pk bigint auto_increment primary key,
50
) ROW_FORMAT='COMPRESSED' ENGINE=InnoDB;
53
Oldest row format. It was the default prior to MySQL 5.0.3. You probably
54
no longer want to use this row format.
57
Default since MySQL 5.0.3. It uses less space than the REDUNDANT row format
58
for variable length filends and nulls.
61
(Requires Barracuda file format or higher). TEXT and BLOB fields are stored
62
separately to the rest of the row.
65
(Requires Barracuda file format or higher). Similar to Dynamic, but database
66
pages are compressed. This trades off slightly increased CPU usage for smaller