そして、サブサブライブラリーのデータベーステーブルは、スキームをスライス

そして、サブサブライブラリーのデータベーステーブルは、スキームをスライス

データベースのクエリは、データはレベルの数百万人に達したときに、サブライブラリーのサブテーブルは非常に効果的なソリューションでは非効率的です。

縦分割及び横分割

垂直分割:垂直垂直分割は、サブテーブルとライブラリの垂直二種類に分かれているが、関連のサブライブラリー垂直低度テーブル内の異なるデータベースの多様であり、サブテーブルの垂直列は、フィールドの表であります別のテーブルに新しいテーブルを形成するために、分割記録紙が小さくなるように、インデックスは、パフォーマンスを向上させる、スペースの消費量を削減します。垂直分裂管理可能なビジネスロジックをクリア、高い同時実行は、パフォーマンスを向上させますが、分散トランザクション技術にテーブルクエリを接続することはできません、そしてテーブルから大量のデータは、基本的に、だけでなく、水平分割によって低減することができません。

水平分割:サブテーブルは、共有ライブラリーまたはサブテーブルによるCPUへのサブライブラリーおよびライブラリサブテーブルに分割され、IOは、データベーステーブルの複数の複数に分散論理レコードテーブル、水平分割完全に明らかではありません大きな問題を解決するためのテーブルが、それでも接続クエリがあるが、分散トランザクションおよびその他の欠点を導入する必要が便利ではありません。

データの断片化規則は、2つの主要な段階に分けられる:最初のサブライブラリーの異なる時間に応じて、そのような毎日のデータベースを生成するためのデータ、データ分離、または冷たい、周波数に応じてサブライブラリデータクエリーとして、続くフィールドによってに従って分割するハッシュ値を算出したが、複雑な問い合わせに対して脆弱で、クエリがこの分野に関与していない場合に配置することができませんでしたデータベースに直接つながります。

サブライブラリーのサブテーブルの問題によって引き起こされます

1、分散トランザクション:クロスデータベーストランザクション操作、分散トランザクションは、トランザクションの実行時間を延長同時アクセスの競合やデッドロックの確率を高めるために、複数のノードの調整が必要、システムのトランザクションの一貫性を要求していない要求することはできませんリアルタイムの一貫性、および最終的な一貫性の追求をすることができ、それは、トランザクションの補償です:データ、ログやコントラストをチェックします。

(分散トランザクション理由は、生成されたサブライブラリサブテーブルためであってもよく、それはSOAのためのアプリケーションであってもよいです)

2、クエリの問題に参加

ソリューションが含まれます:グローバルテーブル(各モジュールが格納されているデータベースの各テーブルに依存する可能性がある)、フィールド冗長使用(抗パラダイムのデザインを、情報照会サービスに基づいてテーブルに追加クエリ加入接続することです) (結合問合せは、2つに分割)データを組み立て、関連するテーブルは、一緒になって、頻繁に接続クエリがマッピングテーブルに対応する確立することができます

複雑なクエリはまた、遺伝子アプローチにおいて使用することができます。

名前のチェックIDを使用していますが、設計時に名前タグを追跡することができ、ライブラリ内のどのIDを知らない場合、あなたはどこのidマークやマーク算出したハッシュ値に応じて、ライブラリの場所に直接それを取ることができます

図3は、両端のページング、ソート、関数ノード

そのテーブルで再び実行する必要があり、その結果は、再び一緒に行って再び要約されています

4、重いプライマリキーグローバルな問題を避けます

缶UUID(32進数を生成する)、主キーを持つ特別なテーブルを生成する(この値をとるそれぞれの場合に、インクリメントするように設定)、ID生成サーバの複数の確立(第一世代1,3 / 5 、.. ...)2/4/6秒、また、アクセスが完了し、タイムテーブルを生成し、その後、メモリアクセス待ちID値の複数の拡大によるキャッシュ(IDを使用することができ続けます世代)、実際のビジネス列に基づいて設計に従って(ミリ秒の精度ビット1000の独立した再設計ミリ秒数世代のそれぞれ)

図5に示すように、データ展開と移行

主キーは、範囲のサブライブラリーの場合はモジュロハッシュスライスは、その後、ハッシュ一貫性を使用した場合、その後の拡張は、非常に簡単です

スライシングスキーム

論理データベースの断片は、アプリケーション側の永続性層中に封入されてもよい、ミドルウェアにおけるアプリケーションとプロキシデータ、メンテナンスロジックスライスとの間の層に添加してもよいです。

おすすめ

転載: www.cnblogs.com/shizhuoping/p/11563948.html