Эдгар Франк Кодд – человек-легенда IBM
Если представить себе развитие общества в виде трехмерной модели, то можно заметить интересные моменты, свойственные общественному прогрессу. Одним из таких моментов будет не только поступательное движение по некоей вертикальной плоскости (вперед), но и – по горизонтальной (расширяющее существующий горизонт). Причем часто такое «горизонтальное движение» становится определенным трамплином для «вертикального».
Без использования которой на практике просто немыслима деятельность каждого современного банка и любых других организаций, легко оперирующих сегодня многочисленными и разнообразными массивами данных. Именно этому талантливому ученому мы должны быть благодарны за оперативность и удобство проведения всех наших финансовых расчетов (и не только).
Эдгар Франк Кодд появился на свет 23 августа 1923 года в Портленде (английского графства Дорсет) в многодетной семье.
Однако, обладая незаурядными математическими способностями, Кодд сумел поступить и успешно окончить Оксфордский университет, в котором с увлечением изучал математику и химию. А после получения степени бакалавра и магистра математики и химии даже служил пилотом в ВВС Великобритании (в период Второй мировой войны).
Но самые знаковые события в жизни Эдгара Кодда начинают происходить с 1949 года, когда он переезжает в США и приступает к работе математиком-программистом в IBM.
Там, в начале 50 годов прошлого столетия, он принимает участие в разработке Selective Sequence Electronic Calculator — первого лампового компьютера IBM, огромного технического «монстра», занимающего два этажа нью-йоркского офиса в центре города.
Однако первым серьезным проектом талантливого математика в этой компании становится разработка системы мультипрограммирования, делающей возможным одновременное выполнение нескольких задач, а предназначается это для IBM STRETCH – нового экспериментального компьютера.
К слову, работа в IBM существенно повлияла и на личную жизнь Кодда, ведь именно там он познакомился со своей будущей супругой Шэрон, ставшей впоследствии не только матерью его четверых детей, но его верной соратницей и продолжательницей его идей.
И хоть в 1953 году Кодд вынужден был на десятилетие переехать в Канаду, в 1963 году возвращается в Соединенные Штаты.
Получив в Мичиганском университете (магистратуру которого Эдгар Кодд окончил в качестве стипендиата от IBM) степень доктора по информатике и вычислительной технике, он уже через два года приступает к работе в Исследовательской лаборатории (сегодня — Альмаденском Исследовательском центре) IBM, расположенном в знаменитой Кремниевой долине.
Именно там находит реализацию гениальная (и, однозначно, революционная) идея Кодда по созданию реляционной модели организации данных.
Чтобы в полной мере оценить важность и своевременность этой идеи, стоит немного погрузиться в атмосферу того времени, сложного, но безумно интересного этапа развития IT-отрасли в 60-е годы. Именно в этот период формируется и, в конце концов, созревает некий конфликт между двумя моментами, буквально «спровоцировавший» направление творческой мысли Эдгара Кодда.
Момент первый. Именно в это время происходит переход от громоздкости первых ЭВМ к габаритам, более располагающим к использованию в частном секторе, и, в первую очередь, – в бизнесе. Возрастает популярность и доступность компьютеров, начинают создаваться языки и программы «под потребителя».
Момент второй. Ведение любого бизнеса обычно базируется на работе с определенным массивом данных. Компьютерная задача того времени заключалась в реализации двух моделей использования баз данных: иерархической и сетевой. В первом случае данные записывались в иерархическом порядке, от высшего уровня — к низшему, часто представляя собой длинные и сложные цепочки.
Во втором – каждая категория записей одного уровня могла быть прописана в двух различных иерархиях высшего уровня. Но!
Все используемые модели были настолько сложны (требуя максимально глубокого знания навигационных структур данных при написании поисковых запросов), что выполнение работы с ними было под силу лишь очень опытным (а значит – дорогостоящим) программистам. А это, в свою очередь, становилось совершенно невыгодным (попросту — нерентабельным) самому бизнесу, на который, собственно, и ориентировались разработчики.
В этом-то и заключалась суть данного конфликта. Поэтому в 60-х – 70-х годах Эдгар Кодд разворачивает работу по созданию принципиально новой модели организации данных – реляционной, которая основывается на возможности объединения не сопоставимых групп данных с помощью общих полей.
То есть, фактически прежние сложные структуры поисковых запросов (иерархические и навигационные) заменяются обычными несложными таблицами, состоящими из строк и столбцов. При этом обращение к данным осуществляется посредством непроцедурного языка. Просто и удобно!
Эту гениальную разработку Кодд озвучил в своей легендарной уже статье «Реляционная модель данных для больших, совместно используемых банков данных», увидевшей свет в 1970 году.
По мнению коллег математика, ему удалось в своей работе виртуозно решить проблему оптимального поиска и управления массивом данных посредством изящества математики и логики предикатов. А ведь именно «красивые» (не в ущерб практичности) математические выкладки в написании программ были несбыточной мечтой многих программистов того времени.
В 1973 году IBM в своей Исследовательской лаборатории запускает новый проект System R, который призван начать промышленную реализацию идеи реляционной СУБД, первым продуктом которого явилась SQL/DS, выпущенная в 1981 году. И это только начало! Впоследствии линейка семейства баз данных DB2 будет считаться одним из наиболее удачных программных продуктов корпорации IBM. Однако сам автор реляционной модели считал язык SQL недостаточным для полной реализации своей теории.
Продолжая работу над ее развитием, в 1985 году Кодд предлагает свои знаменитые «12 правил», в которых подробно определяет собственное видение оптимального содержания реляционной СУБД.
Из-за нежелания IBM отказаться от SQL Эдгар Кодд покидает корпорацию для создания (совместно со своим единомышленником и другом Кристофером Дейтом) собственной консультационной компании, в которой продолжает развивать свои идеи.
Его авторству принадлежит термин OLAP, связанный с ускорением выполнения БД, а также сформулированные в 1993 году двенадцать (любимое число Кодда) принципов аналитической обработки БД. Исследованиями и практическим моделированием данных (помимо многочисленных публикаций) ученый занимается до самой своей кончины, внезапно настигнувшей его в возрасте 79 лет в 2003 году.
В 1976 году Эдгар Кодд был удостоен почетного звания «Человек IBM», в 1981 – престижной премией Тьюринга, в 2002 – его реляционная модель данных, по версии авторитетного журнала «Форбс», включена в список наиважнейших инноваций за последние 85 лет.
В его честь названа одна из восьми нормальных форм – нормальная форма Бойса-Кодда.
Эдгар Франк Кодд – человек, поставивший управление базами данных на научную основу. Настоящая легенда для всех, кто так или иначе связан с базами данных, их настоящий добрый гений!