正しいストレージエンジンの選択
Contents
ストレージエンジンを選択するための情報:
トピック一覧
一般用途
- XtraDBは、10.1まではベストな選択です。以前は、InnoDBのパフォーマンスが強化されたフォークで、10.1まではMariaDBのデフォルトエンジンでした。
- InnoDBは一般的なトランザクションストレージエンジンです。これはMySQLのデフォルトのストレージエンジンで、バージョン10.2においてのデフォルトエンジンです。バージョン10.1までは、XtraDBはInnoDBのパフォーマンス強化版のフォークでした。
- AriaはMariaDBによってなされたMyISAMのより現代的な改善ですが、フットプリントが小さく、システム間で簡単にコピーすることができます。
- MyISAMはフットプリントが小さく、システム間で簡単にコピーすることができます。MyISAMはMySQL最古のストレージエンジンです。通常は、レガシー目的以外に使用する理由はほとんどありません。*
- Ariaは、MariaDBによる改善されたストレージエンジンです。
スケーリング、パーティショニング
いくつかのサーバー上のデータベースの負荷を分散したり、スケーリングのために最適化したいときに使用します。同期型マルチマスタークラスター環境であるGaleraの採用も可能です。
- TokuDBは、メモリに収まらないワークロード向けに最適化されたトランザクション対応ストレージエンジンであり、高い圧縮率を誇ります。
- Spiderは、パーティショニングを使用し、複数のサーバーにわたるデータシャーディングを提供します。
- ColumnStoreは、大規模並列分散データ・アーキテクチャを利用し、ペタバイト規模のデータを処理するためのスケーリングを意識して設計されています。
- MERGEストレージエンジンは、1つとして使用することができる同一のMyISAMテーブルの集合です。「同一」とは、すべてのテーブルが同一のカラムとインデックス情報を有することを意味します。
圧縮/アーカイブ
- TokuDBは、メモリに収まらないワークロード向けに最適化されたトランザクション対応ストレージエンジンであり、高い圧縮率を誇ります。
- Archiveストレージエンジンは、データのアーカイブに最適です。
他のデータソースへの接続
MariaDBデータベースに格納されていないデータを使用する場合に使用します。
- CONNECTは異なる種類のテキストファイルやリモートリソースにMariaDBテーブルであるかのようにアクセスすることができます。
- CSVストレージエンジンは、CSV(カンマ区切り値)形式で保存されたファイルを読んだり、データを追加したりすることができます。しかし、MariaDB 10.0以降では、CONNECTがより柔軟にこのようなファイルを読み書きできる良い選択となります。
- FederatedXは、リモートRDBMSを含むデータソースとのやり取りにlibmysqlを使用しています。 FederatedXはlibmysqlのみを使用しているため、現在、MySQL RDBMSとのみやり取りすることができます。
- CassandraSEは、NoSQLのDBMSであるApache Cassandraの古いバージョンへのアクセスを可能にするストレージエンジンです。実験的要素が強かったため、現在は活発に開発されていません。
検索最適化
検索のために最適化されている検索エンジン。
- SphinxSEは、リモートSphinxデータベースサーバー(主に高度な全文検索に便利)上でステートメントを実行するためにプロキシとして使用されます。
- Mroongaは、カラム型ストレージを使用して高速CJK対応のフルテキスト検索を提供します。
キャッシュ、読み取り専用
- MEMORYは、ディスク上にデータを書き込まれず(すべての行がクラッシュ時に失われます)、他のテーブルからのデータの読み取り専用キャッシュや、一時作業エリアとしての使用に最適です。デフォルトのXtraDBやその他の性能の良いキャッシュ機構を持つストレージエンジンがあるため、以前に比べるとこのエンジンはあまり必要とされていません。
その他の特殊なストレージエンジン
- Sequenceは、指定した開始値、終了値、増分を指定した昇順または降順の数値(正の整数)の配列の一時テーブルを必要に応じて作成します。
- BLACKHOLEストレージエンジンはデータを受け入れますが、それを全く保持せずに、常に空の結果を返します。これは、例えば、マスター上の任意のオーバーヘッドを招くことなく、スレーブ上の複雑なフィルタリングルールを実行したい場合、のようなreplication環境で役立ちます。
- OQGRAPHは階層(ツリー構造)と複雑なグラフ(ノードが多方向に多くの接続を持つ)を処理することができます。
アルファベット順
- Archiveストレージエンジンは、データのアーカイブに最適です。
- AriaはMariaDBによってなされたMyISAMのより現代的な改善ですが、フットプリントが小さく、システム間で簡単にコピーすることができます。
- BLACKHOLEストレージエンジンはデータを受け入れますが、それを全く保持せずに、常に空の結果を返します。これは、例えば、マスター上の任意のオーバーヘッドを招くことなく、スレーブ上の複雑なフィルタリングルールを実行したい場合、のようなreplication環境で役立ちます。
- CassandraSEは、NoSQLのDBMSであるApache Cassandraの古いバージョンへのアクセスを可能にするストレージエンジンです。実験的要素が強かったため、現在は活発に開発されていません。
- ColumnStoreは、大規模並列分散データ・アーキテクチャを利用し、ペタバイト規模のデータを処理するためのスケーリングを意識して設計されています。
- CONNECTは異なる種類のテキストファイルやリモートリソースにMariaDBテーブルであるかのようにアクセスすることができます。
- CSVストレージエンジンは、CSV(カンマ区切り値)形式で保存されたファイルを読んだり、データを追加したりすることができます。しかし、MariaDB 10.0以降では、CONNECTがより柔軟にこのようなファイルを読み書きできる良い選択となります。
- FederatedXは、リモートRDBMSを含むデータソースとのやり取りにlibmysqlを使用しています。 FederatedXはlibmysqlのみを使用しているため、現在、MySQL RDBMSとのみやり取りすることができます。
- InnoDBは一般的なトランザクションストレージエンジンです。これはMySQLのデフォルトのストレージエンジンで、バージョン10.2においてのデフォルトエンジンです。バージョン10.1までは、XtraDBはInnoDBのパフォーマンス強化版のフォークでした。
- MERGEストレージエンジンは、1つとして使用することができる同一のMyISAMテーブルの集合です。「同一」とは、すべてのテーブルが同一のカラムとインデックス情報を有することを意味します。
- MEMORYは、ディスク上にデータを書き込まれず(すべての行がクラッシュ時に失われます)、他のテーブルからのデータの読み取り専用キャッシュや、一時作業エリアとしての使用に最適です。デフォルトのXtraDBやその他の性能の良いキャッシュ機構を持つストレージエンジンがあるため、以前に比べるとこのエンジンはあまり必要とされていません。
- Mroongaは、カラム型ストレージを使用して高速CJK対応のフルテキスト検索を提供します。
- MyISAMはフットプリントが小さく、システム間で簡単にコピーすることができます。MyISAMはMySQL最古のストレージエンジンです。通常は、レガシー目的以外に使用する理由はほとんどありません。Ariaは、MariaDBによる改善されたストレージエンジンです。
- OQGRAPHは階層(ツリー構造)と複雑なグラフ(ノードが多方向に多くの接続を持つ)を処理することができます。
- Sequenceは、指定した開始値、終了値、増分を指定した昇順または降順の数値(正の整数)の配列の一時テーブルを必要に応じて作成します。
- SphinxSEは、リモートSphinxデータベースサーバー(主に高度な全文検索に便利)上でステートメントを実行するためにプロキシとして使用されます。
- Spiderは、パーティショニングを使用し、複数のサーバーにわたるデータシャーディングを提供します。
- TokuDBは、メモリに収まらないワークロード向けに最適化されたトランザクション対応ストレージエンジンであり、高い圧縮率を誇ります。
- XtraDBは、10.1まではベストな選択です。以前は、InnoDBのパフォーマンスが強化されたフォークで、10.1まではMariaDBのデフォルトエンジンでした。
Content reproduced on this site is the property of its respective owners,
and this content is not reviewed in advance by MariaDB. The views, information and opinions
expressed by this content do not necessarily represent those of MariaDB or any other party.