Консистентность данных (data consistency, data validity) – согласованность данных друг с другом, целостность, а также внутренняя непротиворечивость. Kонсистентность является важнейшим понятием теории управления данными и входит в четвёрку требований ACID.
Рассказываем, какие ошибки возникают при проверке консистентности в хранилище AlphaBI и как их исправить, чтобы обеспечить корректную работу с данными.
№ п/п |
Ошибка |
Что означает |
Варианты исправления |
1 |
В таблице фактов ссылки на общие размерности должны быть непустыми. |
Означает, что в таблице фактов существуют записи, у которых ссылка на общую размерность отсутствует. |
Необходимо проанализировать таблицу фактов и, исходя из этого, принять решение, что сделать с такими записями:
-
Удаление записей.
Такой вариант возможен, если записи с незаполненным полем появились в результате не совсем корректной загрузки данных (например, первичная загрузка данных через неотлаженный ETL-процесс, сбой в процессе загрузки и т.п.). Такие записи не представляют ценности, их можно удалить.
-
Изменение записей - добавить ссылку на существующий элемент размерности.
Такой вариант возможен, если при анализе таблицы фактов выяснилось, что данные записи нужны. В этом случае необходимо определить, к какому именно элементу размерности привязать запись в таблице фактов.
-
Изменение записей - добавить ссылку на фиктивный элемент размерности.
Встречаются случаи, когда поле в таблице фактов заполнить нечем, т.к. из системы-первоисточника приходят данные с незаполненным полем. То есть, исходя из бизнес-требований, поле необязательно для заполнения. В этом случае необходимо добавить в размерность фиктивный элемент, например, с названием "Не заполнено" и все пустые строки таблицы фактов привязать к данному элементу.
|
2 |
В таблице фактов ссылки на общие размерности должны быть разрешимыми. |
Может являться следствием п.1, т.е., существуют записи, у которых ссылка на общую размерность отсутствует.
Либо может быть отдельной ошибкой, говорящей о том, что отсутствует связь по ключевым полям в таблице фактов и таблице размерности.
|
- Если ошибка является следствием п.1, то применить варианты исправления, описанные в п.1
- Проверить на соответствие поле в таблице фактов и общей размерности. Возможно, поле в таблице фактов заполнено ошибочными данными. В этом случае необходимо сделать update, заполнив таблицу фактов правильными значениями.
- Возможно, в таблице фактов остались записи, привязанные к уже удаленным записям размерности. В этом случае необходимо проанализировать данные и принять решение об удалении таких записей или привязке к новому элементу размерности.
|
3 |
В таблице фактов для каждой локальной размерности для каждого уровня каждой иерархии набор ключевых столбцов должен однозначно задавать значения всех остальных атрибутов уровня.
|
Означает, что атрибут одного элемента размерности может принимать несколько значений. Это неправильно, связь должна быть один к одному. |
- Проанализировать, где используется данный атрибут. Если атрибут не используется, то удалить его из локальной размерности.
- Если атрибут используется, то необходимо пересмотреть структуру куба. Возможно, данный атрибут является фактически атрибутом элемента другой размерности.
|
1 лайк