1. MySQLのストレージエンジンアーキテクチャと--MySQLアーキテクチャ、ストレージエンジン

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回/秒を超えます。

 

  

 

 

 

おすすめ

転載: www.cnblogs.com/jjfan0327/p/12660045.html