Garbage in
Aug. 13th, 2015 05:49 pmВ так называемых СМИ часто попадаются любопытные курьёзы на темы некорректных данных. С чудными адресами, отчествами и прочее. Сегодня прочитал о священной корове многих разработчиков – номерах паспортов. Сообщают,1 что в своё время выдали 50 тысяч (sic!) задвоенных паспортов, из них до сих пор обращается около 10 тысяч! И ничего.
Это просто повод ещё раз сказать о том, что любые данные, не созданные в рамках нашей собственной БД (системы) для нас не являются целостными, уникальными, достоверными, неизменными и далее все прочие полезные эпитеты. Не то, чтобы это был совершеннейший мусор, но скорее какие-то наскальные рисунки или записки нетрезвой обезьяны. И никакой внешний уровень режимности, особости, международности и т.д. тут роли не играет – мы эти данные не контролируем и судить об их качестве изначально не можем.
Тут подразумевается, что про свои данные мы понимаем, что они могут быть ошибочными и как-то это контролируем. Если же нет – это ещё одна серьёзная проблема разработчиков БД. Речь в первую очередь о данных, с которыми работают пользователи. Хотя ошибки бывают и в служебных данных и метаданных, но это уже, конечно, другой уровень реакции и решений.
И для своих данных хорошо понимать, что ограничения и проверки не устраняют проблемы и ошибки, а только уменьшают риски, вероятности. А так как системы большие и данных много – даже маленькие вероятности тоже становятся большими.
Также хотелось бы напомнить ещё об одном ошибочном принципе, по которому ранее введённые данные считаются более корректными. И хотя названная в таком виде эта ошибочность вызывает меньше вопросов, но в реализациях этот принцип встречается повсеместно.
И если приходится смотреть на чужую систему, то можно посмотреть на то, как система реагирует на данные, не соответствующие ограничениям и неявным допускам прикладных процессов и схем данных. Это один из простых и полезных способов анализа. Представьте, что будет делать оператор, когда перед ним стоит человек со своими корректными данными, а система просто не работает из своих соображений. Тут можно увидеть много проблем в головах у разработчиков.
---
1. http://www.newsru.com/russia/13aug2015/bashpass.html
Это просто повод ещё раз сказать о том, что любые данные, не созданные в рамках нашей собственной БД (системы) для нас не являются целостными, уникальными, достоверными, неизменными и далее все прочие полезные эпитеты. Не то, чтобы это был совершеннейший мусор, но скорее какие-то наскальные рисунки или записки нетрезвой обезьяны. И никакой внешний уровень режимности, особости, международности и т.д. тут роли не играет – мы эти данные не контролируем и судить об их качестве изначально не можем.
Тут подразумевается, что про свои данные мы понимаем, что они могут быть ошибочными и как-то это контролируем. Если же нет – это ещё одна серьёзная проблема разработчиков БД. Речь в первую очередь о данных, с которыми работают пользователи. Хотя ошибки бывают и в служебных данных и метаданных, но это уже, конечно, другой уровень реакции и решений.
И для своих данных хорошо понимать, что ограничения и проверки не устраняют проблемы и ошибки, а только уменьшают риски, вероятности. А так как системы большие и данных много – даже маленькие вероятности тоже становятся большими.
Также хотелось бы напомнить ещё об одном ошибочном принципе, по которому ранее введённые данные считаются более корректными. И хотя названная в таком виде эта ошибочность вызывает меньше вопросов, но в реализациях этот принцип встречается повсеместно.
И если приходится смотреть на чужую систему, то можно посмотреть на то, как система реагирует на данные, не соответствующие ограничениям и неявным допускам прикладных процессов и схем данных. Это один из простых и полезных способов анализа. Представьте, что будет делать оператор, когда перед ним стоит человек со своими корректными данными, а система просто не работает из своих соображений. Тут можно увидеть много проблем в головах у разработчиков.
---
1. http://www.newsru.com/russia/13aug2015/bashpass.html