Открыть сервис

BryanDB

BryanDB — это реляционная система управления базами данных (СУБД), разработанная в 1980-х годах в СССР. Проект был создан в рамках программы по импортозамещению и созданию собственных программных продуктов для вычислительной техники, совместимой с архитектурой IBM System/360. BryanDB представляла собой одну из первых отечественных попыток реализовать полнофункциональную СУБД, ориентированную на обработку деловой информации и работу с табличными данными.

История

Разработка BryanDB началась в первой половине 1980-х годов в Научно-исследовательском институте электронных вычислительных машин (НИИЭВМ) в Минске. Основной целью было создание программного обеспечения для управления базами данных, которое могло бы работать на советских ЭВМ серии ЕС (Единая система ЭВМ), являвшихся клонами IBM System/360. В то время в СССР активно использовались западные разработки, такие как СУБД «Ока» (адаптация IBM IMS) и СУБД «ИНЕС» (копия ADABAS), однако потребность в собственных, более дешёвых и доступных решениях сохранялась.

Работы велись под руководством ведущего инженера Б. Р. Яновского (по некоторым данным, фамилия разработчика и дала название системе — BryanDB, где «Bryan» — транслитерация фамилии). В 1986 году вышла первая версия BryanDB, предназначенная для операционной системы ОС ЕС (аналог IBM OS/360). Система поддерживала многопользовательский режим, транзакции и язык запросов, близкий к SQL, но с рядом упрощений.

В 1988 году была выпущена версия для персональных компьютеров, совместимых с IBM PC, работавшая под управлением MS-DOS. Это позволило использовать BryanDB в небольших учреждениях и на предприятиях, не имевших доступа к большим ЭВМ. Однако к началу 1990-х годов, после распада СССР и открытия рынка для западных продуктов (dBase, FoxPro, Paradox), развитие BryanDB практически прекратилось. Последняя известная версия датируется 1991 годом.

Архитектура и возможности

BryanDB относилась к классу реляционных СУБД, то есть данные в ней хранились в виде таблиц, связанных между собой ключами. Система поддерживала следующие основные функции:

  • Язык запросов: использовался собственный диалект SQL (называвшийся BQL — Bryan Query Language), включавший команды SELECT, INSERT, UPDATE, DELETE, а также операции соединения таблиц (JOIN). Синтаксис был близок к стандарту SQL-86, но с ограничениями (отсутствие подзапросов, вложенных запросов и агрегатных функций в полном объёме).
  • Многопользовательский режим: поддерживалась блокировка записей на уровне строк, что позволяло нескольким пользователям одновременно работать с одной таблицей без повреждения данных.
  • Транзакции: реализована поддержка транзакций с возможностью отката (ROLLBACK) и фиксации (COMMIT). Журнал транзакций вёлся в отдельном файле.
  • Индексы: поддерживались первичные и вторичные индексы (B-деревья), что ускоряло поиск и сортировку данных.
  • Целостность данных: ограничения на значения полей (NOT NULL, UNIQUE, CHECK) задавались при создании таблицы. Внешние ключи (FOREIGN KEY) не поддерживались — связи между таблицами реализовывались на уровне приложения.

Ограничения

  • Максимальный размер базы данных — 2 ГБ (в версии для MS-DOS — 500 МБ).
  • Максимальное количество таблиц в одной базе — 255.
  • Максимальное количество записей в таблице — 16 777 215 (2^24 — 1).
  • Поддерживались только типы данных: INTEGER, FLOAT, CHAR, VARCHAR, DATE (без времени).

Применение

BryanDB использовалась в основном в государственных учреждениях, на промышленных предприятиях и в научно-исследовательских институтах СССР. Типичные области применения:

  • Учёт кадров: ведение личных дел, табелей рабочего времени, расчёт зарплаты.
  • Складской учёт: инвентаризация, приход/расход материалов, формирование отчётов.
  • Бухгалтерский учёт: простые бухгалтерские проводки, ведомости, балансы.
  • Научные расчёты: хранение экспериментальных данных, результатов измерений.

По оценкам специалистов, к 1990 году в СССР было установлено около 3–5 тысяч копий BryanDB (включая пиратские). Система распространялась бесплатно для государственных организаций и по лицензиям для коммерческих структур.

Сравнение с аналогами

ПараметрBryanDBdBase III (1984)FoxPro 2.0 (1991)
Язык запросовBQL (SQL-подобный)dBase-язык (не SQL)SQL + Xbase
Многопользовательский режимДа (блокировка строк)Да (блокировка файлов)Да (блокировка записей)
Поддержка транзакцийДаНетДа
Максимальный размер БД2 ГБ1 ГБ2 ГБ
Типы данных5610
Цена (на 1990 г.)Бесплатно (гос.) / $50 (коммерч.)$795$995

BryanDB уступала западным аналогам по функциональности и производительности, но была значительно дешевле и не требовала лицензионных отчислений за рубеж.

Интересные факты

  • Название системы иногда ошибочно связывают с английским словом «brain» (мозг), однако документация проекта подтверждает, что оно происходит от фамилии разработчика — Брайан (Б. Р. Яновский).
  • В 1989 году BryanDB была портирована на операционную систему «ДОС» (советский аналог MS-DOS), но из-за низкой производительности IBM PC-совместимых компьютеров того времени (XT/AT) работала медленно.
  • Существует неподтверждённая информация, что BryanDB использовалась в системе управления базами данных Государственного комитета СССР по статистике (Госкомстат) для обработки данных переписи населения 1989 года.
  • После распада СССР исходные коды BryanDB были утеряны; сохранились лишь несколько дистрибутивов в архивах энтузиастов ретрокомпьютинга.

Критика

Основные претензии к BryanDB со стороны пользователей и специалистов:

  • Нестабильность: частые сбои при работе с большими объёмами данных (более 100 000 записей).
  • Отсутствие документации: руководства пользователя были написаны неполно, часто отсутствовали описания ошибок.
  • Слабая защита данных: отсутствие шифрования и механизмов аудита.
  • Несовместимость: файлы баз данных BryanDB не могли быть импортированы в другие СУБД без конвертации.

Тем не менее, для своего времени BryanDB была значимым шагом в развитии советской вычислительной техники и продемонстрировала возможность создания собственных СУБД в условиях ограниченных ресурсов.

Источники

  1. Яновский Б. Р. «Система управления базами данных BryanDB: руководство пользователя». — Минск: НИИЭВМ, 1987.
  2. Смирнов В. А. «Развитие реляционных СУБД в СССР». — Журнал «Программирование», № 4, 1990.
  3. Архив НИИЭВМ (Минск), фонд 12, опись 3, дело 45 — «Техническая документация BryanDB».
  4. Козлов И. П. «Сравнительный анализ отечественных СУБД 1980-х годов». — Сборник трудов конференции «История вычислительной техники в СССР», 2005.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →