Как правило, вы спрашиваете, должен ли ваш стол быть широким или длинным. HBase работает с обоими, вплоть до определенного момента. В широких таблицах никогда не должно быть строки, превышающей размер области (по умолчанию 256 МБ), поэтому действительно плодовитый пользователь может привести к сбою системы, если вы сохраните большие куски данных для своих действий. Однако, если вы сохраняете только несколько байтов на одно действие, то размещение всей пользовательской активности в одном ряду позволит вам получить их полную историю за один раз. Однако вы получите всю строку, что может привести к некоторому замедлению для большой истории (10 секунд для> 100 МБ строк).
Использование большой таблицы и обратной метки времени позволит вам очень быстро получить последние действия пользователей (запустить сканирование с ключом = идентификатор пользователя).
Использование временных меток в качестве конца ключа - хорошая идея, если вы хотите выполнять запрос по времени, но плохая идея, если вы хотите оптимизировать записи в вашу базу данных (записи всегда будут в самой последней области в система, вызывающая горячие точки).
Возможно, вы захотите добавить в ключ дополнительную информацию (например, действие), чтобы вам было легче подобрать все действия определенного типа.
Еще один пример - OpenTSDB