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

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

Ответы [ 3 ]

0 голосов
/ 28 марта 2011

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

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

Подробнее см. http://www.slideshare.net/antonkeks/database-refactoring.

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

0 голосов
/ 28 марта 2011

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

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

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

0 голосов
/ 28 марта 2011

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

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

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

...