Этот документ описывает параметры конфигурации, связанные с классами таблиц в системе.
Примечание!
Для обеспечения стабильности и безопасности системы ручное изменение этих параметров должно выполняться с осторожностью.
Задаёт метод доступа к таблице по умолчанию, если в команде CREATE TABLE он явно не указан.
| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| enum | heap | heap / ao_row / ao_column / mars2 / mars3 | master; session |
Управляет созданием таблицы при использовании DISTRIBUTED BY или CREATE TABLE для создания таблицы HEAP без указания условия CREATE TABLE AS.
CREATE TABLE: если этот параметр установлен в off (значение по умолчанию), а в команде создания таблицы не указано условие DISTRIBUTED BY, YMatrix выбирает ключ распределения согласно следующим правилам:LIKE или INHERITS, YMatrix копирует ключ распределения из исходной или родительской таблицы.PRIMARY KEY или UNIQUE, YMatrix выбирает наибольшее подмножество ключевых столбцов в качестве ключа распределения.LIKE, ни INHERITS не указаны, YMatrix выбирает первый подходящий столбец в качестве ключа распределения. (Столбцы геометрических или пользовательских типов не допускаются в качестве ключей распределения YMatrix.)on, и условие DISTRIBUTED BY не указано, YMatrix действует следующим образом:PRIMARY KEY или UNIQUE, таблица распределяется случайным образом (DISTRIBUTED RANDOMLY). Распределение остаётся случайным даже при наличии в команде LIKE или INHERITS.PRIMARY KEY или UNIQUE, необходимо также указать условие DISTRIBUTED BY. В противном случае команда завершится с ошибкой.CREATE TABLE AS без условия распределения:off, стратегия распределения определяется командой.on, стратегия распределения — случайная.| Тип данных | Значение по умолчанию | Область применения |
|---|---|---|
| boolean | off | master; system; reload |
Задаёт значения по умолчанию для параметров хранения таблиц при использовании команды CREATE TABLE.
appendoptimized=value для указания типа хранения таблицы с добавлением. appendoptimized — это упрощённый псевдоним устаревшего параметра appendonly. YMatrix сохраняет appendonly в каталоге и отображает его при перечислении параметров хранения для таблиц с добавлением.appendoptimized и compresstype, а пользователь задаёт orientation, параметры на уровне базы данных игнорируются.mytest: ALTER DATABASE mytest SET gp_default_storage_options = 'orientation=column, compresstype=rle_type'. Таблицы с добавлением, созданные в mytest, используют столбцовую ориентацию с RLE-сжатием. В предложении appendoptimized=TRUE достаточно указать только WITH.gpconfig -c 'gp_default_storage_options' -v 'appendoptimized=true, orientation=column'.gpconfig -s 'gp_default_storage_options'.| Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|
| appendoptimized=FALSE blocksize=32768 checksum=TRUE compresstype=none compresslevel=0 orientation=ROW |
appendoptimized= TRUE / FALSE blocksize= целое число от 8192 до 2097152 checksum= TRUE / FALSE compresstype= ZLIB / ZSTD / QUICKLZ2 / RLE_TYPE / NONE compresslevel= целое число от 0 до 19 orientation= ROW / COLUMN |
Задаётся через gpconfig: master; session; reload Задаётся при создании таблицы: table |
Включает компактификацию сегментных файлов во время операций VACUUM.
VACUUM только усекает сегментные файлы до значения EOF, что соответствует текущему поведению.| Тип данных | Значение по умолчанию | Область применения |
|---|---|---|
| boolean | on | master; session; reload; superuser |
Задаёт пороговое соотношение (в процентах) скрытых строк к общему числу строк в сегментном файле, при превышении которого запускается компактификация во время FULL (ленивая VACUUM) без опции VACUUM.
| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| int | 10 | 0 ~ 100 | master; session; reload |
Задаёт минимальный размер для безопасных операций записи на AO-таблицах в незрелых файловых системах.
0 записывающий модуль дополняет данные до этого размера, чтобы предотвратить повреждение данных из-за ошибок файловой системы.32768 является типичным значением.| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| int | 0 | 0 ~ INT_MAX | master; system; restart |
Порог сжатия. Определяет, сколько кортежей сжимаются одновременно в одной таблице. Задаёт максимальное количество кортежей в единице сжатия.
| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| int | 1000 | 1 ~ 10000 | table |
Управляет количеством L0-запусков во всех таблицах MARS2, при превышении которого запускается слияние.
level0_merge_threshold.| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| int | 32 | 10 ~ 2048 | master; session/system; reload |
Управляет количеством L0-запусков в одной таблице, при превышении которого запускается слияние.
| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| int | 32 | 1 ~ 2048 | table |
Управляет размером (в МБ) для перевода одной таблицы из L0 в L1. Когда слияние в L0 создаёт запуск, превышающий этот размер, он переводится в L1.
| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| int | 25 | 1 ~ 10000 | table |
Управляет размером (в МБ) для перевода одной таблицы из L1 в L2. Когда слияние в L1 создаёт запуск, превышающий этот размер, он переводится в L2.
| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| int | 1000 | 1 ~ 10000 | table |
Управляет размером памяти для сортировки (в КБ) на одну операцию вставки. Для партиционированных таблиц эта память разделяется между партициями.
2097152KB (2 ГБ). Допустимый диапазон — 128KB ~ 2147483647KB (до 2048 ГБ).| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| int | 2097152 | 128 ~ 2147483647 | master; session/system; reload |
Управляет минимальным объёмом памяти для сортировки, выделяемым на каждую партицию в партиционированной таблице.
16384KB (16 МБ). Допустимый диапазон — 128KB ~ 2147483647KB (до 2048 ГБ).| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| int | 16384 | 128 ~ 2147483647 | master; session/system; reload |
Примечание!
Эти параметры должны настраиваться при создании таблицы с помощью предложенияWITH. Они применяются к отдельным таблицам и не могут быть изменены после создания.
Порог сжатия. Определяет, сколько кортежей сжимаются одновременно в одной таблице. Задаёт максимальное количество кортежей в единице сжатия.
| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| int | 1200 | 1 ~ 100000 | table |
Задаёт коэффициент усиления размеров уровней.
rowstore_size * (level_size_amplifier ^ level). Более высокое значение замедляет чтение, но ускоряет запись.| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| int | 8 | 1 ~ 1000 | table |
Задаёт внутренний режим загрузки данных для MARS3.
normal: Нормальный режим. Новые данные сначала записываются в строки-запуски L0. После накопления rowstore_size кортежей они сбрасываются в столбцовые запуски L1. По сравнению с bulk, этот режим требует дополнительного ввода-вывода, а преобразование в столбцовый формат происходит асинхронно. Подходит для частых, мелких записей при достаточной пропускной способности ввода-вывода и критичной задержке.bluk: Режим массовой загрузки. Подходит для редких, крупных пакетных записей. Данные записываются непосредственно в столбцовые запуски L1. По сравнению с normal, этот режим снижает ввод-вывод и делает преобразование в столбцовый формат синхронным. Рекомендуется при ограниченной пропускной способности ввода-вывода и отсутствии требований к задержке.| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| enum | normal | normal / bluk | table |
Управляет моментом переключения L0-запуска на следующий. Новый запуск создаётся, когда объём данных превышает это значение (в МБ).
| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| int | 64 | 8 ~ 1024 | table |
Включает или отключает кэширование файловой системы для объектного хранилища.
| Тип данных | Значение по умолчанию | Область применения |
|---|---|---|
| boolean | off | master; session; reload |
Задаёт интервал (в секундах) обновления учётных данных сессии.
| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| int | 0 | 0 ~ INT_MAX | master; system; reload |
Задаёт интервал (в секундах), с которым фоновые задачи проверяют, соответствуют ли данные условиям для выгрузки.
mxstop -u для вступления в силу после изменения.| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| int | 3600 | 1 ~ INT_MAX | master; system; reload |
Включает или отключает кэширование в памяти для объектного хранилища.
| Тип данных | Значение по умолчанию | Область применения |
|---|---|---|
| boolean | off | master; session; reload |
Включает или отключает автоматическую выгрузку данных.
mxstop -u для вступления в силу после изменения.| Тип данных | Значение по умолчанию | Область применения |
|---|---|---|
| boolean | off | master; system; reload |
Включает или отключает внешние таблицы, выполняющие команды ОС или скрипты на хостах сегментов (синтаксис CREATE EXTERNAL TABLE EXECUTE).
| Тип данных | Значение по умолчанию | Область применения |
|---|---|---|
| boolean | on | master; system; restart |
Включает продвижение фильтров при чтении из внешних таблиц.
| Тип данных | Значение по умолчанию | Область применения |
|---|---|---|
| boolean | on | master; session; reload |
Устанавливает количество сегментов, используемых для сканирования данных внешних таблиц, предотвращая перегрузку системы и конфликты ресурсов при параллельных операциях.
gpfdist://.| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| int | 64 | 1 ~ INT_MAX | master; session; reload |
Если установлено в n, YMatrix прекращает обработку входных строк, если первые COPY строк содержат ошибки формата при выполнении n или импорта внешней таблицы.
n строк обнаружены корректные строки, обработка продолжается.0 отключает этот лимит.COPY в определениях SEGMENT REJECT LIMIT или внешних таблиц для ограничения отклонённых строк.INT_MAX — это максимальное целое значение, которое может быть сохранено в системе.| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| int | 1000 | 0 ~ INT_MAX | master; session; reload |
Для обработки ошибок на уровне одной строки в COPY и внешних таблицах с SELECT задаёт количество обработанных строк, после которого SEGMENT REJECT LIMIT n PERCENT начинает вычислять процент отклонённых строк.
| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| int | 300 | 0 ~ INT_MAX | master; session; reload |
Отбрасывает пакеты данных из протокола gpfdist v1.
| Тип данных | Значение по умолчанию | Область применения |
|---|---|---|
| boolean | off | master; session; reload |
Задаёт время (в секундах), в течение которого YMatrix ожидает перед отменой запроса, если данные перестают поступать из внешней таблицы во время операции чтения SQL.
0 означает отсутствие таймаута; запросы не отменяются.gpfdist завершается с ошибкой 间歇性网络连接问题, установите значение для readable_external_table_timeout. Если gpfdist не возвращает данные в течение указанного времени, YMatrix отменяет запрос.| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| int | 0 | 0 ~ INT_MAX | master; system; reload |
Размер буфера (в КБ), используемого YMatrix для сетевой коммуникации, например, утилитой gpfdist и внешними веб-таблицами (с использованием HTTP).
32KB ~ 131072KB (до 128 МБ).| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| int | 64 | 32 ~ 131072 | segments; session; reload |
При использовании протокола gpfdists с SSL-безопасностью для внешних таблиц управляет включением аутентификации SSL-сертификата.
on включает SSL-аутентификацию при взаимодействии YMatrix с утилитой gpfdist для ввода-вывода данных.off отключает аутентификацию SSL-сертификата. Следующие исключения SSL игнорируются:gpfdist.gpfdist.off, чтобы отключить аутентификацию при тестировании связи между внешними таблицами YMatrix и утилитой gpfdist.gpfdists создаёт риски для безопасности.