Легенда реляционных СУБД. Идея Кодда о реляционной модели данных была, по сути, революционной

В сфере высоких технологий есть немало ложных героев. Д-р Эдгар (Тед) Кодд был истинным.

Кодд выступил с идеей реляционных баз данных, применив изящество математики и логики предикатов к проблеме управления, поиска и сортировки данных. Его работа, большую часть которой он выполнил, будучи сотрудником IBM, образует основу того, что сегодня стало многомиллиардным бизнесом для Oracle, Microsoft и самой IBM. Согласно Gartner, в одном лишь 2003 г. в мире было продано новых лицензий на СУРБД более чем на 7 млрд. долл. Имя Кодда может не быть у всех на слуху, но среди тех, кто знает базы данных, он остается легендой и сейчас, спустя полтора года после смерти.

Главный вклад Кодда в ИТ — это идея, изложенная в его статьях начиная с 1969 г., о необходимости развести физический и логический уровни системы хранения данных. Проще говоря, тот, кто хочет найти определенный элемент информации, не обязан знать тонкостей того, каким образом факт «X» оказался там либо здесь. Нужно лишь знать, о чем спросить. Возможно, это само по себе не всегда просто, но безусловно проще, чем прослеживать «макаронный код», который змеился сквозь дореляционные иерархические базы данных.

Тед Кодд, по словам его жены Шэрон и давнего соратника Криса Дейта, был недоволен тем, что IBM требовалось так много времени, чтобы вникнуть в сделанное им. Эта задержка, считают некоторые, открыла дорогу Ларри Эллисону и его только что созданной Oracle, позволив отхватить большую долю рынка и немалые доходы.

Как говорит Шэрон Кодд, у ее мужа были теплые отношения с Эллисоном, и несколько лет назад он был приглашен выступить на торжественном приеме в Oracle. «Ларри уважал то, что сделал Тед, — в конце концов, на этом построено его состояние», — сказала она.

Ей вторит Дейт, который помогал популяризировать идею Кодда в своих лекциях, книгах и статьях: «В то время было общее чувство, что эта работа принадлежит всем. Она стала общеизвестной. Людям в IBM это не нравилось, но все статьи были доступны».

Руководство IBM включило Кодда в группу, которая изучала подходы к проблеме баз данных, но поскольку компания уже предлагала иерархическую систему управления информацией (IMS), их работа была ограничена иерархическими подходами, вспоминает Шэрон Кодд. Тед Кодд видел вещи совершенно иначе и потребовал, чтобы его перевели в другую группу, где он мог бы заниматься собственным подходом. В 1969 г. Кодд опубликовал свое первое видение реляционной модели данных в исследовательском отчете IBM.

Шэрон Кодд, которая работала в IBM, когда она встретила Теда, продолжает продвигать его работу и терпеливо объясняет ее репортерам. «Представьте свою базу данных как большое множество таблиц. Если вас интересует «Сотрудник A», то вы знаете, что нужно обратиться к таблице сотрудников. Если вас интересует «Сотрудник 12345», то вы смотрите эту конкретную часть таблицы. Затем, если вы хотите знать цвет глаз сотрудника, то эта характеристика будет на пересечении данного столбца или строки. Вы имеете здесь схему уникальной адресации. Вам не нужно знать об индексах, о хранении, об указателях, которые соотносят вещи друг с другом», — говорит она. Табличная структура, на которую опирался Кодд, обычно легко понимается людьми, далекими от техники. Всем понятны таблицы и идея уникального идентификатора, будь то номер сотрудника, или номер отдела, или номер страхового полиса автомобиля.

Однако специалисты того времени эту идею «первичного ключа», или идентификатора, для указания на соответствующую часть таблицы усвоили не сразу.

«В прежние времена мы должны были программировать доступ к данным и знать все о файл-менеджерах, например VSAM и индексных файлах, и должны были ползать вверх-вниз по структурам данных, от родительских к дочерним, программируя все это. Реляционные системы выдают результаты, какие вы хотите, без участия процедур», — поясняет Фрэнк Каллен, директор VAR-компании Blackstone & Cullen.

Избавив от этой возни с процедурами, модель Кодда устранила и немало возможностей для ошибки. «Программисты чаще всего портачили в процедурах. А реляционные СУБД убрали процедуры из требований к программированию», — сказал Каллен.

Джордж Браун, президент компании Database Solutions, замахнулся еще выше. «Работа Кодда по базам данных стала поворотной точкой в ИТ. Она была, быть может, столь же значительна, как изобретение микропроцессора», — сказал он.

Хотя рынок СУРБД стартовал с началом работы Oracle в 80-х годах и набрал обороты в 90-х, Кодд был не в восторге от коммерческого воплощения его работы, говорят Шэрон и Дейт. Он считал, например, язык структурированных запросов SQL далеко не оптимальным.

Еще одним источником раздражения для Теда было стойкое убеждение, что реляционная СУБД не может работать с неструктурированными данными.

«Это неверное понимание, — говорит Дейт. — Все данные имеют структуру, просто иногда это не так ясно. Вообще, говорить, что теперь мы должны иметь дело с XML-документами, поэтому мы не можем использовать реляционные базы данных, просто неверно».

Он уподобил этот спор аналогичным дебатам, кипевшим более десяти лет назад, о том, что реляционные базы данных не могут работать с «объектами». Стимулировала все эти дебаты горстка компаний, занимавшихся объектными СУБД, которые отстаивали свой бизнес. Все они канули в Лету.

Шэрон Кодд и Дейт продолжают работать исходя из того видения реляционной модели данных, которое было у Теда Кодда. Во время церемонии посвящения в Зал славы ИТ-отрасли Шэрон сообщила, что работает над проектом под кодовым названием Delta, который она назвала реляционной системой корпоративного управления, чтобы преобразовать бизнес-информацию в работающие приложения. «Этот продукт более абстрагирован, так что человек, знающий бизнес, а не программирование, может описать свою задачу, а система затем программирует это», — сказала она.

И это лишь один из примеров того, как работа Теда Кодда продолжает помогать развитию мира баз данных.

Тед Кодд
Место рождения: г. Портленд, Англия.
Ученые степени и звания: бакалавр и магистр химии и математики (Колледж г. Эксетер Оксфордского университета), магистр и д-р философии по вычислительной технике (Мичиганский университет).
Любимое произведение живописи: «Альберт Эйнштейн» Энди Уорхола.
Любимый мюзикл: «Призрак оперы» (запись в первом составе).
Любимая благотворительная организация: Broadway Cares/Equity Fights AIDS.