Мы используем HBase для небольших объектов. Я заметил, что объем хранилища HBase слишком велик. Соотношение между необработанными данными и данными HBase достигает 5X.
К вашему сведению, наши данные состоят из небольших объектов. Каждый объект имеет примерно 20 полей (которые хранятся в каждой ячейке таблицы HBase). Поскольку средний размер каждого поля составляет 20 байтов, служебные данные HBase для хранения значения (семейство столбцов, квалификатор столбца, отметка времени и т. Д.) Могут значительно увеличить размер файла HBase.
В настоящее время мы используем алгоритм DATA_BLOCK_ENCODING (FAST_DIFF) для экономии места. Однако мы не можем уменьшить его примерно до 2X (по сравнению с необработанными данными).
Кто-нибудь из вас сталкивался с таким поведением HBase? Каково ваше предложение?