Мне нравится хранить журнал счетчиков байтов для 10 миллионов сетевых устройств.Каждое устройство сообщает значение счетчика байтов каждые 15 минут (96 выборок в день), а каждая выборка данных имеет 500 столбцов.Каждое устройство идентифицируется его серийным номером устройства dev_sn
.
В конце дня я обработаю данные (вычислю общий байт на устройство) для всех устройств и сохраню их в формате данных HIVE.
Исходные данные будут такими: (например, Device sn1
, sn2
и sn3
значения отчета в t1
, t2
и t3
)
Способ 1: используйте dev_sn
и timestamp
в качестве составного row-key
.
Метод 2: Используйте dev_sn
в качестве row-key
и сохраняйте все данные как обновление версии существующих значений.
Чтобы найти общее количество байтов,
- Метод 1: Поиск по
sn1
составного ключа, сортировка по времени и обработка данных - Способ 2: поиск по
sn1
, извлечение всех версий и обработка данных
Я думаю, что способ 2 является лучшим решением, поскольку он создаст меньшее количество ключей строк, но не уверен, еслиэто действительно лучший подход.Некоторые советы будут очень полезны.