ЧАСТЬ 3: Загрузка данных
Рекомендации по использованию
- Обязательно: Не используйте INSERT INTO VALUES() для загрузки данных в production-среде.
- Рекомендуется: Минимальный интервал между пакетами загрузки - 5 секунд.
- Рекомендуется: Для сценариев обновления в таблицах с первичным ключом рассмотрите возможность включения persistent index, но только если у вас есть высокопроизводительные накопители, такие как NVMe SSD.
- Рекомендуется: Для сценариев с частыми ETL-операциями (insert into select) рассмотрите возможность включения функции Spill to disk, чтобы избежать превышения лимитов памяти.
- Рекомендуется: Для пакетной загрузки в партиционированную таблицу, особенно при загрузке больших объемов исторических данных из Iceberg/Hudi/Hive, лучше выполнять загрузку по одной партиции, чтобы избежать создания мелких файлов.
Жизненный цикл данных
- Рекомендуется: Используйте TRUNCATE для удаления данных вместо DELETE.
- Обязательно: Полный синтаксис обновления доступен только в версии 3.0 и выше модели с первичным ключом; запрещены высоконагруженные обновления, рекомендуется выполнять операции обновления с интервалом не менее одной минуты.
- Обязательно: При использовании DELETE для удаления данных обязательно указывайте условие WHERE, а также запрещены параллельные удаления. Например, вместо выполнения 1000 отдельных запросов DELETE FROM tbl1 WHERE id=1 используйте DELETE FROM tbl1 WHERE id IN (1,2,3,...,1000).
- Обязательно: Операция DROP по умолчанию перемещает данные в корзину FE, где они хранятся 86400 секунд (1 день), в течение которых их можно восстановить для предотвращения случайного удаления. Это поведение контролируется параметром catalog_trash_expire_second. Через день файлы перемещаются в корзину BE, где по умолчанию хранятся 259200 секунд (3 дня).