rowKey設計の原則と方法
最初のrowKeyのデザインは3つの原則に従ってください:
rowKey長原理
rowKeyは、それが一般的に固定された長さに設定バイト[]の形式で保存され、任意の文字列、64キロバイトの最大長さは、実用的なアプリケーションは、一般10-100bytes、バイナリストリームです。
一般的に、より良い、ではない16以上のバイト短く、次の理由の点に注意してください。
図1は、64ビットオペレーティングシステム、メモリ整列8バイト、制御バイト16、オペレーティング・システムの最高の機能を使用して8バイトの整数倍です。
rowKeyが長すぎる場合は2、HBaseの部分データは、メモリにロードされ、メモリの有効利用が減少しています。
rowKeyハッシュ原則
rowKey方式、二進コードの前ではない時間にタイムスタンプインクリメントが、推奨は高いバイトハッシュフィールドプロセスのrowKey場合は、プログラムによって生成されます。均一に分散されたデータ、各リージョンサーバーロードバランシングの確率を増加させる長壁時間フィールド。
あなたが直接、時刻情報を使用して、最初のフィールドをハッシュ化されていない場合は、その期間のすべてのデータは、リージョンサーバーそれらに集中されるので、データを取得するとき、負荷がホットな問題を引き起こして、個々のリージョンサーバーに焦点を当てることを、クエリの効率が低下します。
唯一の原則のrowKey
この種の特性を最大限に活用するために、時間のrowKeyを設計し、のrowKeyしたがって、辞書順でソートストレージのある、デザインに独自性を確認する必要があり、多くの場合、読み込みに格納されたデータ、最近アクセスすることができます1にデータ。あまりにも複数のノードに分割する必要がある場合でも、この量は、大きすぎることはできません。
だから、良いのrowKeyのデザインは、3つの原則に従うと、データの分散を行うことにより、ホットスポットを回避すべきです。
学生が学習するためにこのセクションでは、いくつかの一般的な設計アプローチのrowKeyを説明します。