В настоящее время (хотя ожидается, что это изменится), все семейства столбцов для региона сбрасываются вместе. Это основная причина, по которой люди говорят: «HBase плохо работает с более чем двумя или тремя семействами столбцов». Рассмотрим два CF, каждый с одним столбцом. Колонка A: A хранит тексты всей веб-страницы. Колонка B: B хранит количество слов на странице. Таким образом, каждый раз, когда мы сбрасываем A: A (что случается чаще, потому что данные A: A намного больше), нам также нужно пройти через целую отдельную файловую маршрутизацию ввода-вывода для столбца B: B, даже если нет надо - с B: B только номера, я мог бы месяцами не сбрасывать.
Если вы храните A и B в одном и том же семействе столбцов (A: A и A: B), вы, вероятно, увидите значительно более высокую производительность сброса ввода-вывода, а поскольку большинство операций чтения HBase производятся исключительно из хранилища mems, вы, вероятно, найдите, что скорости чтения эквивалентны.
Кроме того, и, возможно, что еще более важно, если количество элементов в столбцах сильно отличается, то вашим региональным серверам потребуется поддерживать бесполезные в основном пустые файлы для ваших менее плотных семейств столбцов. Это никогда не изменится.
Все это доступно в HBase Book .
Итак, как и во всех подобных ситуациях производительности, измеряет , прежде чем решить, что такое "правильный" путь.