物理的な垂直または水平セグメント化アルゴリズムまたはツールのいくつかは、ハッシュすることによって達成されたデータテーブル
該当シーン
1、単一のテーブルのレコードの数や一万の万人レベルに達します
2、問題解決テーブルロック
サブテーブル方式
サブテーブルのレベル:大きなテーブル、またインデックスの層数を削減しながら、データとインデックスを読み込むためのクエリのニーズのページ数を減らすことができ、分割した後は、クエリの数を増やします
該当シーン
図1は、様々な領域におけるこのようなデータテーブルのレコードとしてテーブル自体独立でデータが異なる周期でテーブルまたはデータを刻まれ、特に、データの一部は、一般的に使用されていないいくつかの、使用しました。
図2に示すように、データは、複数の媒体に格納する必要があります。
例:QQのログイン、特にQQ番号ので、今最適化SQL、サブテーブル99にモジュロアルゴリズムによって、モジュロ100で、このデータの残りの部分は決定テーブルです!
水平剪断欠点分
1は、通常のクエリ中に複数のテーブル名を必要とし、アプリケーションの複雑さを高めるために、すべてのデータは、UNIONを動作させるために必要
2、多くのデータベース・アプリケーションでは、ディスクの数が増加します、それがもたらす利点を上回るだろう、この複雑さは、クエリインデックスレイヤを読み込みます
垂直のテーブル
そして、別のテーブルのテーブルの主キーの列の数、および主キーと追加の列
該当シーン
テーブルの特定の列が使用される場合に1、他のいくつかの列が使用されていません
図2に示すように、データラインを小さくすることができ、I / O頻度、クエリを減少させる、より多くのデータを格納することができるデータ・ページ
例:図は縦方向に分割され、転写物と、そこに学生証、学生の名前、学生の質問、学生の答えがありますが、あなたは、SQL文があるでしょう
リコールリスト今回、話題と回答があるでしょう、このテーブルが比較的大きい、今回対象に、との回答はそれに情報テーブルを残し、折れ、クエリ; ID =「8」TTから選択*直接テーブルではなく、クエリのトピックと回答が、大規模なエンタープライズプロジェクトクエリは、いくつかの大きなファイルは、特別な画像やファイルサーバに保存されている時間情報を入れますので、検討する必要がない人たちのもの
短所
欠点ポイントテーブル
アプリケーション層に基づいて、ポリシーテーブルの論理アルゴリズムのいくつかの点、論理アルゴリズム、全体サブテーブルロジックが変更される度、乏しいスケーラビリティ
開発コストの増加、アプリケーション層、ロジック・アルゴリズムについては、
MySQLのレプリケーションと負荷分散の原則
MySQLのマスタースレーブレプリケーションの動作
プライマリ・データ・リポジトリに高いバイナリログを記録します
そのリレーログにライブラリのメインライブラリログからのコピー
重量データにライブラリから、ライブラリからのリレーログイベントを読みます
MySQLのマスタースレーブレプリケーションの問題
データ分布:開始する無料または停止、複製、および地理的に分散したデータのバックアップ
、ロードバランシング:単一のサーバは、圧力低減し
、高可用性およびフェイルオーバーを:アプリケーションは、障害の回避シングルポイントに役立ちます
アップグレードのテストを:あなたはよりとしてMySQLの新しいバージョンを使用することができます倉庫
問題解決のアプローチ
完全にパーティションの原理とアプリケーションシナリオのポイントテーブルを把握し、インタビューで、このような質問は、通常より柔軟性があり、企業は既存のシナリオのいくつかの問題が発生します、我々はポイントテーブルを分割することができ、MySQLのレプリケーション、アプリケーションのシナリオをロードバランシング状況下でお答えします
試験
千万でのサイトの利用者数が、アクティブユーザー数のわずか1%、どのように最適化するために、データベース・アクセスの高速化のアクティブユーザーを設定しますか?
A:
、一つのサブ領域内のアクティブユーザを使用することができ、別のサブ領域自体にはアクティブなユーザは、アクティブユーザのアクセス速度を向上させることができ、ユーザデータ領域よりも低い活性ではありません。
また、サブテーブルのレベルは、テーブルでアクティブなユーザーのポイントは、別のテーブルに分かれアクティブでないユーザーは、あなたがアクセス速度のアクティブユーザーを向上させることができます。