[] MySQLストレージエンジン--2019-08-17 2時28分42秒

オリジナル:http://blog.gqylpy.com/gqy/245

"


ディレクトリ

#。MySQLのストレージエンジンのサポート

1. InnoDBの

2. MyISAMテーブル

3. NDB

4.メモリー

5.にInfobright

6. SMART

7. BLACKHOLE


フォルダ内にあるMySQLデータベース、あるファイルリスト
我々は、異なる種類のデータファイルを格納するために使用される現実の生活など、それぞれ異なるメカニズム(に対応する各ファイルタイプ:治療のTXTタイプを持つテキスト、Excelと治療テーブル、写真付きなどPNG、によります)

データベース内のテーブルは、異なるタイプを有していなければならない、テーブルの異なるタイプが、MySQLはまた、種別テーブルストレージエンジンとして知られている異なるアクセスメカニズムに対応することができます。

PS:白色インデックスデータが格納されている方法と、クエリデータおよび他の実装技術を更新する方法、データを格納する方法であるストレージエンジン。ので、リレーショナルデータベース内のデータテーブルの形で記憶が格納され、ストレージエンジンは、テーブル型と呼ばれる(即ち、タイプ動作し、このテーブルを格納する)ことができます

OracleとSQL Serverのデータベースストレージエンジンでは、ユーザが異なるデータ選択テーブルストレージエンジン、ユーザの様々なニーズに応じて可能なすべてのデータベース・ストレージ管理機構は、唯一同じであり、MySQLデータベースエンジンは、ストレージのさまざまを提供あなたはまた、彼らのニーズに応じて、独自のストレージエンジンを書くことができます。

