Редко можно встретить технологии, которые существуют более пятидесяти лет в стремительно меняющейся ИТ-индустрии. Пока одни разработки быстро теряют актуальность, базы данных продолжают играть ключевую роль. По мере увеличения объёмов данных растёт и потребность в инструментах для их обработки, управления и анализа. 

Первая СУБД, основанная на иерархическом подходе, была разработана ещё в 1960-х годах. В 1970-х появились реляционные системы, которые и сегодня остаются востребованными благодаря своей универсальности и эффективности.  

Сегодня обсудим, каким был путь развития СУБД.

1960-е: иерархическая модель

Программа пилотируемых космических полётов «Аполлон» стала одним из самых амбициозных проектов в истории человечества. Для её успешной реализации требовались новые информационные системы. 

За разработку космического корабля отвечала компания North American Rockwell. Для выполнения столь масштабной задачи она заключила партнёрство с IBM — ведущим разработчиком компьютерных систем. Кроме того, к проекту привлекли специалистов компании Caterpillar Tractor, одного из лидеров в производстве инженерного оборудования.  

Объединенная команда разработала программу Information Control System and Data Language/Interface (ICS/DL/I). ICS стала одной из первых СУБД и успешно справлялась с обработкой огромных объёмов данных, необходимых для управления производственными процессами в реальном времени.  

Иерархическая модель данных в ICS построена в виде древовидной структуры: записи представлены узлами, а поля — ветвями дерева. Каждая запись (узел) может иметь только одного родителя, но при этом допускается наличие нескольких дочерних записей, что создаёт характерную иерархию.

Ключевая роль в системе отводилась компоненту Data Language/Interface (DL/I) — программному интерфейсу, предоставляющему доступ к базе данных. Впоследствии DL/I стал основой для широко известной системы IBM IMS (Information Management System).  

Первая версия ICS, завершенная IBM в 1967 году, оказалась настоящим технологическим прорывом. Её принципы были настолько успешными, что позже были использованы в других крупных проектах, включая программу «Шаттл».

1960–1970: сетевая модель

В начале 1960-х годов Чарльз Бахман из General Electric разработал интегрированное хранилище данных (Integrated Data Store — IDS). IDS стало одной из первых реализаций сетевой модели баз данных. В отличие от IMS, IDS предлагала более гибкий подход: записи могли быть связаны между собой через сложные сетевые структуры. Такой подход позволял создавать системы с разными типами отношений между данными.

Несмотря на сложность использования IDS и необходимость глубоких знаний в области программирования, она стала революционным шагом в технологиях управления данными. IDS легла в основу сетевой модели баз данных, которая впоследствии стала центральным компонентом стандарта CODASYL (Conference on Data Systems Languages). CODASYL объединил усилия экспертов и организаций в 1960–1970-х годах для разработки стандартов работы с данными и языками программирования.

IDS впервые показала, как можно манипулировать связанными данными через сети. На основе этих идей сетевые базы данных обрели популярность и стали ключевой технологией в 1960–1970-х годах, пока реляционные базы данных постепенно не вытеснили их. Однако именно IDS и работы CODASYL стали важным мостом между ранними подходами обработки данных и современными технологиями СУБД.

В 1965 году Чарльз Бахман по заказу лесопромышленной компании Weyerhaeuser Lumber разработал расширение IDS — первую многопрограммную систему сетевого доступа к базе данных под названием WEYCOS (Weyerhaeuser Company Operating System). WEYCOS стала одной из первых систем, поддерживающих обработку данных в реальном времени. С её помощью компания централизовала управление данными, упростив хранение всей информации о заказах, запасах и логистике в единой базе.

Система стала ранним примером внедрения концепции онлайн-обработки транзакций (OLTP). В режимах многопользовательского доступа сотрудники могли одновременно работать с данными, а запросы обрабатывались практически моментально, что минимизировало задержки в рабочих процессах.

Вклад Чарльза Бахмана в область баз данных был настолько значительным, что в 1973 году он получил премию Тьюринга за достижения в проектировании и реализации IDS, а также за развитие сетевой модели. Благодаря Бахману зародились многие концепции, которые стали основой для современных реляционных баз данных.

Позже компания BF Goodrich Chemical Co. переработала IDS, сделав её более удобной в использовании. В результате появилась интегрированная система управления данными (IDMS). Она была основана на стандарте CODASYL и продолжала использовать сетевую модель, но включала более продуманные интерфейсы для разработчиков. Благодаря удобству эксплуатации IDMS стала одной из самых популярных СУБД в 1970-х и 1980-х годах.

