Книга: Дефрагментация мозга. Софтостроение изнутри
#ifdef BTSQL (1992-93 год)
#ifdef BTSQL (1992-93 год)
ДЦ: NetWare SQL был лишь надстройкой к СУБД Btrieve[102], встроенной в Novell-овскую серверную операционную систему. Причём эта надстройка выполнялась на клиенте в специальной резидентной программе brequest. Она занимала 280 килобайт. Современный человек не поймёт, о чем речь. Он занимал целых 280 из 640 килобайт! Плюс MS-DOS и драйверы, а в оставшихся 300 килобайтах как хочешь, так и крутись… Кроме того, почему-то начальство считало полезным отказаться от «платного» NetWare SQL, будто в России тогда за что-то платили.
В итоге был написан небольшой слой, который находился под CST и транслировал узкое подмножество SQL без соединений (joins) в запросы к Btrieve. Наверное, это худший код, который я написал за свою жизнь, потому что он целиком находился в файле btsql.c – пара тысяч строк на чистом C. Oт обилия глобальных флагов я впадал в панику и вводил новые, только чтобы не трогать старый код. Ну а векторы, как и положено, обросли #ifdef BTSQL.
Работа с Btrieve была ещё тем удовольствием, поскольку отсутствовало понятие логического поля. Например, при создании индекса указывалось, что индекс включает байты с 3-го по 9-й, а второй сегмент – с 22-го по 25-й. Список таблиц, полей, смещений к началу полей в записи приходилось вести самостоятельно.
Интересно, что Btrieve имела уникальный двухверсионный уровень изоляции, который я нигде больше не встречал. Процессы-читатели никогда не блокировались и не считывали «грязные»[103] данные, а если напарывались на них, то брали предыдущую чистую версию. Понятно, что какая-либо целостность этой версии по времени не гарантировалась: каждая таблица хранилась в своем файле. Журналов транзакций не было, «грязные» данные хранились в специальных страницах (ditry pages) в той же самой таблице.
СБ: Кроме первой пробной установки Novell, за все остальные компания честно платила. Поэтому стоимость лицензий NetWare SQL была серьёзным аргументом в дополнение к его слабому быстродействию. CST на «голом» Btrieve работал в разы быстрее.
Кроме системы учёта для «Ниеншанца», на CST в 1992 году была сделана система для Молодёжной Биржи Труда. Как минимум год мы её сопровождали. В том же году сервер CST демонстрировался на выставке в ЛенЭкспо.
- Факторы выгоды
- Вам очень пригодится «Разработка ценностных предложений», если…
- Благодарности
- Как узнать прогноз погоды?
- Благодарности.
- Погода в доме. О внутренней оптимизации
- Юра (2009 год)
- То, благодаря чему все это работает
- Чем это выгодно
- ФЕДЕРАЛЬНЫЙ ЗАКОН от 13 марта 2006 г. № 38-ФЗ «О рекламе» 13 марта 2006 года № 38-ФЗ