MySQL アーキテクチャ_ストレージ エンジンの紹介

1. コマンドを表示する

mysql が提供するストレージ エンジンを確認します: show engine;
ここに画像の説明を挿入
デフォルトのストレージ エンジンを確認します: show variables like '%storage_engine%';
ここに画像の説明を挿入

2.各種エンジンの導入

1. InnoDB ストレージ エンジン

  • 5.5 以上になると、デフォルトで InnoDB エンジンが使用されます。
  • InnoDB は MySQL のデフォルトのトランザクション エンジンであり、多数の短期間のトランザクションを処理するように設計されています。トランザクションの完全なコミット (Commit) とロールバック (Rollback) を保証できます。
  • 追加とクエリに加えて、更新と削除の操作も必要になるため、InnoDB ストレージ エンジンを優先する必要があります。
  • 別のストレージ エンジンを使用する特別な理由がない限り、InnoDB エンジンを優先する必要があります。

2. MyISAM ストレージ エンジン

  • MyISAM は、フルテキスト インデックス作成、圧縮、空間関数 (GIS) などを含む多数の機能を提供しますが、MyISAM はトランザクションと行レベルのロックをサポートしていません. 1 つの明白な欠点は、クラッシュ後に安全に回復できないことです. .
  • 5.5 より前のデフォルトのストレージ エンジン

3.アーカイブエンジン

  • アーカイブ ファイル ストレージ エンジンは、INSERT および SELECT 操作のみをサポートし、MySQL5.1 より前のインデックスはサポートしていません。
  • アーカイブ テーブルは、ログおよびデータ収集 (アーカイブ) アプリケーションに適しています。
  • 英語でのテスト結果によると、Archive テーブルは MyISAM テーブルよりも約 75% 小さく、トランザクション処理をサポートする InnoDB テーブルよりも約 83% 小さくなっています。

4.ブラックホールエンジン

  • Blackhole エンジンはストレージ メカニズムを実装していません。挿入されたすべてのデータを保存せずに破棄します。
  • ただし、サーバーは Blackhole テーブルのログを記録するため、データをスタンバイ データベースにコピーしたり、単にログに記録したりするために使用できます。ただし、この適用方法は問題が多く発生するため、お勧めできません。

5.CSVエンジン

  • CSV エンジンは通常の CSV ファイルを MySQL テーブルとして扱うことができますが、インデックスはサポートしていません。
  • CSV エンジンは、データ交換メカニズムとして非常に役立ちます。
  • CSV に保存されたデータは、テキスト エディタまたは Excel を使用して、オペレーティング システムで直接読み取ることができます。

6. メモリーエンジン

  • データにすばやくアクセスする必要があり、データが変更されず、再起動後に失われても問題ない場合は、メモリ テーブルを使用すると非常に便利です。
  • メモリ テーブルは、MyISAM テーブルよりも少なくとも 1 桁高速です。

7.連合エンジン

  • Federated エンジンは、他の MySQL サーバーにアクセスするためのプロキシです。このエンジンは、サーバー間で優れた柔軟性を提供するように見えますが、しばしば問題を引き起こすため、デフォルトでは無効になっています。

3. MyISAM と InnoDB の違い

ここに画像の説明を挿入

4. Alibaba と Taobao はどちらを使用していますか?

ここに画像の説明を挿入

  • Percona は、MySQL データベース サーバー用に改良されており、MySQL と比較して機能とパフォーマンスが大幅に向上しています。
  • このバージョンは、高負荷下での InnoDB のパフォーマンスを改善し、DBA に非常に役立つパフォーマンス診断ツールを提供します。さらに、サーバーの動作を制御するためのパラメーターとコマンドが追加されています。
  • 同社は、Innodb を完全に置き換えることができる Xtradb と呼ばれる新しいストレージ エンジンを作成し、パフォーマンスと同時実行性を向上させています。
  • Alibaba の mysql データベースのほとんどは、実際には Percona プロトタイプを使用して変更しています。
  • AliSql+AliRedisL

5. インタビューの質問

1. MySQL データベースにおける MyISAM と InnoDB の違いを簡単に説明してください

  • InnoDB ストレージ エンジンは
    、主に OLTP (オンライン トランザクション処理、オンライン トランザクション処理) アプリケーション用です
    特徴:
    行ロック設計、外部キーのサポート。

  • MyISAM ストレージ エンジンは、
    主に OLAP (オンライン分析処理、オンライン分析処理) アプリケーション用です。
    特徴:
    トランザクションをサポートせず、テーブルとフルテキスト インデックスをサポートします。動作速度が速い。

おすすめ

転載: blog.csdn.net/qq_46548855/article/details/125812654