Мне нужно хранить информацию о сущности ежемесячно в таблице HBase. Я хочу обработать все данные месяца, доступные до сих пор для объектов, использующих логику mapreduce. Я запутался следует ли выбирать высок-узкий или плоский широкий дизайн для таблицы HBase.HBase Table design - Tall-narrow vs Flat-wide approach
Использование плоского широкого подхода, идентификатор объекта будет храниться как ключ строки и идентификатор месяца в качестве разделителя столбцов, а подробности в качестве значения квалификаторов. В HBase-mapreduce я могу получить все данные для объекта на карте и в процессе.
Тесно-узкий подход будет хранить ключ строки в виде комбинации идентификатора объекта и месяца. Кроме того, детали будут храниться в отдельной колонке. В HBase -mapreduce я должен получить данные для entiy на карте и агрегировать в течение всех месяцев в редукторе.
Какой подход лучше и дает лучшую производительность? Заранее спасибо.
Значит, вам нужно хранить информацию один раз в месяц? Также, мотыга? – Tariq
Информационная грануляция - ежемесячно. Может случиться так, что конкретная ежемесячная информация для субъекта может быть обновлена часто. Также информация, которую нужно сохранить, состоит из 500 ключевых значений. Могут быть миллионы таких объектов. У меня нет точной цифры объема данные. – InfamousCoconut