Что является хорошим примером использования Phoenix, учитывая, что соединения в целом дорогие для NoSQL DB - PullRequest
0 голосов
/ 01 июня 2019

Из этой статьи , Phoenix хорош для быстрых поисков HBase.Его функция вторичного индексирования поддерживает множество конструкций SQL и делает поиск через поля неосновного ключа более эффективным, чем полное сканирование таблиц.Он упрощает создание и управление типизированными данными, ориентированными на строки, предоставляя составные ключи строк и применяя ограничения к данным при записи с использованием интерфейсов Phoenix.Другим интересным фактом о Phoenix является тот факт, что у нас могут быть последовательности, которые есть у нас в реляционных базах данных, таких как Oracle, это помогает нам иметь последовательности в распределенной среде.

Однако, как правило, параметры объединения в NoSQL DBдорого.Для объединения требуется сканирование каждого региона и передача результатов в другие регионы.Одним из основных преимуществ Phoenix является использование SQL для hbase, а объединение является важной частью использования SQL.Следовательно, какой смысл иметь Phoenix, так как соединение дорого обходится в NoSQL DB.

Могу ли я сказать, что хороший пример использования Phoenix не имеет большого количества объединений?

1 Ответ

0 голосов
/ 05 июня 2019

Вот мое мнение, оно субъективно. Я предвзято отношусь к Фениксу, так как часто его использую!

a) Семантика SQL - это большая +

b) Phoenix также может распараллеливать запросы, используя внутренний механизм (руководящие посты Phoenix)

в) Phoenix предоставляет хороший способ предварительного разделения таблиц (1-байтовая соль), который может помочь вам избежать горячей точки

d) Удаляются с помощью ключей деталей в HBase, вы можете сделать это наверняка в Phoenix

e) Агрегации в Фениксе весьма удобны (сгруппированы по)

f) Некоторые разъемы от Phoenix намного приятнее (например, функции расширения Spark, например, PhoenixTableAsDataFrame)

g) При написании сложных запросов я довольно часто использую план объяснения, чтобы понять сканы

h) СОВЕТЫ (мне нравится SKIP_SCANS, особенно во время сэмплирования), полезны также советы по объединениям трансляций

i) Как насчет лакомств, таких как CONVERT_TZ, функции DATE для SQL

j) Представления аккуратные, удобные базовые таблицы с проецируемыми представлениями пригодятся (особенно для общих сред)

...