Консистентность данных

Консистентность данных (data consistency, data validity) – согласованность данных друг с другом, целостность, а также внутренняя непротиворечивость. Kонсистентность является важнейшим понятием теории управления данными и входит в четвёрку требований ACID.
Рассказываем, какие ошибки возникают при проверке консистентности в хранилище AlphaBI и как их исправить, чтобы обеспечить корректную работу с данными.

№ п/п Ошибка Что означает Варианты исправления
1 В таблице фактов ссылки на общие размерности должны быть непустыми. Означает, что в таблице фактов существуют записи, у которых ссылка на общую размерность отсутствует.

Необходимо проанализировать таблицу фактов и, исходя из этого, принять решение, что сделать с такими записями:

  1. Удаление записей.
    Такой вариант возможен, если записи с незаполненным полем появились в результате не совсем корректной загрузки данных (например, первичная загрузка данных через неотлаженный ETL-процесс, сбой в процессе загрузки и т.п.). Такие записи не представляют ценности, их можно удалить.
  2. Изменение записей - добавить ссылку на существующий элемент размерности.
    Такой вариант возможен, если при анализе таблицы фактов выяснилось, что данные записи нужны. В этом случае необходимо определить, к какому именно элементу размерности привязать запись в таблице фактов.
  3. Изменение записей - добавить ссылку на фиктивный элемент размерности.
    Встречаются случаи, когда поле в таблице фактов заполнить нечем, т.к. из системы-первоисточника приходят данные с незаполненным полем. То есть, исходя из бизнес-требований, поле необязательно для заполнения.
    В этом случае необходимо добавить в размерность фиктивный элемент, например, с названием "Не заполнено" и все пустые строки таблицы фактов привязать к данному элементу.
2 В таблице фактов ссылки на общие размерности должны быть разрешимыми.

Может являться следствием п.1, т.е., существуют записи, у которых ссылка на общую размерность отсутствует.

Либо может быть отдельной ошибкой, говорящей о том, что отсутствует связь по ключевым полям в таблице фактов и таблице размерности.

  1. Если ошибка является следствием п.1, то применить варианты исправления, описанные в п.1
  2. Проверить на соответствие поле в таблице фактов и общей размерности. Возможно, поле в таблице фактов заполнено ошибочными данными. В этом случае необходимо сделать update, заполнив таблицу фактов правильными значениями.
  3. Возможно, в таблице фактов остались записи, привязанные к уже удаленным записям размерности. В этом случае необходимо проанализировать данные и принять решение об удалении таких записей или привязке к новому элементу размерности.
3

В таблице фактов для каждой локальной размерности для каждого уровня каждой иерархии набор ключевых столбцов должен однозначно задавать значения всех остальных атрибутов уровня.

Означает, что атрибут одного элемента размерности может принимать несколько значений. Это неправильно, связь должна быть один к одному.
  1. Проанализировать, где используется данный атрибут. Если атрибут не используется, то удалить его из локальной размерности.
  2. Если атрибут используется, то необходимо пересмотреть структуру куба. Возможно, данный атрибут является фактически атрибутом элемента другой размерности.
1 Like