Конфигурация
pipelinedb.stream_insert_level
Определяет, когда операция
INSERT
клиента вернет результат. Возможные варианты:
async
— результат возвращается как только вставки загружаются в память сервера.
sync_receive
(по умолчанию) — результат возвращается как только рабочий процесс получает вставки.
sync_commit
— результат возвращается только когда следующий комбинирующий процесс фиксирует все изменения, вызванные вставкой строк.Примечание
sync_commit
в основном используется для тестирования и не предназначен для производственных рабочих нагрузок из-за значительно увеличенной задержки записи.
pipelinedb.num_combiners
Устанавливает количество параллельных комбинирующих процессов непрерывного запроса для каждой базы данных. При указании большего значения будет использоваться несколько ядер и увеличится пропускная способность, пока не будет достигнут лимит ввода-вывода. По умолчанию —
1
.
pipelinedb.commit_interval
Устанавливает количество миллисекунд, которое комбинирующие процессы будут комбинировать данные в памяти перед фиксацией результата. Более длительный интервал фиксации увеличит производительность за счет менее частых обновлений непрерывного представления, но большей вероятности потери данных. По умолчанию —
50ms
.
pipelinedb.num_workers
Устанавливает количество параллельных рабочих процессов непрерывного запроса для каждой базы данных. Большее количество будет использовать несколько ядер и увеличивать пропускную способность, пока не будет достигнут лимит по процессору. По умолчанию —
1
.
pipelinedb.num_queues
Устанавливает количество параллельных процессов очереди непрерывного запроса для каждой базы данных. Очереди используются, когда рабочие и комбинирующие процессы записывают результаты в потоки, и им требуется очередь IPC для предотвращения долгих ожиданий. По умолчанию —
1
.
pipelinedb.num_reapers
Устанавливает количество параллельных процессов сборщика (reaper) для каждой базы данных. Процессы сборщика обрабатывают истечение времени жизни (TTL). По умолчанию —
1
.
pipelinedb.ttl_expiration_batch_size
Устанавливает максимальное количество строк, которые сборщик удаляет из непрерывного представления за один раз. Это делается для минимизации длительных транзакций. Значение
0
означает, что в данной транзакции может быть удалено неограниченное количество строк. По умолчанию —10000
.
pipelinedb.ttl_expiration_threshold
Устанавливает процент TTL, который должен пройти с момента последнего удаления строк сборщиком из непрерывного представления перед повторной попыткой удаления из него. Более низкий процент приведет к быстрому истечению срока за счет более частых удалений транзакций в непрерывном представлении. По умолчанию —
5%
.
pipelinedb.batch_mem
Устанавливает максимальный размер пакета событий, который должен накапливаться перед выполнением плана непрерывного запроса для них. Более высокое значение обычно приводит к менее частым непрерывным обновлениям представления, но отрицательно влияет на задержку и может привести к большей потере данных в случае сбоев процесса. Значение указывается в килобайтах. По умолчанию —
262144
(256 МБ).
pipelinedb.batch_size
Устанавливает максимальное количество накапливаемых событий перед выполнением плана непрерывного запроса по ним. Более высокое значение обычно приводит к менее частым обновлениям непрерывного представления, но негативно влияет на задержку и может вызвать больше потерь данных в случае сбоев процесса. По умолчанию —
10000
.
pipelinedb.combiner_work_mem
Устанавливает максимальный объем памяти, используемый для комбинирования частичных результатов для непрерывных запросов. Этот объем памяти может быть использован внутренними операциями сортировки и хеш-таблицей каждого комбинирующего процесса до перехода к временным дисковым файлам. По умолчанию —
256mb
.
pipelinedb.matrels_writable
Определяет, можно ли изменения вносить непосредственно в таблицы материализованного представления. По умолчанию —
false
.
pipelinedb.ipc_hwm
Устанавливает верхний водяной знак для IPC-сообщений между рабочим и объединяющим процессом. По умолчанию —
10
.
pipelinedb.max_wait
Устанавливает время, в течение которого процесс непрерывного запроса будет ожидать накопления пакета. Более высокое значение обычно приводит к менее частым обновлениям непрерывного представления, но негативно влияет на задержку и может вызвать больше потерь данных в случае сбоев процесса. По умолчанию —
10ms
.
pipelinedb.fillfactor
Устанавливает значение коэффициента заполнения по умолчанию для таблиц материализованного представления. По умолчанию —
50
.
pipelinedb.sliding_window_step_factor
Устанавливает ширину ступеньки по умолчанию для запроса со скользящим окном в процентах относительно размера окна. Более высокое значение улучшит производительность, но за счет интервала обновления. По умолчанию —
5
.
pipelinedb.continuous_queries_enabled
Включает непрерывные запросы при их создании. Если значение
false
— они создаются в деактивированном состоянии. По умолчанию —true
.
pipelinedb.stream_targets
Список непрерывных представлений, разделенных запятыми, которые будут затронуты при вставке в поток. Это позволяет ограничить набор активных непрерывных представлений только теми, которые указаны в этом параметре. Подробнее в разделе stream_targets. По умолчанию — пустое значение, то есть без ограничений.
pipelinedb.queue_mem
Устанавливает максимальный объем памяти, который разрешено использовать каждому процессу очереди. Это мягкое ограничение — при его достижении процесс очереди попытается очистить свою очередь более агрессивно. Значение указано в килобайтах. По умолчанию —
262144
(256 МБ).
pipelinedb.log_partitions
Включает ведение журнала для разделов, автоматически созданных комбинирующим процессом. По умолчанию —
false
.