2016-10-08 5 views
0

私はシナリオを持っています。各オブジェクトには300種類のバリアントがあります。そのため、それらをhbaseに保存し、元のオブジェクトと各列ファミリの300種類のバリアントを格納します。アクセスモデルは、毎朝バッチでオブジェクトをテーブルに挿入し、それを読み込もうとしています。私のシナリオでは、300列のファミリを持つhbaseテーブルを作成することは問題ありませんか?300列ファミリのhbaseテーブルを作成しても問題ありませんか?

+0

アクセスモデルについて詳しく説明しますか?どのようにそれらを読むつもりですか?あなたは300種類すべての変種を書いていますか? –

答えて

0

非常に少ない数の列ファミリに固執する:1または2 列ファミリは、基礎となるシステムのファイルにマップし、hbaseに負荷をかけます。 代わりに300列を作成してこれを行う方法。

1

suggests列ファミリの数は最大10でなければならず、alsoは通常の列ファミリの数が1〜3であることを示すドキュメントです。

代わりに3つの列を1つの列ファミリに格納することに異論はありますか?

+0

私は列ファミリの同じ種類のオブジェクトだけをスキャンする必要があります。つまり、異なる300列のクライアントでは300列のオブジェクトを1列のファミリに格納すると、どのようにスキャンできますか各列ファミリのオブジェクトの種類だけバイト列ファミリフィルタ? – Jason

+0

複数の列ファミリのオブジェクトを同時にスキャンする必要がありますか?あなたがしない場合は、別のテーブルにそれらを持っている必要があります。いくつかではあるが他のテーブルではない場合は、複数のテーブルにまたがって列ファミリを分割し、同時にアクセスするものを同じテーブルに保持することが必要な場合があります。 –

+0

@Danielを個別のテーブルに置くことは回避策ですが、テーブルが多すぎると管理が複雑になります。 – Jason

関連する問題