DRDSサブライブラリーのサブテーブル学習 - 月の表の分割により、

必要条件

  • スプリットタイプのキーは、前記1 DATE / DATETIME / TIMESTAMPでなければなりません。
  • DRDSインスタンスのバージョンがより5.1.28-1320920そのバージョンである必要があります。DRDSはノートでは、ドキュメントのリリースノートを参照してくださいリリース。

ルーティング

ボンドスプリットタイム応じた値年份月份計算されたハッシュ値、およびポイントの数がIライブラリ、完全なルート計算を取得します。

例えば:YYYYMM( '2012年12月31日12時12分12秒は')(2012 * 12 + 12)%のD、(Dサブライブラリーの数である)に相当します。

利用シナリオ

押す必要が適しシーンサブライブラリーを、その機能がtbpartitionのYYYYMM(ShardKey)と組み合わせて使用されることをお勧めします。年份月份

例えば、ユーザが既にDRDS 8物理ライブラリを分割することを想定し、事業は現在、次のシナリオがあります。

  1. 事業は、時系列でライブラリを分割したいです。
  2. これは、同じデータが、同じ月にサブテーブルを発生することが必要で、かつ两年以内的每个月都单独对应一张分表
  3. 物理ライブラリクエリに直接問い合わせ、物理パーティションテーブルのポイント低下した後、サブライブラリーテーブルのキーポイントを持参してください。

そして、ユーザは、解決されたサブライブラリ関数YYYYMMを使用することができます毎月の対応の2年以内にビジネス要件は、サブテーブルに(テーブルをその月)、年は12ヶ月であるため、その少なくともあなたは、ユーザーの場面を満たすために、物理テーブルの24分を作成する必要があり、ユーザーのDRDSは、8つのサブライブラリがあり、各サブライブラリーは、3つの物理ポイントテーブルを構築する必要があります。そのため、ユーザーはDDLがあるべきビジネスシナリオに対応する必要があります。

    作成 テーブルtest_yyyymm_tb(     
        IDのINT 
        名前VARCHAR30DEFAULTの NULL 
        CREATE_TIMEの日時 のDEFAULT  NULL プライマリ キー(ID)
    )ENGINE = InnoDBのDEFAULT CHARSET = UTF8 
    DBPARTITION によってYYYYMM(CREATE_TIME)
    tbpartition によって YYYYMM(CREATE_TIME)tbpartitions 3

注意事項

  • YYYYMMサブテーブルに対応する各日付の独立サポートされていない、サブライブラリYYYYMMサブテーブルは、部品表の固定数でなければなりません。
  • ヶ月のサイクル(例えば、サイクル2012から03 2013から03)の後に、同じことがありそうである同じ月のサブライブラリーサブテーブルにルーティングする場合、パーツテーブルの実際の数に依存してもよいです。

おすすめ

転載: www.cnblogs.com/puzi0315/p/12666874.html