A、MySQLのストレージエンジンアーキテクチャと
底部の様々な異なるプラットフォーム(例えば、スレッド)の態様を実施するが、実質的に様々なプラットフォームの物理的構造でのMySQL性を保証しながら、一貫。それがどのように動作するかそのため、ユーザーはこれらのプラットフォームのすべてでMySQLデータベースの非常によく理解することができるはずです。
1.1定義とデータベースの例
データベース:物理的なオペレーティングシステムファイルまたはファイル・タイプの他の形態のコレクション。MySQLデータベースでは、データベースファイルはFRM、MYD、MYI、IBDファイルとすることができます。NDBエンジンは、メモリ内のファイルに保存されているが、定義されて変わりません。
例:バックグラウンドスレッドと共有メモリ領域によってMySQLデータベース。共有メモリは、共有バックグラウンドスレッドを実行することができます。クラスタの場合、データベースのデータの複数の実施例で使用される場合があります。
概念的には、データベースは、いくつかのデータモデルに基づいてファイルの集合組織され、メモリ内の2つのデータセットに格納されています。
プログラム・データベース・インスタンスが、ユーザとオペレーティングシステム層、データ管理ソフトウェア、データベース内のデータに対するユーザ操作との間に配置され、データベースは定義、データ照会、データメンテナンス含む、データベース制御動作は、データベースインスタンスで行われますアプリケーションは、データベースインスタンスを介してデータベースと対話することができます。
MySQLは、データベースのマルチスレッドアーキテクチャ単一のプロセスです。
> /etc/myssql/my.cnf - - > /usr/local/mysql/etc/my.cnf - >〜/読み取りシーケンス.my.cnfプロファイルな/etc/my.cnf応じて、MySQLデータベース。
あなたは、設定ファイル内のパラメータの数が同じ場合は、MySQLデータベースは最終的にパラメータが優先設定ファイルを読み込みます。
1.2 MySQLのアーキテクチャ
図に示す、次のコンポーネントからのMySQL:
- 接続プールのコンポーネント
- 管理サービスとツールコンポーネント
- SQLインターフェイスコンポーネント
- クエリアナライザコンポーネント
- オプティマイザコンポーネント
- バッファ(キャッシュ)成分
- プラグイン可能なストレージエンジン
- 物理ファイル
MySQLは、データベーステーブルの他の最も重要な特徴は異なることプラグインストレージエンジン、ストレージエンジンはテーブルに基づいていることに留意されたいです。
1.3 MySQLのストレージエンジン
1.3.1 InnoDBストレージエンジン
これは主にアプリケーションのオンライン・トランザクション処理(OLTP)のために設計されています。これは、トランザクションのサポート、行ロックの設計、外部キーのサポート、ロック解除された読み取り(デフォルトでMVCCは、操作がロックされません読み)が備わっています。MySQL5.5.8後、InnoDBがデフォルトのストレージエンジンです。
InnoDBが高い同時マルチバージョン同時実行制御(MVCC)の使用を介して得られ、分離の4つのレベルを達成するために、デフォルトのレベルは反復可能です
ファントム読み取りの現象を回避するためにネクストキーロック戦略の使用
クッションインサート(挿入バッファ)を提供し、副ライト(ダブル書き込み)、アダプティブハッシュインデックス(アダプティブハッシュインデックス)、先読み(先読み)と高パフォーマンス機能の可用性
テーブル定義に主キー、InnoDBストレージエンジンは、行ごとに6バイトのROWIDを生成しないであろう場合に凝集(クラスター化)モードを使用してテーブル内のデータは、テーブルごとに記憶するために、順番に主キーであり、主キーとして。
1.3.2 MyISAMストレージエンジン
これは、OLAPアプリケーションのために主に、フルテキストインデックス処理をサポートするように設計されたトランザクション、テーブルロックをサポートしていません。
MySQLの5.5.8のデフォルトのストレージエンジンの前に
バッファプールキャッシュのみインデックスファイルは、データファイルをキャッシュされません。データファイルは、オペレーティング・システム自体によって行われます
1.3.3 NDBストレージエンジンデータ
省略
問題:データテーブル千万よりも大きい場合には、MySQLのパフォーマンスが劇的にドロップしますか?
行の数が、パフォーマンスは低下しますが、ユーザーが正しいストレージエンジン、正しい構成、データのMySQLの量は余裕がどんなにを選択した場合に減少は、直線的ではありません。上述の公式マニュアルとして、データの1TBストレージInnoDBの処理INSERT、UPDATE平均動作800回/秒を超えます。