![ここの挿入の説明](http://blog.gqylpy.com/media/ai/2019-03/f065e887-be54-4608-a236-c400c1478427.png)

SQLインタプリタ、SQLオプティマイザ、プール、ストレージエンジンやその他の部品は、すべてのデータベースに存在しますが、各データベースのストレージエンジンのために多くはありません。開発者は、所望の記憶層の彼らのストレージエンジン層を設計することができますMySQLのプラガブルなストレージエンジンは、例えば、いくつかのアプリケーションは、業務の要件を満たす必要があり、一部のアプリケーションでは、トランザクションのための非常に強い需要を持っている必要はありませんが、いくつかのデータを願っています可能性があり永続ストレージ、およびいくつかは、単にメモリ内に収まるようにしたい、と一時的に迅速にデータへのアクセスを提供します。


#。MySQLのストレージエンジンのサポート


   
   
  1. # 查所有支持的存储引擎
  2. show engines\G;
  3. # 查正在使用的存储引擎
  4. show variables like 'storage_engine%';

1. InnoDBの

メインターゲットに設計されたサポートサービス、アプリケーション指向のオンライントランザクション処理(OLTP)Aを

これは、デフォルトでは何のロックを読まないで行ロックの設計、外部キーのサポート、および同様のサポートOracleの非ロックの読み取りを備えています。MySQLバージョン5.5.8を起動すると、デフォルトのストレージエンジンです。

MySQLの4.1から、InnoDBストレージエンジン自体によって管理されるように論理表スペース内のInnoDBストレージエンジンのデータは、表スペースは、各InnoDBストレージエンジン、バージョンができる(4.1を含む)、ブラックボックスのようなものですテーブルには、別途個別のファイルIBDに保存されています。また、InnoDBストレージエンジンは、その表スペースの確立のためのrawデバイス(行ディスク)をサポートします。

NETXキーロック戦略の使用は(ファントム読み取りを回避するために呼び出されながらInnoDBがマルチバージョン同時実行制御(MVCC)高い並行性を使用することによって得られ、標準SQL分離レベルの4種類達成され、デフォルトはREPEAテーブルレベルであり、現象を生成するために、ファントム)。また、InnoDBストレージエンジンは、また、クッションインサート(挿入バッファ)、二次ライト(二重書き込み)、適応ハッシュインデックス(適応ハッシュインデックス)、先読み(先読み)、高性能の可用性を提供します機能。

テーブルに格納されたデータは、InnoDBストレージエンジンは、集約モード(クラスター化)を使用し、明示的に指定されていない場合、主キーテーブルの定義は、InnoDBストレージエンジンである場合、各テーブルには、順次、主キーを記憶しています各列、6バイトのROWID、主キーとして。

InnoDBストレージエンジンは、最も一般的に使用されるMySQLデータベースエンジンは、高可用性、高パフォーマンスと高い拡張性を持つフェイスブック、グーグル、ヤフーや他の企業が正常に実証されたInnoDBストレージエンジン、その基礎となる実装も把握し、理解する必要があります時間と技術の蓄積。ブック:あなたはInnoDBストレージエンジン、実装、およびアプリケーションの動作原理を理解したい場合は、「InnoDBストレージエンジンは、MySQLインサイド」を参照してください。

2. MyISAMテーブル

これは、主にOLAPデータベースアプリケーションのいくつかのために、フルテキストインデックス処理をサポートするように設計されたテーブルロックをトランザクションをサポートしていません。

MySQLでMyISAMストレージエンジンは、(Windows版を除く)デフォルトエンジンの前のバージョンを5.5.8。データベース・システムとファイルシステムの大きな違いは、トランザクションのサポートという点である基本的な貧困、MySAMストレージエンジンがトランザクションをサポートしていない、理解することは難しいことではありません。

ユーザーは、すべてのアプリケーションで取引を行うために必要がある場合は?データウェアハウスでは、これらの操作なしでETL、単にクエリを報告することによって、トランザクションが何をサポートする必要がありますか?また、別のMyISAMストレージエンジン独特のは、データベースのほとんどであるキャッシュ・データ・ファイル、なしでその唯一のバッファプールキャッシュ(キャッシュ)のインデックスファイルで同じではありません。

3. NDB

〜?歳、ソニー・エリクソンからのMySQL AB社は、NDBストレージエンジン取得NDBストレージエンジンはクラスタストレージエンジンである OracleのRACクラスタに似て、しかし、すべてのものを共有するためのOracle RACの結果が異なっていることが、その構造は、共有何もないということですクラスタアーキテクチャは、高可用性の高いレベルを提供することが可能です。

NDBストレージエンジンは、その主キーのルックアップ(主キーのルックアップ)高速で、オンラインデータストレージノードNDBを追加する機能(5.1バージョンから、ディスク上の非インデックス付きデータとすることができる)、メモリ内のすべてのデータが備えられています(データノード)、直線データベースパフォーマンスを向上させる。
このように、NDBストレージエンジンは、高可用性、高性能、スケーラブルなデータベース・クラスタ・システムは、データベースアプリケーションのタイプもOLTPに直面しています。

4.メモリー

その名前が示すように、メモリストレージエンジンのデータは、データベースの再起動またはクラッシュが発生し、テーブル内のデータが消えメモリに格納されています。これは、一時テーブル記憶OLTPデータベースアプリケーションの一時的なデータ、それはOLAPデータベース・アプリケーション、データウェアハウスのディメンションテーブルとして使用することができるため理想的であるメモリ・ストレージ・エンジンではなく、通常の馴染みのB +ツリーインデックス、デフォルトハッシュインデックスを使用します。

5.にInfobright

メモリーことを特徴としているサードパーティのストレージエンジンは、OLAPのデータベースアプリケーションに最適です、列ではなく行です。

6. SMART

内部使用のために開発網易ストレージエンジンは、現在のバージョンでは、トランザクションをサポートしていないが、圧縮、行レベル・キャッシュおよび他の機能を提供し、近い将来のトランザクションサポートメモリで実現されるであろう。

7. BLACKHOLE

ブラックホールストレージエンジンは、スタンバイ複製配布メインライブラリで使用することができます

 

他の多くのMySQLデータベースのストレージエンジンは、ちょうど上記の最も一般的に使用されるエンジンの一部を示します、があります。
あなたが好きなら、オープンソースは、私たちの能力にもオープンソースの魅力を与えている独自の特殊なエンジンを、書くことができます。

 

 



"

オリジナル:http://blog.gqylpy.com/gqy/245

おすすめ

転載: www.cnblogs.com/gqy02/p/11367173.html