IDMS демонстрировала выдающиеся уровни производительности, особенно в проектах с большими объёмами данных и строго структурированными транзакциями. Одним из наиболее ярких примеров стала реализация базы данных для CSS (Customer Service System) компании British Telecom. CSS обслуживала более 10 миллиардов транзакций ежегодно, что делало её одной из крупнейших и самых высокопроизводительных баз данных своего времени.

Тем не менее, сетевая модель так и не стала доминирующей по двум причинам. Во-первых, IBM выбрала иерархическую модель с полусетевыми расширениями в IMS и DL/I. Во-вторых, сетевая архитектура была в итоге вытеснена реляционной моделью, которая предлагала более высокоуровневый и удобный интерфейс.

1970–1980: реляционная модель

Эдгар Кодд работал в IBM над задачами хранения и обработки данных. Проанализировав существующие решения в области сетевых и иерархических моделей данных, в 1970 году он опубликовал работу «A Relational Model of Data for Large Shared Data Banks», в которой представил концепцию реляционной модели данных.

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

И хотя реляционная модель данных Кодда долгое время воспринималась скептически, в период с 1974 по 1977 год различными исследовательскими группами были созданы два ключевых прототипа реляционных СУБД.

INGRES

INGRES (Interactive Graphics and Retrieval System) была разработана командой под руководством Майкла Стоунбрейкера и Юджина Вонга. Основной задачей INGRES было исследование и практическое внедрение реляционной модели данных. Эта система использовала язык запросов QUEL, который позже был заменён на SQL (Structured Query Language) из-за растущей популярности последнего.

Развитие проекта INGRES оказало значительное влияние на разработку других СУБД, таких как Sybase и Microsoft SQL Server. После завершения работы над INGRES в середине 1980-х годов Майкл Стоунбрейкер продолжил развивать концепцию реляционных баз данных, создав новый проект под названием POSTGRES (сокращение от «Post-Ingres»). POSTGRES стала основой для PostgreSQL — одной из ведущих современных СУБД с открытым исходным кодом.

System R

В период с 1974 по 1977 годы в IBM Research Lab была разработана СУБД System R. Проект возглавили исследователи Дональд Чэмбэрлин и Рэй Бойс, которые активно трудились над созданием первого языка для работы с реляционными базами данных — SEQUEL (Structured English Query Language). Позже этот язык был переименован в SQL и стал промышленным стандартом для работы с базами данных.

System R стала первым проектом, демонстрирующим практическую эффективность реляционной модели. Разработка и успехи System R привели к созданию коммерческих продуктов IBM: SQL/DS (для платформы VM) и DB2 (для платформы MVS). Под влиянием System R появились и другие известные коммерческие СУБД: Oracle Database, HP Allbase и Tandem Non-Stop SQL. 

Разработка INGRES и System R стала поворотным моментом в истории вычислительной техники, заложив основы современной работы с данными. В то время как IDMS демонстрировала выдающуюся производительность на терабайтных базах, реляционные СУБД в 1980-х и 1990-х годах значительно превосходили её в гибкости и простоте разработки.

За свои достижения Эдгар Кодд в 1981 году был награжден премией Тьюринга. Он продолжил работать над развитием и уточнением реляционной модели. В 1985 году Кодд сформулировал 12 правил, которые определяют критерии соответствия настоящей реляционной базы данных. Эти правила стали важным ориентиром для разработчиков СУБД.

1980–1990: объектно-ориентированные СУБД

С появлением объектно-ориентированных языков программирования возросли требования к приложениям, которые реляционная модель не могла удовлетворить. В результате была разработана концепция объектно-ориентированных баз данных (ООБД), в которых данные представляются как объекты, а не таблицы. Термин «объектно-ориентированная система управления базами данных» (ООСУБД) впервые появился около 1985 года.

Однако уже к концу 1980-х — началу 1990-х годов стало очевидно, что ни реляционные, ни объектно-ориентированные базы данных не способны полностью удовлетворить требования новых приложений. Кроме того, ООСУБД часто привязываются к конкретным языкам программирования, что ограничивает их гибкость.

Чтобы решить эти проблемы, исследовательские группы начали разрабатывать объектно-реляционные базы данных (ОРБД). Основой для таких систем стал расширенный стандарт SQL, который включает поддержку объектных типов.

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

1990-2000: NoSQL

Реляционные базы данных изначально проектировались для работы на одном сервере в эпоху, когда горизонтальное масштабирование (через добавление серверов) оставалось практически недоступным. Эти системы идеально подходили для работы со структурой данных в виде таблиц, где информацию можно было организованно обрабатывать с помощью SQL. Однако с ростом объёмов данных, которые требовалось обрабатывать в реальном времени, возникла необходимость в других подходах.

