1

I have read that in hbase, I should not have more than 2-3 column families in a table. I know that to fetch entries from each column family in a row, I need to do a separate scan, but still I don't understand what will be issue if I will have more column families. ?

In my case I want to store 20 images of around 10 KB each in hbase having different dimension(m x n). So generally a request came to fetch for particular dimension and I need to serve that image. So if I will put all these images in single column family, all 20 images of different dimension will unnecessarily get loaded into memory for caching(if the request will come again for same image, it is sure that it will come for same dimension). On the other hand if I will keep 20 column families(one for each dimension), only the required image will get loaded into RAM for caching.

4

1 に答える 1

0

同じ行内の異なる列に異なるディメンションを格納することをお勧めします。特定のディメンションに対する要求があるときはいつでも、必要なディメンション列のみを追加してください。HBase は単一の値ではなくブロック ( BlockCache ) ごとにデータをキャッシュするため、必要なデータを含む 64K ブロック (デフォルト) がキャッシュされます。

テーブルごとに 2 ~ 3 個を超える列ファミリーを使用すると、ここで説明されているようにパフォーマンスの問題が発生します。

これが役立つことを願っています。

于 2015-02-26T07:29:40.883 に答える