Ozon разработал собственный инструмент для генерации и редактирования фона на изображении товаров, который работает с помощью алгоритмов машинного обучения.
По прогнозам экспертов, число предприятий, использующих отечественные решения, возрастет до 80% к концу 2024 г.
Объемы накопленных человечеством данных, нашей «новой нефти», в ближайшие годы будут стремительно увеличиваться, по оценке IDC — с 33 зеттабайт (зеттабайт — 10 в 21 степени байт) в 2018 году до 175 зеттабайт в 2025-м. Соответственно, растет и роль систем управления базами данных как центрального звена корпоративной инфраструктуры. Соответствующий рынок на фоне общей стагнации, по данным Gartner, вырос в 2018 году на 18,4%, до $46 млрд. CNews напоминает основные этапы развития СУБД в рамках готовящегося цикла статей об этой важнейшей составляющей ИТ-архитектуры.
Объемы накопленных данных стремительно растут, их источники становятся все разнообразнее. Растет и важность данных как основы для принятия решений — топ-менеджментом компаний, руководством городов, регионов и даже стран. Соответственно, растет и важность систем управления базами данных, поскольку от правильности выбора типа СУБД зависит очень многое.
Нынешнее состояние рынка СУБД является результатом шестидесятилетнего эволюционного развития. На нем уживаются и работающие базы времен первых мэйнфреймов, и самые современные облачные разработки. Многообразие типов СУБД (реляционные и NoSQL, операционные и аналитические, коммерческие и с открытыми кодами) объясняется разнообразием решаемых ими задач. Эта «многомерность» современного рынка систем управления базами данных не позволяет выделить абсолютных лидеров, но дает представление о технологических тенденциях на ИТ-рынке в целом.
Системы управления базами данных, как и интернет, и многие другие новации, своим появлением обязаны «Моменту Спутника» (Sputnik Moment). Так в конце пятидесятых назвали ускоряющий импульс, который получила в ответ на запуск Советским Союзом 4 октября 1957 г. и другие успехи СССР в космосе вся американская индустрия. И прежде всего нарождающаяся компьютерная. В 1961 г. президент Джон Кеннеди (John Kennedy) предложил в качестве «главного ответа Советам» лунную программу «Аполлон». Для ее выполнения требовались невиданные прежде масштабы кооперации соисполнителей, поэтому было решено автоматизировать управление поставками комплектующих.
В соответствие с этим решением в 1965 г. IBM и другие участники программы разработали задание на триединую систему Information Control System and Data Language/Interface (ICS/DL/I), включающую подсистему управления информацией, язык данных и интерфейс. Предназначением системы была автоматизации работы со списками, состоящими из записей о комплектующих. В последующем IBM переработала ICS/DL/I в коммерческий продукт Information Management System/360 (IMS/360), продолжающий работать на некоторых мэйнфреймах до сегодняшнего дня.
Созданием IMS DBMS был заложен краеугольный камень в создание современного стека корпоративных информационных систем, характерного отделением кода приложений от данных специально созданным программным обеспечением. Этот тип программного обеспечения стали называть Database Management System (DBMS). А когда появились СУБД других типов, то IMS и ее аналоги (IDS, IDMS, Total) отнесли к классу навигационных или сетевых.
…просто бизнес
Следующий шаг в развитии СУБД был сделан с началом массового использования компьютеров в бизнесе. Со времени изобретения двойной записи в XIII веке таблицы стали основной формой предоставления деловых данных, соответственно, возникла потребность в компьютерном средстве для хранения табличных данных и работы с ними.
Оказалось, что она может быть удовлетворена на основе реляционного исчисления, которое наряду с реляционной алгеброй стало ядром будущей модели данных, которую соответственно и назвали реляционной.
СУБД с записями фиксированной длины, «заточенную» на работу с таблицами, предложил в 1970 г. исследователь из IBM Эдгар Кодд (Edgar Codd). Они получили название «реляционные» и настолько удачно подошли для большей части данных, используемых в бизнесе, что надолго закрепились в качестве основы для большей части корпоративных информационных систем.
Работу Кодда продолжили Майкл Стоунбрейкер (Michael Stonebraker) и Юджин Вонг(Eugene Wong) в проекте по созданию первой работоспособной реляционной СУБД Ingres с языком запросов QUEL, вскоре уступившему свое место принятому в качестве стандарта языку SQL. Не меньшим по своему значению для усиления позиций реляционных СУБД стало массовое производство Unix-серверов, ставших аппаратной платформой для реляционных СУБД.
Перспективность этой связки первой разглядела начинающая компания Oracle, обошедшая IBM с ее проектом System R, позже переросшим в СУБД DB2. Потом на этом рынке появились продукты Sybase, Informix и многие другие.
Реляционные СУБД долгое время правили бал в корпоративных системах, однако существовали и альтернативные подходы. Например, иерархическая СУБД InterSystemsCache, пользующаяся особой популярностью в медицинских учреждениях.
Какое-то время в бизнесе использовались и персональные реляционные СУБД — dBase от Ashton-Tate, Paradox от Borland, FoxPro от Fox Software и Clipper от Nantucket, позже скупленные крупными вендорами и практически бесследно растворившиеся в их недрах.
Эпоха «ста цветов»
Третий заметный шаг в развитии СУБД был сделан под влиянием интернета. Во времена первого интернет-бума в конце 90-х — начале 2000-х, фундаментом зарождающегося интернет-бизнеса были Unix-серверы SunMicrosystems или HP и коммерческие СУБД, прежде всего Oracle.
Однако по мере того, как бизнес в интернете становился все более массовым, стала очевидна потребность в более дешевых и более масштабируемых решениях. Выходом из положения стали фермы из стандартных серверов x86, операционная система из Linux и СУБД с открытыми кодами. Среди немалого количества проектов такого рода наиболее успешным оказалась СУБД MySQL одноименной шведской фирмы. Она стал одной из составляющих тетрады LAMP (Linux, Apache, MySQL и PHP), служащей базисом для большинства сайтов и поныне.
С MySQL началась эпоха СУБД с открытыми кодами. Некоторые из них, как MariaDB, являются «ответвлениями» от MySQL (которая стала собственностью Oracle), другие — оригинальные разработки разного типа, такие как объектно-реляционная PostgreSQL, реляционная CockroachDB, документоориентированная MongoDB, встраиваемая SQLite и многие другие.
Дополнительным стимулом для развития нового поколения СУБД стало то, что традиционные реляционные СУБД оказались неготовыми к эпохе больших данных. Их главное достоинство — обеспечение надежного хранения с минимальными издержками на резервирование, оказались препятствием к масштабированию. Кроме того, они неудобны при работе с неструктурированными данными, объемы которых растут многократно быстрее, чем структурированных.
Это дало дополнительный толчок к развитию нереляционных СУБД. Amazon (Dynamo), Google (BigTable) и многие другие компании стали создавать собственные системы хранения нереляционного типа, где масштабирование достигается за счет использования тысяч идентичных серверов, по которым данные распространяются сегментированно. Такие базы обеспечивает хорошую масштабируемость и высокую готовность без уменьшения быстродействия.
Что дальше?
Нынешний виток в развитии СУБД отличается тем, что он скорее связан не с количеством или качеством данных, а с изменением платформы, поскольку базы данных, так же как и многие другие решения, уходят в облака. Облачные СУБД могут быть как реляционными, так и нет, они могут быть как программным сервисом (DBaaS), так и базироваться на виртуальных машинах по модели IaaS или PaaS.
Еще одну «точку роста» для СУБД можно ожидать в связи с внедрением информационных систем, основанных на машинном обучении. Для него требуются размеченные данные, то есть данные, снабженные описывающими их метаданными. Их ближайший аналог — СУБД, предназначенные для хранения данных в формате XML, с той разницей, что «обученные» СУБД могут быть не только NoSQL, но и реляционными.
Поскольку пока разметка данных (data labeling) может выполняться только вручную, то, естественным образом, на первые позиции выходит Китай, где создается мощная индустрия разметки. Но в перспективе процесс разметки наверняка будет автоматизироваться, и на этом рынке могут появиться новые лидеры.
Развивается не только логика, но и «физика» хранения. В 90-е годы в дополнение к традиционным СУБД, обрабатывающим данные на диске, были созданы первые СУБД, обрабатывающие данные в оперативной памяти (In-Memory Database Systems, IMDS). Потребовалось лет 15 на то, чтобы они стали массовым рыночным продуктом. Успеху IMDS способствовали, с одной стороны, снижение стоимости оперативной памяти и создание многоядерных процессоров, способных работать с большими ее объемами, а с другой— появление новых, прежде всего аналитических приложений, с более высокими чем у транзакционных, требованиями к скорости работы с данными. Начало было положено СУБД SAP HANA (2010 г.), а вскоре опции IMDS получили реляционные СУБД Oracle Database, DB2 и Microsoft SQL Server. Параллельно и NoSQL-базы стали развиваться в этом направлении.