~ubuntu-branches/ubuntu/saucy/drizzle/saucy-proposed

« back to all changes in this revision

Viewing changes to plugin/haildb/docs/index.rst

  • Committer: Package Import Robot
  • Author(s): Clint Byrum
  • Date: 2012-06-19 10:46:49 UTC
  • mfrom: (1.1.6)
  • mto: This revision was merged to the branch mainline in revision 29.
  • Revision ID: package-import@ubuntu.com-20120619104649-e2l0ggd4oz3um0f4
Tags: upstream-7.1.36-stable
ImportĀ upstreamĀ versionĀ 7.1.36-stable

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
HailDB
2
 
======
3
 
 
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.
9
 
 
10
 
HailDB is intended to replace the inbuilt innobase plugin.
11
 
 
12
 
Current Advantages
13
 
------------------
14
 
 * Crash proof DDL
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.
18
 
 * Simpler engine code
19
 
   The HailDB storage engine code is much smaller and cleaner than the
20
 
   innobase plugin
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
26
 
 
27
 
Current Limitations
28
 
-------------------
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.
35
 
 
36
 
Isolation Levels
37
 
----------------
38
 
 
39
 
HailDB supports: REPEATABLE READ, READ COMMITTED, SERIALIZABLE and READ
40
 
UNCOMMITTED isolation levels.
41
 
 
42
 
Row formats
43
 
-----------
44
 
 
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).
46
 
 
47
 
.. code-block:: mysql
48
 
 
49
 
  CREATE TABLE t1 (
50
 
         pk bigint auto_increment primary key,
51
 
         b blob
52
 
  ) ROW_FORMAT='COMPRESSED' ENGINE=InnoDB;
53
 
 
54
 
REDUNDANT
55
 
  Oldest row format. It was the default prior to MySQL 5.0.3. You probably
56
 
  no longer want to use this row format.
57
 
 
58
 
COMPACT
59
 
  Default since MySQL 5.0.3. It uses less space than the REDUNDANT row format
60
 
  for variable length filends and nulls.
61
 
 
62
 
DYNAMIC
63
 
  (Requires Barracuda file format or higher). TEXT and BLOB fields are stored
64
 
  separately to the rest of the row.
65
 
 
66
 
COMPRESSED
67
 
  (Requires Barracuda file format or higher). Similar to Dynamic, but database
68
 
  pages are compressed. This trades off slightly increased CPU usage for smaller
69
 
  on disk tables.