MsSql позволяет не детерминированные функции в функциях разбиения:
CREATE PARTITION FUNCTION MyArchive(datetime)
AS RANGE LEFT FOR VALUES (GETDATE() – 10)
GO
Означает ли это, что записи старше 10 дней автоматически перемещаются в архив (первый) раздел? Конечно, нет.
В базе данных хранится дата, когда была создана схема секционирования, и использует ее наиболее (логическим) способом. Допустим, что одна из приведенных выше схем указана в 2000 -01-11, что делает разделительную дату 2000-01-01. Когда вы запрашиваете данные с датой ниже, чем начальная дата разграничения (border_value - 2000-01-01), вы будете использовать только раздел архива. Когда вы запрашиваете данные с датой выше, чем текущий день минус 10 дней (GETDATE () - 10), вы будете использовать только текущий раздел. Все остальные запросы будут использовать оба раздела, т. Е. Запрос данных с датой ниже текущей даты минус 10 дней, но выше даты разграничения (2000-01-01).
Это означает, что с каждым днем диапазон дат, для которых используются оба раздела, растет. И вам лучше было бы установить раздел на разделительную дату детерминированным образом.
Я не вижу никакого сценария, где это полезно.
Хорошо, я закрываю это и отмечаю предполагаемую основную причину, так как на сервере не хватает места.
Был ряд факторов:
INFO
выводил Harvesting DAG parsing results
каждую секунду или две, что в итоге привело к большому файлу журнала. Разрешение: Это исправлено в коммите [AIRFLOW-3911] Change Harvesting DAG parsing results to DEBUG log level (#4729)
, который есть в 1.10.3, но вы всегда можете разветвиться и выбрать вишню, если вы застряли на 1.10.2. airflow.cfg
. Решение: при обновлении (или изменении версий) временно переместите airflow.cfg
так, чтобы был создан cfg, совместимый с версией, а затем аккуратно объедините их. Другая стратегия состоит в том, чтобы полагаться только на переменные окружения, чтобы ваша конфигурация всегда всегда была как свежая установка, а единственными параметрами в ваших переменных env были переопределения параметров и, возможно, соединения.