Вопрос высокого уровня:
Налагает ли HBase максимальный размер строки, который является общим для всех дистрибутивов (и, следовательно, не является артефактом реализации), либо с точки зрения хранимых байтов, либо с точки зрения количества ячеек сильный>?
Если да:
Каков предел?
По какой причине существует ограничение?
Где зафиксирован лимит?
Если нет:
Доступна ли документация (или результаты теста), демонстрирующая способность HBase обрабатывать строки размером более 2 ГБ? 4ГБ?
Существует ли практический или «лучший практический» максимум, при котором пользователи HBase API должны сохранять размеры строк, чтобы избежать серьезного снижения производительности? Если да, то какое снижение производительности может произойти, если это руководство будет отброшено?
В любом случае:
- Зависит ли ответ от рассматриваемой версии HBase?
Фон:
- По крайней мере, одна реализация HBase API накладывает ограничение; Таблицы MapR, использующие проприетарную MapR-FS MapR в качестве уровня хранения, лежащего в основе таблиц, выглядят как устанавливает жесткое ограничение в 2 ГБ на строку и настраиваемое мягкое ограничение, которое по умолчанию составляет 32 МБ. Есть ли такое ограничение в других популярных реализациях HBase API?
- Этот ответ Quora от коммиттера HBase Тодда Липкона в 2011 году предполагает отсутствие ограничений по количеству ячеек. Однако это также указывает на то, что "единицей балансировки и распределения нагрузки является регион, и строка никогда не будет разделена по регионам". Налагает ли требование, чтобы строка существовала в пределах одного региона, либо жесткое ограничение на размер строки, либо практическое ограничение, после которого снижение производительности становится серьезным?