NoSQL («Not Only SQL») стал ответом на ограничения реляционных баз. Термин «NoSQL» впервые использовал Карло Строцци в 1998 году для обозначения легковесной реляционной базы данных с открытым исходным кодом, которая не поддерживала традиционный SQL-интерфейс. Однако в то время термин остался вне поля зрения ИТ-сообщества. Широкую известность он получил позже, в 2009 году, благодаря усилиям Джонатана Эллиса, разработчика Apache Cassandra, а также инициативам других специалистов, связанных с движением NoSQL.

NoSQL-базы данных стали незаменимым элементом современных технологий, особенно в таких областях, как потоковые данные, IoT, машинное обучение и аналитика.  

В 2011 году началась разработка языка неструктурированных запросов (UnQL) для работы с неструктурированными и полуструктурированными данными. В том же году Мэтью Эслетт ввёл понятие NewSQL, обозначив новый класс реляционных СУБД, которые объединяют производительность и масштабируемость систем NoSQL с транзакционностью и строгими требованиями согласованности, характерными для традиционных реляционных баз данных. Среди таких систем можно отметить CockroachDB и VoltDB.

2010-е: облачные СУБД

Ключевым фактором развития СУБД в 2010-х годах стало взрывное увеличение объёмов данных. Миграция реляционных СУБД в облако позволила организациям воспользоваться всеми преимуществами облачных вычислений: лёгким масштабированием, высокой доступностью и снижением затрат на управление локальной ИТ-инфраструктурой.  

В этот период произошли значимые изменения не только в переносе традиционных решений на виртуальную инфраструктуру, но и в разработке cloud-native баз данных, изначально созданных для работы в распределённой среде. Облачные технологии предоставили быстрый доступ к мощным инструментам обработки данных, увеличив масштабируемость и обеспечив поддержку высоконагруженных приложений.

В 2020-х годах машинное обучение и ИИ оказали значительное влияние на развитие СУБД. Появились платформенные решения, которые объединяют хранилища данных (Data Warehouses) с гибкостью озер данных (Data Lakes). 

Базы данных в облаке (например, DBaaS PostgreSQL) позволили быстро воспользоваться всеми преимуществами современных БД без затрат на администрирование и поддержку инфраструктуры.

2020-е: векторные СУБД

Идея использования векторных представлений тесно связана с развитием ИИ. Нейронные сети, активно развивавшиеся с 1980-х годов, применяли вектора (веса и входные значения) для отображения данных. Однако способы их хранения долго оставались на уровне экспериментов отдельных исследователей. Лишь в 21 веке появились полноценные векторные базы данных, чему способствовали достижения в обработке данных (например, методы NLP и анализа изображений) и разработка эффективных алгоритмов работы с векторными структурами, таких как HNSW.

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

С развитием методов обучения представлениям (representation learning), особенно в сфере больших языковых моделей и компьютерного зрения, растёт спрос и на векторные базы данных. Gartner выделяет их среди ключевых технологий будущего наряду с квантовыми вычислениями и web3.


Постоянное внедрение инноваций и адаптация к меняющейся ИТ-экосистеме сделали СУБД гибкими и способными справляться с современными задачами. Современные системы эффективно обрабатывают огромные объёмы данных в реальном времени, поддерживают аналитические процессы и интеграцию с методами машинного обучения.

Комментарии (4)


  1. Vad344
    26.01.2025 19:08

    Иии..? Нахрена это всё было написано?


  1. kivan_mih
    26.01.2025 19:08

    Поделитесь пожалуйста ссылками на литературу, которую использовали для написания статьи


    1. kivan_mih
      26.01.2025 19:08

      Немного опережу автора, если вдруг вам интересно почитать первоисточник статьи, то он здесь https://medium.com/@ivankhodyrev/the-best-long-brief-history-of-database-management-systems-cb9a2421a578 . Статья randall не является дословным пересказом, но периодизация, общая структура повествования и многие детали взяты оттуда. Это важно, поскольку такая периодизация не общепризнана и является существенным упрощением, что признает автор статьи на medium. Реальная история развития баз данных гораздо сложнее структурирована, чем простое разделение на 10 летние периоды.


  1. mentin
    26.01.2025 19:08

    Думал лесозаготовки это отсылка к гугловской шутке про logs (логи, журнал, но ещё и бревна), давшей названия их Sawmill, Dremel, и т.д. А оказалось и реальный лес поучаствовал!