Улучшение DQ проверки

This commit is contained in:
2026-01-18 22:24:06 +03:00
parent e5a9a07f01
commit 843500cf52
5 changed files with 14 additions and 8 deletions
+6 -4
View File
@@ -104,12 +104,14 @@ WHERE NOT EXISTS (
Что сделано:
- В `sql/stg/*_load.sql` комментарии приведены к формулировке “идемпотентность при повторном запуске/ретрае”.
### 3.3. Проверка составных ключей: избегать склейки строк
### 3.3. Проверка составных ключей: избегать склейки строк (статус: исправлено)
Паттерн вида `COUNT(DISTINCT col1 || '|' || col2)` теоретически может давать коллизии (если в данных встречается разделитель).
В учебном стенде риск небольшой, но как “эталон” лучше показывать более безопасный подход:
- если поддерживается: `COUNT(DISTINCT (col1, col2))`;
- либо использовать стабильную сериализацию, где коллизии исключены (например, `md5(...)` от безопасной структуры).
В учебном стенде риск небольшой, но как “эталон” лучше показывать более безопасный подход.
Что сделано:
- Заменили склейку строк на `COUNT(DISTINCT md5(ROW(col1, col2)::text))` в DQ‑скриптах для составных ключей.
Такой подход сохраняет DV‑стиль и убирает неоднозначность разделителей.
---