MySQLデータベースでは、以下の特徴があります。 操作がスムーズにでき、インストールと設定が短時間で可能です。 レプリケーション・パーティションの機能に優れ、可用性や管理性や安全性に優れています。 トランザクション機能を有し、データの高い信頼性を保持しています。ストアドプロシージャ・トリガ・ビューは、情報の保護やシステム開発や運用を支えています。 データベースの管理は、操作性にすぐれていることもあり、スムーズに実行でき、またクラスターデータベース等の機能で自動的に管理できるので、労力は少なくすみます。
レプリケーションを行う場合は、LANやインターネットを通じて行うので、マスターのデータベースと離れた場所にあるサーバーにレプリケーションすることも可能です。
MySQLでは、いくつかのタイプのレプリケーションを用意しています。
レプリケーション一覧表 | |
---|---|
行ベース | マスタで実行されたSQLの結果(行)を、スレーブへ転送し、データを同一にするという方法です。 |
ステートメントベース | マスタで実行されたSQLをスレーブに転送し、そこで同じように実行し、データを同一にするという方法です。 |
潜在形式 | ログされるイベントで上記の両タイプを切り替える方法です。 |
MySQL Replication Moniter でレプリケーションの状態を監視し、レプリケーション・アドバイザ・ルールを用いることで、レプリケーションの状態が悪化するまえに、問題になりそうな内容を検知することができます。検知後は、対応をおこなうことでレプリケーションは安定化できます。
これにより、データにアクセスする場合には特定のパーティションのみにアクセスされます。
その結果、クエリーの速度が向上し、データベースのパフォーマンスは良くなります。
パーティショニングを使うには、作成時にオプションでパーティショニングを指定するだけで、通常のデータ抽出時には、特にパーティショニングを意識する必要はありません。
パーティショニングには、レンジ・リスト・カラム・ハッシュ・キー・サブといったタイプがあります。
パーティショニング一覧表 | |
---|---|
レンジ | 値の範囲をパーティションに設定する方式。例えば、年代別にデータを分けるとき等に使います。パーティション別のデータの確認はしやすいが、データ量には偏りがでてしまいます |
リスト | 範囲でなく値をパーティションにせっている方式。パーティション別のデータの確認はしやすいが、データ量には偏りがでてしまいます。パーティション別のデータの確認はしやすいが、データ量には偏りがでてしまいます。 |
カラム | パーティショニング・キーに複数の列を指定する方式。上記のレンジとリストを拡張したものです。 |
ハッシュ | 一つの列・複数の列からハッシュ値を算出し、それをもとにパーティションにふりわける方式。パーティションにデータ量を均等にわけることができます。 |
キー | 文字列型,複数のキーを指定したい場合にこれを使います。システムで算出したハッシュ値をもって、パーティショニングします。 |
パーティションブルーニング | パーティションされたテーブルの中身をさらに細かく分割します。大容量のテーブルの場合に使用します。 |
サブ | 特定のパーティションだけにアクセス(参照)する機能です。パーティションされていない場合と比較すると、特定して行うので処理速度は速くなります。 |