Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных Azure для PostgreSQL — гибкий сервер
В кластере есть пять типов таблиц, каждый из которых хранится по-разному на узлах и используется для разных целей.
Распределенные таблицы
Первый и наиболее распространенный тип — это распределенные таблицы. Для инструкций SQL они выглядят как обычные таблицы, но они горизонтально разделены между рабочими узлами. Это означает, что строки таблиц хранятся на разных узлах в таблицах фрагментов, называемых сегментами.
Эластичные кластеры выполняют не только инструкции SQL, но и DDL (язык определения данных) во всем кластере. Изменение схемы распределенной таблицы каскадно обновляет все сегменты таблицы на рабочих узлах. Такие операции необходимо выполнить через подключение через порт 5432.
Распределенный столбец
Эластичные кластеры используют алгоритмическое сегментирование для назначения строк сегментам. Присваивание выполняется детерминировано на основе значения столбца таблицы, называемого столбцом распределения. Администратор кластера должен назначить этот столбец при распределении таблицы. Правильный выбор важен для производительности и функциональности.
Ссылочные таблицы
Ссылочная таблица — это тип распределенной таблицы, все содержимое которой сконцентрировано в одном сегменте. Этот сегмент реплицируется на каждый рабочий узел. Запросы к любому рабочему узлу могут обращаться к ссылочным сведениям локально, без дополнительных накладных расходов сети на запрос строк из другого узла. В ссылочных таблицах столбец распределения отсутствует, поскольку различать отдельные сегменты для строк не нужно.
Ссылочные таблицы обычно невелики и используются для хранения данных, относящихся к запросам, выполняемым на любом рабочем узле. Примером являются перечисляемые значения, такие как состояние заказов или категории продуктов.
Локальные таблицы
При использовании эластичного кластера каждый узел является обычной базой данных PostgreSQL. Вы можете создавать обычные таблицы и не сегментировать их.
Хорошим кандидатом для локальных таблиц являются небольшие административные таблицы, не участвующие в запросах присоединения. Примером является users
таблица для входа и проверки подлинности приложения. Этот тип таблицы полезен только в том случае, если вы не планируете балансировку нагрузки подключения между эластичным кластером с помощью порта 7432.
Локальные управляемые таблицы
Эластичные кластеры могут автоматически добавлять локальные таблицы в метаданные, если ссылка на внешний ключ существует между локальной таблицей и справочной таблицей. Кроме того, локально управляемые таблицы можно создать вручную, выполнив функцию citus_add_local_table_to_metadata в обычных локальных таблицах. Таблицы, присутствующих в метаданных, считаются управляемыми таблицами и могут запрашиваться с любого узла. Citus знает, как перенаправить узел на получение данных из локальной управляемой таблицы. Такие таблицы отображаются как локальные в citus_tables
представлении.
Таблицы схемы
При сегментении на основе схемы распределенные схемы автоматически связываются с отдельными группами совместного размещения. Таблицы, созданные в этих схемах, автоматически преобразуются в совместно размещенные распределенные таблицы без ключа сегмента. Такие таблицы считаются таблицами схемы и отображаются в виде схемы в citus_tables
представлении.