Без систем управления базами данных сложно представить эффективное использование информации, объемы которой стремительно растут с каждым годом. Современное состояние СУБД – результат развития рынка хранения данных за несколько десятков лет и даже веков.
Как развивались базы данных, как они эволюционировали в облаке и почему их появлению способствовали ткацкое дело, запуск космического корабля и бум интернета и мультимедиа в 90-х.
Идея автоматизации обработки информации
Первые успешные попытки автоматизации процесса обработки и хранения информации связаны с появлением перфокарт. Еще в 1725 году текстильщик Базиль Бушон разработал систему управления ткацким станком с помощью бумажной ленты с отверстиями. На основе этого изобретения в 1804 году Жозеф Жаккар создал ткацкую машину, управляемую «карточной цепочкой»: большие твердые пластины с несколькими рядами отверстий проходили через считывающее устройство, его щупы попадали в отверстия и поднимали необходимые нити для создания жаккардового узора.
Перфокарты использовались также для раскроя ткани и в механических пианино, завоевавших большую популярность в начале XX века. В 1890 году инженер Герман Холлерит создал табулятор – электрическое устройство, которое считывало информацию с перфокарт и выводило на бумажную ленту. Холлерит первым стал использовать перфокарты для хранения данных, а не инструкций.
Изначально перфокарта содержала 24 колонки и 12 строк и представляла собой картонный прямоугольник размером с доллар, для перфорации которого использовался пробойник кондуктора поезда. Перфокарта могла хранить, например, простую информацию из опросников, так табулятор нашел применение при переписи населения США, сократив время обработки данных с 8 лет до 1 года. На волне успеха табулятора Холлерит основал собственную компанию, которая в 1911 году вошла в состав Computing Tabulating Recording. CTR сосредоточилась на выпуске больших табуляторов и в 1924 году компания была переименована в International Business Machines.
IBM продолжили совершенствовать перфокарты, так в 1928 году они создали новую карту из 80 колонок и 12 строк, с прямоугольными пробивками, которая надолго стала наиболее популярной на рынке. Хранение данных на перфокартах и перфолентах оказалось настолько удачным решением, что применялось несколько десятков лет, не только в табуляторах, но и в инновационном изобретении 1940-х – вычислительных машинах.
Компьютеры с хранимыми программами и магнитные ленты
В 1944 году специалистами IBM был создан первый программируемый компьютер Марк I, в начале 50-х был разработан ламповый компьютер, а к концу десятилетия появились первые компьютеры на транзисторах. Вычислительные машины с хранимыми программами становились надежнее и быстрее, но продолжали массово использовать перфокарты для хранения и данных, и программ. Бизнес нуждался в сохранении постоянно увеличивающихся объемов информации – большие компании имели целые этажи для хранения перфокарт. При этом скорость чтения и записи была низкой, через считыватели нельзя было пропустить больше тысячи перфокарт в минуту. Для выполнения некоторых операций с данными нужно было использовать отдельные машины: сортировщики, перфораторы и табуляторы.
Исправить ситуацию помогли появившиеся в начале 50-х магнитные ленты. Они могли хранить данные 10 000 перфокарт, а отдельная запись на ленте уже рассматривалась как файл. Новые компьютеры с их емкими магнитными лентами для длительного хранения информации, пакетами ПО для расчета заработной платы, ведения инвентарных ведомостей, управления банковской деятельностью, постепенно вытеснили с рынка перфорационные комплексы.
Но технология магнитных лент имела один существенный недостаток. Лента физически не позволяла оперативно работать с данными, например. при ведении операций на фондовой бирже или при резервировании билетов, доступ был исключительно последовательным. Кроме того, для каждой системы приходилось заново разрабатывать файловую структуру, а при необходимости её изменить, приходилось вносить изменения и в ПО. Децентрализованное хранение данных приводило к дублированию файлов, а со временем к потере актуальности части данных. По сути такие файловые модели представляли собой замену ручных картотек, со всеми их недостатками. Эти проблемы привели к возникновению двух параллельно развивавшихся типов БД: иерархических и сетевых.
Космическая программа и появление СУБД
Иерархические базы появились во многом благодаря лунной программе NASA. В 1960-х компания Rockwell заключила с правительством США контракт на разработку командного отсека корабля Аполлон. Компании нужно было автоматизировать контроль данных и создать управление списком деталей в крупнейшем в мире инженерном проекте. Для учета около 2 миллионов компонентов космического корабля Rockwell создали систему управления файлами, работающую с магнитной лентой. Один её файл занимал 18 катушек ленты, более половины данных представляли собой избыточное повторение порядковых номеров деталей и частей, которые следовали за ней при сборке. Время доступа к данным было очень велико, а файл чаще всего был неактуальным из-за пакетной обработки данных, при которой данные сначала накапливаются в течение некоторого времени, а затем обрабатываются с помощью заданной последовательности программ.