MySQL Archive

MySQL Archive
ArchiveStorage Engine
Original author(s) Brian Aker
Initial release 2004
Development status Active
Written in C, C++
Operating system Cross-platform
Platform x86, x86-64, SPARC, MIPS, PowerPC
Type Database engine
License GNU General Public License
Website http://mysql.bkbits.com

MySQL Archive is a storage engine for the MySQL relational database management system. Users can use this analytic storage engine to create a table that is “archive” only. Data cannot be deleted from this table, only added. The Archive engine uses a compression strategy based on the zlib library and it packs the rows using a bit header to represent nulls and removes all whitespace for character type fields. When completed, the row is inserted into the compression buffer and flushed to disk by an explicit flush table, a read, or the closing of the table.

One of the current restrictions of Archive tables is that they do not support any indexes, so you will be looking at a table scan for any SELECT tasks. MySQL is examining index support for Archive tables in upcoming releases, but for now, one thing you can depend on to help table scan times is the fact that Archive tables are supported by the MySQL Query Cache, which can dramatically reduce response times for Archive table queries that are repetitively issued.[1]

The engine is not ACID compliant. Unlike OLTP engines, it uses a "stream" format to disk with no block boundaries. The head of the Archive file generated is a byte array representing the data format and contents of that file. In MySQL 5.1, a copy of the MySQL FRM file is stored in the header of each Archive file. The FRM file, which represents the definition of a table, allows an Archive file to be restored to a MySQL server if the Archive file is copied to the server.

Despite the use of zlib, archive files are not compatible with gzio, the basis of the gzip tools. It uses its own azio system that is a fork of gzio.

Archive differs from the other MySQL analytical engine, MyISAM, by being a row level locking engine and by keeping a constant version snapshot throughout a single query (making it MVCC). This means that Archive does not lock for concurrent bulk inserts. For bulk inserts it performs an interlaced INSERT, so unlike MyISAM, order is not guaranteed.

Users can use the archive_reader tool to take an online snapshot of a table and to change the characteristics of an archive file.

To create an Archive table, specify the following engine string:

CREATE TABLE t1 (
 a INT,
 b VARCHAR(32))
ENGINE=ARCHIVE

The MySQL Archive Storage Engine was authored and is maintained by Brian Aker. It was introduced in 2004 with MySQL 4.1.

References


External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • MySQL — Developer(s) MySQL AB (A subsidiary of Oracle) Initial release May 23, 1995 (1995 05 23 …   Wikipedia

  • MySQL Workbench — Screenshot  The Home Screen Developer(s) Oracle Corporation …   Wikipedia

  • MySQL — Логотип MySQL Тип Реляционная СУБД Разработчик MySQL AB (до 2008), Sun Microsystems (2008 2010 …   Википедия

  • MySQL Cluster — is a technology which provides shared nothing clustering capabilities for the MySQL database management system. It was first included in the production release of MySQL 4.1 in November 2004. It is designed to provide high availability and high… …   Wikipedia

  • MySQL Workbench — Тип Инструмент для визуального проектирования баз данных Разработчик …   Википедия

  • MySQL Enterprise — Server Developer(s) Oracle Corporation Stable release 5.5.8 Operating system Cross platform Type RDBMS …   Wikipedia

  • MYSQL — Entwickler: Sun Microsystems (bis Februar 2008: MySQL AB) Aktuelle Version: 5.1.34 (Community Server) (7. April 200 …   Deutsch Wikipedia

  • MySQL — Entwickler Oracle Corporation (bis Februar 2008: MySQL AB, bis Januar 2010: Sun Microsystems) Aktuelle Version …   Deutsch Wikipedia

  • MySql — Entwickler: Sun Microsystems (bis Februar 2008: MySQL AB) Aktuelle Version: 5.1.34 (Community Server) (7. April 200 …   Deutsch Wikipedia

  • Mysql — Entwickler: Sun Microsystems (bis Februar 2008: MySQL AB) Aktuelle Version: 5.1.34 (Community Server) (7. April 200 …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”