2016-07-14 1 views
0

以下のとおりですが、Table MaprDB/HBaseの設計に関する一般的な提案が何であるかを知りたいと思います。Tall対Wide Hbaseテーブルデザイン

私たちのデータはユーザー(一意のユーザー名と言う)とカウント(毎時の整数値)から成っています 10秒ごとに10Kから100KのDB更新要求があります。すべてのユーザーに8000時間分のデータを保存する必要があります。 私はusernameとしてrowkeyと1行を作成しようとしました.1つは、8000バージョンの "count"カラムです。しかし、私は(Hbase "インクリメント" Apiは "プット"とは違って "タイムスタンプ"パラメータをサポートしていない)入ってくるデータの時間に応じて特定のバージョンを "インクリメント"できませんでした。私は、この行と列の特定のタイムスタンプを持つKeyValueを作成しようとしましたが、最新のバージョンのみを更新します。

だから今これを再設計しなければなりません。これが私の提案が必要なところです。 「username + hour」という行キーを持つTallテーブルを作成し、そのカウントに1つの列しか持たず、Incrementを使ってその1つの列を更新するか、テーブルをWideにして、ユーザー名と8000列。私はこのテーブルを照会して30分ごとに1回と言ってデータをキャッシュすることに注意してください。これは書き込みの重いテーブルです。

答えて

0

私たちはほぼ同じ問題を抱えていました。私たちのデータモデルは、薄い/高いと厚い/短いの間のどこかにあります。

関連する問題