Необходимы ли России свои СУБД?
Ответ на этот вопрос определяется тем, каким нам видится будущее России. Конечно, всем хотелось бы, чтобы Россия стала экономически развитой страной. Но требуется ли для этого создавать отечественные технологии?
Согласно рейтингу стран по уровню жизни, составленному исследователями ООН [1], отсутствие собственного системного ПО — не преграда для экономического развития. Например, отсутствие своей СУБД не помешало Норвегии в 2006 г. стать страной с максимальным индексом уровня жизни. Из этого источника также следует, что и ядерная бомба не нужна стране, чтобы обеспечить высокий уровень жизни граждан. Современные оружие и технологии нужны для того, чтобы страна была сильной. А сильной России нужны мощные СУБД!
Об уровне экономического развития страны в условиях глобализации следует судить по соотношению используемого в ней интеллектуального и физического труда. Развитое государство с высоким интеллектуальным потенциалом создает собственные технологии, поэтому и России нужны свои СУБД.
Имеется ли в нашей стране развитая инженерная школа?
Конечно, недостаточно одного желания иметь отечественные технологии, для этого необходимы знания. А в России существует развитая инженерная школа, основанная на фундаментальных исследованиях [2]. К тому же хороший задел есть не только в области построения процессоров и операционных систем, но и создания СУБД. В энциклопедии М.Р. Когаловского [3] перечислено множество СУБД, созданных в СССР, а также организаций-разработчиков.
Судить о том, достаточно ли хороши были эти СУБД, помогут следующие примеры. Так, отечественная трехпроцессорная ЭВМ, входящая в противоракетные комплексы С-300, дошла до наших дней; воронежская СУБД, ведущая свою историю с начала 80-х годов, до сих пор используется во многих организациях силовых ведомств. Наше аппаратное обеспечение на определенных этапах не догоняло, а опережало зарубежное. В свое время СУБД ЛИНТЕР обгоняла нынешних лидеров рынка. Например, на CeBIT’96 вложенные запросы и каскадное обновление весьма их удивили — тогда они такого еще не реализовывали.
Почему это было возможно? Скорее всего причина успеха кроется в хорошей академической базе. Так, в Воронеже, где создана упомянутая выше СУБД, в советские времена было более десяти высших учебных заведений, и он считался городом студентов (см. об этом материалы на форуме sql.ru [4]). Электронные предприятия Воронежа предоставляли аппаратную базу, там локализовали VAX/VMS. Аппаратное обеспечение производили на воронежском заводе «Процессор». В этом так же принимали участие НПО «Электроника», «Энергия», «Видеофон», 5-й ЦНИИ МО, Воронежский НИИ связи (ныне головное предприятие концерна «Созвездие»), Механический завод, КБ «Хим-автоматика» (жидкостные ракетные двигатели), заводы ВЭЛТ (в то время крупнейший в Европе производитель кинескопов), «Электросигнал», Авиационный завод (где собирали и испытывали Ил-2, Ту-144, Ил-86, Ил-96) и проч. В общем, весь город существовал на высоких технологиях, и его предприятия нужно было обеспечивать квалифицированными кадрами.
Именно хорошим образованием и отличались российские программисты от зарубежных. Наши разработчики четко представляют себе проблему, с которой могут столкнуться в будущем они сами или пользователи, поэтому проявляют изобретательность, делают программу, удобную для людей, а не только хорошо продающуюся. Что же характерно для программистов, которые, находясь в блокаде зарубежных СУБД, продолжают развивать отечественное СУБД-строение? Самое главное — у них есть серьезная школа программирования.
Нынешнее состояние российских СУБД
Известно, что в основном покупатели берут не базы данных, а приложения, это подтверждает легендарный Майкл Стоунбрейкер [5]. А в России это происходит в гипертрофированной форме — почти все отечественные СУБД удается продать лишь вместе с приложениями. Так, С.С. Ковалевский, заместитель председателя Фонда социального страхования РФ, внедрил в Единую информационную систему этого фонда СУБД HyTech, разработанную им вместе со специалистами из МИФИ [6]. Только в составе приложений продаются иерархическая СУБД «Ника» и сетевая СУБД CronosPlus.
Из старых СУБД лишь ЛИНТЕР является тиражным продуктом.
Часто упоминаемая в печати СУБД Линтер-ВС 6.0 была создана на основе СУБД ЛИНТЕР 5.7, а затем Институт непромышленных сфер, доработал в части безопасности СУБД PostgreSQL, присвоил ей имя Линтер-ВС [7].
По пути адаптации СУБД с открытым кодом пошла и российская компания «Ред Софт», которая на основе Firebird 2.0 выпустила СУБД «Ред База Данных» версии 2.0 [8].
Следует заметить, что в создании многих СУБД с открытым кодом участвовали и разработчики из России, причем даже в качестве ведущих специалистов. Следовательно, наши программисты обладают достаточными знаниями в области современных технологий баз данных. Компания «Ред Софт» уже делала предложения ведущим разработчикам проекта Firebird присоединиться к своей команде [9].
Проблемы развития российских СУБД
С одной стороны, использовать зарубежные СУБД, которые не прошли сертификацию на уровень, достаточный для работы с секретной информацией рискованно, поскольку велика вероятность наличия в них недекларированных возможностей. С другой стороны, информационных систем, основанных на таких СУБД, подавляющее большинство [10]. Так, никто не спешит заменять Oracle отечественными разработками. Например, в конкурсной документации, предлагаемой при создании программных средств единой государственной автоматизированной информационной системы учета объемов производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции, прямо указано на необходимость использования Oracle [11].
Более высокая защищенность отечественных разработок в большинстве случаев не является основной причиной их внедрения, а вот востребованность бизнесом может иметь решающее значение при выборе СУБД.
Здравомыслящий руководитель ИТ-службы любой коммерческой структуры выберет то ПО, с которым работает большинство аналогичных организаций, которое внедрено у конкурентов и которое, по его мнению, не добавит забот из-за имеющихся в нем ошибок. К сожалению, российские программы до сих пор ассоциируются с большим количеством ошибок, чем в зарубежных аналогах.
Хорошая отлаженность зарубежных программ обусловлена, в частности, тем, что количество их внедрений как минимум на порядок больше, чем отечественных. Получается зам-кнутый круг — люди покупают более популярные программы, тем самым распространяя их еще шире. Подобная ситуация характерна не только для отечественных и зарубежных программных продуктов, но и для зарубежных крупных и малых фирм-разработчиков. Многие зарубежные производители СУБД прекратили свое существование или трансформировали бизнес в OpenSource под натиском «слонов» (вроде Oracle, IBM или Microsoft).
Тем не менее за рубежом все же появляются новые СУБД, так что и у российских СУБД есть перспективы.
Источники жизни отечественных СУБД
Как говорилось выше, сейчас многим пользователям, особенно занятым в бизнесе, требуются приложения, и они не обращают должного внимания на СУБД. Чтобы убедить разработчиков приложений использовать не очень широко распространенную СУБД, нужно представить ее преимущества.
Допустим, вышла новая версия ОС, а производитель применяемой в приложении СУБД отказался от ее поддержки. Возникает серьезная проблема, и ее обычно решают переводом приложения на другую СУБД. Однако она должна работать не хуже предыдущей, издержки по портированию приложения на нее должны быть минимизированы, а цена новой СУБД — остаться не выше прежней.
Рассмотрим для примера такую ситуацию. Во многих автоматизированных системах (АС) использовалась операционная система QNX 4.x в связке с СУБД компании Sybase. Новая QNX 6.x вышла без соответствующей версии СУБД, и разработчики АС оказались перед выбором следующих путей:
-
не переходить на новую ОС, что, как правило, не обсуждается, ведь следует идти в ногу с производителем ОС;
-
использовать новую ОС в связке с продвигаемой вместе с QNX СУБД Empress, которая значительно отличается от привычных СУБД, поскольку предназначена для более жесткого учета реального времени, чем в случае с Sybase SQL Anywhere 5.5, и, значит, потребуется дорогостоящий процесс портирования при дальнейшем развитии АС;
-
применять QNX 6.x с СУБД ЛИНТЕР, поддерживающей множество программно-аппартных платформ и работающей в их среде в основном одинаково, как и подобает универсальной СУБД, к которой все привыкли и которая имеет специальные возможности для функционирования в реальном времени.
Большинство разработчиков, столкнувшихся с такими затруднениями, предпочитают последний из представленных путей. Обычно их устраивает то, что ЛИНТЕР сертифицирована во ФСТЭК на практически максимальный уровень защиты.
М. Стоунбрейкер указывает и другие области, в которых может потребоваться смена СУБД, — при разработке хранилища данных, системы потоковой обработки данных, системы работы с текстом и т.д. Он полагает, что невозможно удовлетворить перечисленные рынки «безразмерными» СУБД (иначе — «слонами»), которые в статье «СУБД для специализированных систем» названы универсальными [12]. По сути, М. Стоунбрейкер утверждает, что — специальным системам нужны специальные СУБД.
Поэтому развитие отечественного СУБД-строения определяется требованиями и возможностями нового аппаратного обеспечения. Из-за упадка, произошедшего в российской микроэлектронике, у нас значительно сократилось и создание отечественного системного ПО. Но, значит, надежда на возрождение еще есть.
На сайте японской компании Brycen (www.linter.jp ) сообщается, что российская СУБД Linter, поставляемая в Японию с 2001 г., встраивается в домашнюю бытовую технику крупнейших японских производителей. Почему довольно консервативные и высокотехнологичные японцы предпочли прочим воронежскую СУБД? Да потому, что практичные бизнесмены выбирают то, что максимально соответствует решаемой задаче. Дело в том, что эта СУБД разрабатывалась тогда, когда программисты бережно относились к вычислительным ресурсам. Она получилась компактной и как нельзя лучше подходила для маломощных компьютеров, которыми японцы оснастили свои домашние кинотеатры. Эти развлекательные центры, несмотря на наличие жесткого диска, остались обычными бытовыми приборами. Их можно выключить, выдернув кабель питания из розетки. Японские специалисты сравнили несколько СУБД и остановились на той, которая работала в условиях ограниченных ресурсов и наилучшим образом выдерживала многократное аварийное выключение. Сейчас эта российская СУБД внедряется в бытовую технику, в сотовые телефоны, в автомобильные навигационные системы и прочие устройства, разрабатывающиеся в азиатских странах.
Японцы называют Linter эпохообразующей СУБД и заявляют, что это стандарт де-факто для мобильных телефонов, систем оплаты за парковку, развлекательных аудиовидеокомплексов, автомобильных навигационных систем и другого подобного оборудования.
Такое мнение вполне обоснованно. На сайте компании Brycen [13] разъясняется, что на рынке портативных и мобильных устройств, терминалов «умного дома», цифровых домашних установок развернулась жесткая конкурентная борьба между крупными производителями, поставляющими продукцию по всему миру. Свидетельство тому — резкое падение цен на электронику массового спроса.
Компании, предлагающие такие устройства, постоянно улучшают их характеристики, добавляют возможности, проводят диверсификацию и расширяются. Скорость разработки нового продукта влияет на успех (или провал) выведения продукта на рынок, поэтому для его создателей ставятся задачи, обусловленные требованиями покупателей. В такой ситуации удачное программное обеспечение является главным фактором, быстро улучшающим продукт.
И здесь возникают большие проблемы, связанные с системным ПО. Встраиваемые системы до XXI в. обходились без СУБД, но сейчас реляционная СУБД востребована embedded-системами. Очень скоро она войдет в повседневную жизнь каждого и станет привычной, но для конечного пользователя она невидима.
Японцы не менее серьезно наблюдают за развитием современной мировой автомобильной индустрии. На их взгляд, одним из самых важных его направлений является предоставление автовладельцам различных мультимедийных функций, таких как воспроизведение музыки с как можно более высоким качеством, инте-грация с портативными устройствами воспроизведения звука, изображений, DVD и т.д. Чтобы обеспечить такие возможности, в портативное оборудование необходимо встраивать СУБД, созданные на базе передовых технологий. Японская компания Kenwood уже включила российскую СУБД в выпускаемые ею автомобильные навигационные системы HDV-990 и HDV-790.
Почти то же самое происходит и в индустрии мобильных телефонов. Продолжается разработка высокоуровневых функций развлечения. Современным японцам уже недостаточно возможностей фотосъемки и воспроизведения музыки, теперь требуются высокое качество изображения и звука, быстрое воспроизведение анимированных картинок. Создаваемые сейчас в Японии миниатюрные устройства отличаются огромной функциональностью, возможностью хранения больших массивов данных и высокой скоростью обработки. Все это обеспечивают РСУБД встраиваемые в мобильные телефоны. Например, в аппаратах S0903i и S0703i, выпускаемых под торговой маркой Sony Ericsson, используется СУБД ЛИНТЕР.
Заключение
Следовательно, можно сделать вывод что, если бы в России производили современное оборудование, портативные и мобильные устройства для широкого потребления, спрос на российское системное ПО стал бы гораздо выше. И если бы у нас разрабатывали свои процессоры и операционные системы, свою вычислительную технику массового спроса, то непременно понадобились бы и новые российские СУБД. Но и при существующем положении к российским разработчикам обращаются с просьбой создать специальные СУБД. Подробно о таких разработках, как правило, не рассказывается, поскольку подписываются соглашения о неразглашении, но уже известно, что в России подобные заказы выполняются.
Будем надеяться, что нанотехнологии или производство транспьютеров приведут отечественных специалистов к необходимости разрабатывать новое системное ПО. Именно такой путь — наиболее естественный и правильный, ведь не надо объявлять дополнительные национальные проекты или запрещать зарубежное ПО, достаточно развивать российскую промышленность и налаживать у нас производство вычислительной техники. Будет ли это необходимость для бизнеса или оборонная инициатива — для ПО это не столь важно. Главное, что аппаратное обеспечение потянет за собой необходимое программное, а к этому мы готовы.
Сейчас, например, серийно выпускаются компьютеры с несколькими процессорами, а в дальнейшем нанотехнологии на порядки увеличат количество процессоров в одном компьютере. СУБД должна максимально использовать эти возможности распараллеливания. В России уже проведены соответствующие исследования. Grid-вычислениям мы сможем сопоставить СУБД, основанную только на битовых операциях. Данные в этой СУБД хранятся в таком виде, что одновременно являются индексом, т.е. индексы как таковые в ней отсутствуют, нет журнала, нет конвертеров, нет процесса сортировки и т.д., а база очень сжата. В ней незначительные требования к пулу обработки, так как выполнение запроса — последовательность коротких и четко определенных элементарных операций над бит-векторами. Не нужен оптимизатор, предусмотрены малая зависимость от данных и их быстрая модификация, легко оцениваемое время выполнения запросов, которые, что самое важное, распараллеливаются на все доступные процессоры.
Литература
1. Human development index, http://hdr.undp.org/hdr2006/pdfs/report/HDR_2006_Tables.pdf
2. Богатырев Р. Нужна ли России своя операционная система? // Мир ПК. 2007. №7, 8
3. Когаловский М.Р.. Энциклопедия технологий баз данных. М.: Финансы и статистика, 2002.
4. Форум SQL.RU, топик «Сравнение СУБД», http://www.sql.ru/forum/actualthread.aspx?tid=354796&pg=2
5. Беседа Марго Зельцер с Майклом Стоунбрейкером. Перевод С. Кузнецова, http://citcity.ru/16453/
6. Распределенный «Соцстрах», http://www.fss.ru/ru/fund/social_insurance_in_russia/15922/16012.shtml
7. Линтер-ВС и отличия от ЛИНТЕР, http://www.linter.ru/linter_vs_rus.php
8. Новость «Ред Софт» от 15 августа 2007, http://www.red-soft.biz/ru/node/81
9. Открытое письмо генерального директора «Ред Софт», http://www.red-soft.biz/ru/firebird_future
10. Мартиросян С. Российское системное ПО все еще существует, http://www.silicontaiga.ru/home.asp?artId=7231
11. Открытый конкурс на разработку ЕГАИС, http://www3.pgz.economy.gov.ru/trade/view/purchase/general.html?id=104974251
12.Борисов В., Максимов В. СУБД для специализированных систем // Мир ПК. 2007. №5, http://www.osp.ru/pcworld/2007/05/4268606/prinver.htm
13. Заявление о мировом стандарте на РСУБД для embedded-систем, http://www.linter.jp/topics/20061225.html
Японцы называют ЛИНТЕР эпохообразующей СУБД и заявляют, что это стандарт де-факто для мобильных телефонов, систем оплаты за парковку, развлекательных аудиовидеокомплексов, автомобильных навигационных систем и другого подобного оборудования.
В создании многих СУБД с открытым кодом участвовали и разработчики из России, причем даже в качестве ведущих специалистов.
Если бы в России производили современное оборудование, портативные и мобильные устройства для широкого потребления, спрос на российское системное ПО стал бы гораздо выше.