пятница, 6 января 2017 г.

[prog.memories] Неожиданный, приятный новогодний подарок :)

Бывший коллега по КБ СП сделал просто шикарный подарок к Новому Году:

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

Судя по всему, это самое начало 1998-го года. Потому что здесь описывается еще встраиваемый вариант Dss. Если мне не изменяет склероз, то к концу 1998, к началу 1999-го была сделана многопользовательская клиент-серверная версия. А версия 4.00 была еще однопользовательской, встраиваемой (по типу SQLite).

Темой ООСУБД пришлось заняться вскоре после того, как я попал в КБ СП в 1994-ом году. Наш отдел тогда пытался создать объектно-ориентированную SCADA-систему. И нам нужна была какая-то БД, которая бы позволила эффективно и удобно хранить объекты и взаимосвязи между ними (в РСУБД такие вещи плохо укладываются в принципе). Отсюда и пошла разработка Dss (расшифровывается как Data Storage System). Сначала в качестве дипломной работы в универе, потом в качестве темы для диссера в аспирантуре. Плюс использование ее в КБ СП в рамках проекта SCADA Objectizer.

Вспоминается интересный случай. Где-то в 1999-ом для SCADA Objectizer был сделан векторный графический редактор для рисования мнемосхем. Мнемосхема в SCADA-системе -- это схематическое изображение фрагмента технологического процесса, на которую выносятся текущие показания, а так же элементы управления технологическим процессом (как это может выглядеть можно найти в гугле). Вся информация хранилась в Dss. Помню, как для стресс-теста сгенерировал картинку, на которой было порядка 30K графических элементов. И ничего. Ни Dss не тормозила, ни сам редактор, ни проигрыватель мнемосхем. Если не ошибаюсь, на AMD-k6 350MHz с 32Mb RAM. А вот когда мы это же изображение перегнали в XML для того, чтобы затем на Web-страничке отрисовать с помощью Java-апплета, то вот тогда довелось посмотреть на то, что такое настоящие тормоза :)

Да, интересные времена были. Какого-то серьезного выхлопа от Dss я не получил (даже диссертацию на эту тему на защиту вывести не удалось), но опыт был очень интересный. Первый серьезный кросс-платформенный проект. На старом C++, в котором STL-я еще не было. Да и шаблоны с исключениями и пространствами имен были не везде. Эх... Сейчас вспоминается просто как времена освоения Дикого Запада :)))

PS. Кстати оказалось, что документация по Dss v.4.20 до сих пор доступна на моей давным-давно заброшенной страничке на narod.ru. Прикольно. Сейчас читаешь и не понимаешь, откуда бралось время, желание и силы делать это все :)

Комментариев нет: