Перейти к содержанию

Data Quality checks vs reconciliation

Раздел 04 · Сравнения

Тип материала: инженерное сравнение. Выводы зависят от workload и failure model; схема и сценарии иллюстративные.

Проверка источников: 2026-11-02. Численные latency, throughput, cost и SLA не измерялись.

Критерии выбора

Критерий Data Quality Reconciliation
Workload Валидность значений и contract predicates Соответствие независимым business evidence
Consistency Проверяет доступный dataset snapshot Требует одинаковых cuts и identity matching
Latency / throughput Streaming validation либо batch scan Key joins, totals и exception resolution
Cost / scalability Predicate cost и cardinality profiles Независимый expected dataset, indexing и ownership
Operational complexity Owners, severity, false positives Late arrivals, cut selection, compensating corrections

Механизм и ограничения

Проверка amount integer и currency enum не увидит missing operation. Сверка суммы не увидит перестановку двух account IDs с одинаковыми amount. Оба механизма нужны: DQ предотвращает часть неверных effects, reconciliation обнаруживает потерю/дублирование и расхождение между системами.

Для FinTech expected берут из authoritative ledger/settlement evidence, а не из суммы target rows. Для betting event analytics нужен contract по revisions: latest-state keys нельзя сравнивать с raw event count. Выбор cut и правил коррекции — часть спецификации сверки.

Иллюстративная схема решения

flowchart TD
 W[Workload and invariant] --> B[Define durable boundary]
 B --> F[Compare failure and recovery obligations]
 F --> L[Choose protocol for explicit scope]
 L --> T[Fault test and reconciliation]

Failure и recovery

Если expected и actual вычислены из одного corrupted dataframe, оба checks могут быть green. Сохраните независимый source manifest, проверьте missing/extra keys и duplicate cardinality; восстановите только разрешённые операции и повторите oracle на том же cut.

Практическое упражнение

Исполните SQL reconciliation lab. Добавьте extra key с нулевой суммой и проверьте, что totals check не видит ошибку, а key-set check видит.

Связанные материалы и источники

DQ/contracts · Reconciliation