Конструкция ключа строки HBase: точка доступа в зависимости от местоположения

Рассмотрим гипотетическую таблицу HBase.

  • Ключ должен кодировать 3-кортеж (k, m, n) целых чисел от 0 до 1000.
  • Типичное чтение - это запрос диапазона m а также n, фиксируя значение k,
  • Нагрузка чтения экспоненциально распределяется по отношению к k, Другими словами, несколько значений k несут ответственность за большую часть прочитанной нагрузки.

Алиса утверждает, что ключ должен выглядеть так "k-m-n" для того, чтобы использовать местность ссылки. В идеале одна машина должна быть в состоянии обслуживать весь запрос.

Боб утверждает, что ключ должен выглядеть так "sha1(k-m)-n" во избежание горячих точек: если k=1 доступ очень часто, то было бы мудрым для всех k=1 Записи не все должны быть на одних и тех же нескольких машинах.

Оба аргумента имеют смысл для меня. Как выяснить, какой вариант более масштабируемый / перспективный? Есть ли быстрый, практичный способ проверить это эмпирически?

0 ответов

Другие вопросы по тегам