Есть ли программное обеспечение для проверки целостности данных?

У нас есть большие объемы данных в нескольких базах данных MySQL, которые постоянно обновляются из внешних источников. Существует ли какое-либо программное обеспечение (предпочтительно на основе php), с помощью которого мы можем определить правила для проверки базы данных, например, регулярные выражения для данных, частота обновлений, отсутствующие данные и т. Д.), И регулярно выполнять проверки, сообщающие о том, что что-то пошло не так или тенденция изменилась в данных?

3 ответа

Если у вас есть несколько таблиц БД, которые не объединены с внешними ключами, то вы должны добавить и использовать их для целостности данных.

Если у вас много PL/SQL-кода, вам нужны модульные тесты (да, БД тоже нужны). Таким образом, в итоге вы получите "непрерывную интеграцию", которая периодически запускает ваши тесты. И да, ты должен написать это сам

См. http://www.slideshare.net/antonkeks/database-refactoring для получения дополнительной информации.

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

Как насчет STFW? Google для "качества данных Mysql" привел (среди прочего) ссылку на http://www.talend.com/

В противном случае я бы взглянул на инструменты хранилища данных - например, в Oracle Warehouse Builder есть некоторые механизмы аудита данных.

С уважением, Фрэнк

Если вы правильно спроектировали базу данных, у вас мало проблем с целостностью данных. Это означает выполнение работы по настройке отношений PK/FK, ограничений данных, правильных типов данных, триггеров и т. Д. Это особенно означает, что вы никогда не думаете, что приложение будет обрабатывать все это. Это может означать создание заданий для проверки определенных типов ввода данных и уведомление кого-либо о возможных проблемах. Это может означать пересмотр всех ваших импортов данных для использования стандартного набора процедур очистки. Это может означать создание способа идентификации и слияния дубликатов записей (во всех сложных базах данных должно быть написано приложение с дедупликацией, чтобы пользователи могли выбирать, какие данные сохранять и какие сохранять при обнаружении дубликатов).

Если вы неправильно спроектировали базу данных, вам нужно устанавливать эти вещи в базе данных по одному в зависимости от ваших бизнес-правил, исправляя неверные данные на ходу. Нет простого решения, если разработчики не смогли правильно спроектировать проект.

Поскольку потребности каждой базы данных очень разные, никто из тех, кого я знаю, не автоматизировал способ обеспечения соблюдения всех правил целостности, это большая часть того, что делает дизайнер базы данных при разработке базы данных. Конечно, я бы не стал доверять какой-либо программе COTS, чтобы сделать это, либо исходя из того, насколько плохо спроектирована каждая база данных COTS, которую я когда-либо испытывал недовольство поддержкой.

Другие вопросы по тегам