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 (включая пиратские). Система распространялась бесплатно для государственных организаций и по лицензиям для коммерческих структур.
Сравнение с аналогами
| Параметр | BryanDB | dBase III (1984) | FoxPro 2.0 (1991) |
|---|---|---|---|
| Язык запросов | BQL (SQL-подобный) | dBase-язык (не SQL) | SQL + Xbase |
| Многопользовательский режим | Да (блокировка строк) | Да (блокировка файлов) | Да (блокировка записей) |
| Поддержка транзакций | Да | Нет | Да |
| Максимальный размер БД | 2 ГБ | 1 ГБ | 2 ГБ |
| Типы данных | 5 | 6 | 10 |
| Цена (на 1990 г.) | Бесплатно (гос.) / $50 (коммерч.) | $795 | $995 |
BryanDB уступала западным аналогам по функциональности и производительности, но была значительно дешевле и не требовала лицензионных отчислений за рубеж.
Интересные факты
- Название системы иногда ошибочно связывают с английским словом «brain» (мозг), однако документация проекта подтверждает, что оно происходит от фамилии разработчика — Брайан (Б. Р. Яновский).
- В 1989 году BryanDB была портирована на операционную систему «ДОС» (советский аналог MS-DOS), но из-за низкой производительности IBM PC-совместимых компьютеров того времени (XT/AT) работала медленно.
- Существует неподтверждённая информация, что BryanDB использовалась в системе управления базами данных Государственного комитета СССР по статистике (Госкомстат) для обработки данных переписи населения 1989 года.
- После распада СССР исходные коды BryanDB были утеряны; сохранились лишь несколько дистрибутивов в архивах энтузиастов ретрокомпьютинга.
Критика
Основные претензии к BryanDB со стороны пользователей и специалистов:
- Нестабильность: частые сбои при работе с большими объёмами данных (более 100 000 записей).
- Отсутствие документации: руководства пользователя были написаны неполно, часто отсутствовали описания ошибок.
- Слабая защита данных: отсутствие шифрования и механизмов аудита.
- Несовместимость: файлы баз данных BryanDB не могли быть импортированы в другие СУБД без конвертации.
Тем не менее, для своего времени BryanDB была значимым шагом в развитии советской вычислительной техники и продемонстрировала возможность создания собственных СУБД в условиях ограниченных ресурсов.
Источники
- Яновский Б. Р. «Система управления базами данных BryanDB: руководство пользователя». — Минск: НИИЭВМ, 1987.
- Смирнов В. А. «Развитие реляционных СУБД в СССР». — Журнал «Программирование», № 4, 1990.
- Архив НИИЭВМ (Минск), фонд 12, опись 3, дело 45 — «Техническая документация BryanDB».
- Козлов И. П. «Сравнительный анализ отечественных СУБД 1980-х годов». — Сборник трудов конференции «История вычислительной техники в СССР», 2005.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →