InnoDBは、MySQLおよびMariaDBで利用されるデータベースエンジンのひとつであり、その高い信頼性と機能性から広く利用されています。2010年のMySQL 5.5.5のリリース以降、従来の標準であったMyISAMに代わり、デフォルトのテーブルタイプとして採用されました。
主な特徴
ACID準拠のトランザクション: PostgreSQLと同様に、ACID特性(原子性、一貫性、隔離性、耐久性)を保証するトランザクションをサポートしています。これにより、データの整合性を維持したまま、複数の操作を安全に実行できます。
外部キー: 宣言的参照整合性とも呼ばれる外部キーをサポートしており、テーブル間の関係を定義し、データの整合性を保つことができます。
テーブルスペース: データを格納するためのテーブルスペースをサポートしており、柔軟なストレージ管理が可能です。
全文検索インデックス: MySQL 5.6(2013年2月)およびMariaDB 10.0以降では、全文検索インデックスをサポートしており、テキストデータの高速な検索が可能です。
空間演算: OpenGIS標準に準拠した空間演算をサポートしており、地理空間データの処理が可能です。
仮想列: MariaDBでは、仮想列をサポートしており、計算結果を格納する仮想的な列を作成できます。
InnoDBの歴史
InnoDBは、元々Innobase社によって開発されましたが、
2005年10月にオラクル社に買収され、現在はオラクル社の製品となっています。
ソフトウェアはデュアル
ライセンスで提供されており、
GNU General Public Licenseのもとで自由に利用できる一方で、商用利用のための
ライセンスも販売されています。
派生ソフトウェア
InnoDBは、そのオープンな性質から、様々な派生
ソフトウェアが開発されています。例えば、OurDelta.orgでは、GoogleやPerconaなどによるInnoDBへのパッチを含むMySQL
バイナリを配布しています。また、Perconaは2008年12月26日に、InnoDBのフォークであるXtraDBを発表しており、こちらも広く利用されています。
関連技術
InnoDBは、MySQLおよびMariaDBのデータベースシステムにおいて、重要な役割を果たしています。以下に、InnoDBと関連する技術をいくつか示します。
Falcon: かつてMySQLで開発されていたストレージエンジンですが、InnoDBに統合されました。
ISAM: かつてMySQLで利用されていたストレージエンジンの一つです。
MyISAM: かつてMySQLの標準であったストレージエンジンです。InnoDBが導入されるまで広く利用されました。
Aria: MariaDBで利用されるストレージエンジンです。MyISAMからの移行を容易にすることを目的に開発されました。
参考資料
より詳細な情報については、以下の公式ドキュメントや関連情報を参照してください。
公式サイト
MySQLにおけるInnoDBと他のテーブルタイプ
*
MySQLマニュアルのInnoDBに関する情報