126 MySQLのストレージエンジンの概要

、MySQLのストレージエンジンの概要

1.1ストレージエンジンとは何ですか?

ファイル(またはメモリ)に格納された異なる技術の様々なMySQLのデータです。これらの技術は、それぞれの技術は、異なるストレージメカニズム、索引技術、ロックレベルを使用し、最終的にはさまざまな機能や能力の広い範囲を提供しています。異なる技術を選択することで、あなたは、これにより、アプリケーションの全体的な機能を改善し、余分な速度や機能性を得ることができます。

あなたが研究の一時的なデータが多数ある場合たとえば、あなたはメモリストレージエンジンを使用する必要があります。メモリ内のテーブルデータのすべてを格納するためのメモリ・ストレージ・エンジン。それとも、あなたは(ときに、データのトランザクションが失敗したロールバック機能であることを保証するために)サポートトランザクション処理データベースを必要とするかもしれません。

これらの異なる技術および関連機能をサポートは、MySQLストレージエンジン(別名テーブル型)で呼び出されます。

多くの異なるストレージエンジンのMySQLのデフォルトの設定は、MySQLサーバに予め設定したり、有効にすることができます。あなたは、あなたのパフォーマンスと機能があなたのために最大限の柔軟性を提供するために、何を結合する必要がある場合は、この情報およびデータを取得する方法を、あなたの情報を保存する方法を選択するためには、サーバ、データベースとテーブルのストレージエンジンに適用することを選択することができます。

あなたのデータを格納および取得する方法を選択して、この柔軟性は、なぜMySQLはとても人気が主な理由です。のデータベースシステム(ほとんどの商用の選択肢を含む)は、唯一の1種類のサポートデータストレージを

残念ながら、アプローチ「すべてのニーズを満たすためにワンサイズ」を取るためのデータベースソリューションの他のタイプは、意味あなたはどちらか、いくつかのパフォーマンスを犠牲にするのどちらかであるあなたは、データベースを調整する詳細な時間の数時間または数日を使用します。MySQLを使用して、我々は唯一の私たちがそれを使用するストレージエンジンを変更する必要があります。

1.2 MySQLストレージエンジンのサポート

含むmysql5.6サポートされているストレージエンジン、InnoDBは、MyISAMテーブル、MEMORY、CSV、 BLACKHOLE、FEDERATED、MRG_MYISAM、ARCHIVE、PERFORMANCE_SCHEMA。これはNDBとInnoDBはトランザクションセーフテーブルを提供し、他のストレージエンジンは、非トランザクションセーフテーブルです。

1.3は、検索エンジンの様々なを紹介します

InnoDBは: MySQLバージョン5.6のデフォルトのストレージエンジン。InnoDBは、ユーザデータを保護するために、ロールバックをコミットしている、とクラッシュ回復機能トランザクションセーフストレージエンジンです。InnoDBの行レベルのロック、およびOracleスタイルの一貫した非ロックは、マルチユーザーの同時実行とパフォーマンスを向上させるために読み取ります。共通の主キーに基づいて、InnoDBの集計クエリを減らすために、インデックスに格納されたユーザデータは、I / Oのオーバーヘッドをもたらします。データの整合性を確保するために、InnoDBはまた、外部キー制約をサポートしています。

MyISAMテーブル: MyISAMのどちらもサポートサービスは、外部キーをサポートしていない、その利点は、高速のアクセス速度ですが、それは多くの場合、読み取り専用で使用または読み取りほとんどのされるように、テーブルレベルのロックは、読み取りおよび書き込み負荷の面でその性能を制限しますデータシーン。

メモリ:メモリに格納すべてのデータは、速いことにより、非クリティカルなデータを探すためにシーンに適用されます。メモリタイプテーブルアクセスデータ非常に迅速に、それは、データメモリに格納され、デフォルトでHASHインデックスを使用しますが、データサービスがシャットダウンされると、テーブルは失われますされていますので、

BLACKHOLE:ブラックホールストレージエンジン、Unixライクなは/ dev / nullは、アーカイブが保存されますが、データのみを受信されません。このエンジンは、多くの場合、空のセットを返すテーブルに照会します。このようなテーブルは、DMLステートメントに適用することができるサーバから送信する必要があるが、一次サーバとマスター構成からそのようなデータのバックアップを保持しません。

CSV:そのテーブルは本当にカンマ区切りのテキストファイルです。CSVテーブルは、インポートおよびエクスポートデータをCSV形式で、同じフォーマットをし、スクリプトやアプリケーションのデータとの対話を読み書きすることができます。インデックスなしのCSVテーブルので、あなたはより良い、一般的にはInnoDBテーブルのデータを入れたいCSVテーブルについて使用していますインポートまたはエクスポートフェーズでのみ動作します。

NDB: 別名NDBCLUSTERは) -このエンジンはクラスタデータに特に適しているアプリケーションの稼働時間と可用性の最高レベルを必要とします。注意:NDBストレージエンジンは、標準のMySQL 5.6バージョンではサポートされていません。現在サポートしています

MySQLクラスタのバージョン: MySQL ClusterのNDB 7.1 MySQLの5.1に基づいて、MySQL ClusterのNDBのMySQL 5.5 7.2のに基づいて、MySQL ClusterのNDBのMySQL 5.6 7.3に基づきます。また、MySQL ClusterのNDBのMySQLの5.6に基づいて7.4は現在開発中です。

マージ:のMySQL DBAまたはグループ化され、同一のMyISAMテーブルのシリーズに開発を許可し、オブジェクト参照としてそれらを置きます。そのようなデータウェアハウスとして超大規模データ・シナリオについて。

フェデレーション: MySQLサーバ結合異なる物理マシンの複数の論理的なデータベースを作成する能力を提供します。または分散データのシナリオのための市場。

例:例の書き込みを開始するには、このストレージエンジンは、新しいストレージエンジンのMySQLのソースを保存する方法を示しています。これは、興味を持っている開発者を対象としています。このストレージエンジンは敗者ではないんです。「スタブ」。あなたは、テーブルを作成するには、このエンジンを使用できますが、そこから任意のインデックスを取得することができないに任意のデータを保存することはできません。

第二に、一般的に使用されるストレージエンジンと利用シナリオ

InnoDBは:トランザクション処理アプリケーション、外部キーのサポート、行レベルのロックのために。完全のためのアプリケーションは、物事は、加えて、同時条件の一貫性、データの挿入とクエリ操作の下のデータ要件を比較的高い要件がある場合、また、それは、InnoDBストレージエンジンがより適切である、多くの更新および削除が含まれています。また、効果的に、トランザクションの整合性を確保することができますロック削除や更新によって引き起こされるのInnoDBを減らすことにコミットし、データの正確性の要件については、同様の課金システムや金融システムのロールバックは、比較的高いシステムを適切に選択されています。

MyISAMテーブル:アプリケーションがトランザクションの要求が厳しく読み、操作ベースを挿入、更新のほんの数および削除操作、および完全性、同時実行されている場合は、ストレージエンジンを選択することができます。

メモリ:すぐに高速アクセスを提供し、記録や他の同様のデータ環境を見つけるために必要で、メモリに保存されているすべてのデータ。メモリ欠点があるため、異常終了のデータベースは、データを正常に復元することができるが、テーブルのサイズに制限があることであるが、データベースがシャットダウンされると、データは記憶喪失に格納されます。

おすすめ

転載: www.cnblogs.com/XuChengNotes/p/11588520.html