Hbase несколько семейств столбцов против нескольких таблиц

Я разрабатываю хранилище Hbase для данных, сгенерированных из разных источников. Обычно столбцы из одного и того же источника чаще всего извлекаются одновременно. Ожидаемое соотношение записи/чтения примерно колеблется от 1/10 до 1/100 (зависит от разных источников).

Так что у меня есть два варианта:

  • Несколько семейств столбцов: просто создайте одну таблицу и несколько семейств столбцов, каждый тип данных из одного и того же источника будет формировать семейство столбцов.
  • Несколько таблиц: создайте одну таблицу (с одним семейством столбцов) для каждого источника.

Вот некоторые из моего понимания, пожалуйста, поправьте меня, если что-то не так.

  • Решение с несколькими таблицами отлично подходит для динамического добавления новых источников. В то время как решение с несколькими семействами столбцов может иметь время простоя.
  • Если ключ строки из разных источников имеет разное распределение (например, int user_id и GUID изображения) или количество элементов, может быть, лучше разбить на разные таблицы?
  • У нас могут быть некоторые требования для получения столбцов из разных источников для одного и того же ключа строки в одно и то же время. Таким образом, несколько семейств столбцов могут быть быстрее (не уверен)?

Любые предложения или мне нужно рассмотреть какие-либо другие факторы, прежде чем принять решение? Есть ли типичные случаи, когда несколько таблиц/семейств с несколькими столбцами превосходят другие?

Спасибо


person twds    schedule 07.09.2017    source источник


Ответы (1)


Ваши пункты верны, просто следуйте простому правилу:

Если данные из разных источников связаны и имеют одинаковые ключи или ключи могут быть преобразованы в один и тот же ключ, поместите их в одну таблицу в разные семейства столбцов. Вы получите более качественные сканы и лучшее расположение данных.

Если данные нельзя склеить, поместите их в отдельную таблицу. Одна большая таблица вызовет только проблемы: у вас будет больше времени сканирования, и большинство семейств столбцов будут пустыми.

person AdamSkywalker    schedule 11.09.2017