Photo особого коммерческого успеха не имело, хотя эта тема была довольно популярной некоторое время назад. Правда, там исследовался несколько другой подход - встроить СУБД не в операционную систему, а осуществить ее (СУБД) аппаратную реализацию. Были даже коммерческие версии, предлагаемые на рынке. Однако рынок их не принял. Значит, что-то не то. Универсальные компьютеры оказались более удобными, производительными и дешевыми.

С момента, когда исследователи занимались созданием машин баз данных, прошло немало времени. Сейчас ситуация изменилась. Появилось много нового. Многие сервисы операционных систем (связанные, в основном, с сетевыми механизмами), бывшие раньше отдельными продуктами, стали неотъемлемой частью этих систем. Может быть, пришло время и для СУБД? Может быть, как не раз это происходило ранее, идея, отвергнутая сообществом в момент своего появления, все-таки будет реализована, пусть даже несколько видоизменившись. Попробуем оценить плюсы и минусы такой интеграции.

Вначале несколько слов о недостатках.

Один из главных - необходимость платить при покупке операционной системы и за СУБД, которая в нее встроена. Вещь серьезная, но не смертельная. Все равно подавляющее большинство серверов уровня предприятия (а здесь под операционной системой я понимаю систему корпоративного сервера) или подразделения используется как серверы баз данных. Так что покупать СУБД приходится так или иначе. Другое дело, что потребитель лишается права выбора, какой продукт ему использовать в качестве СУБД. Это уже намного хуже. Ведь рынок систем баз данных монополизирован меньше, чем рынок операционных систем (корпоративных серверов данных на рынке предлагается несколько десятков, а операционных систем?). Хорошо известно, насколько болезненно реагируют производители программных средств на попытки включения в стандартную поставку ОС тех или иных средств. Такие попытки периодически предпринимаются и всегда бурно обсуждаются всеми заинтересованными сторонами.

Другой недостаток - "монстровость" полученного программного комплекса. Системы баз данных по своей сложности и объему нисколько не уступают операционным системам. Что же будет, если все это объединить? Несмотря на то что некоторые функции операционных систем фактически дублируются в СУБД, результат все равно будет впечатляющим. Кто все это хозяйство будет сопровождать и администрировать?

Теперь о достоинствах. Их немного, но они есть.

Первое из них - обратная сторона главного недостатка. Не нужно заботиться о выборе СУБД. Все приходит "в одном флаконе", предустановленное и сконфигурированное. Достоинство, может быть, и сомнительное, однако для многих предприятий такой подход был бы весьма удобен. За вас уже все решено. Одной проблемой меньше. Не нужно ломать голову, сравнивая цены и результаты тестов для продуктов множества поставщиков. Все унифицировано. Готовя специалистов по конкретной операционной системе, можно сразу же растить кадры и для работы с базами данных, все равно они понадобятся.

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

Еще одним потенциальным плюсом встраивания СУБД в операционную систему может стать использование возможностей систем баз данных самой ОС. Почему бы, например, не использовать СУБД для реализации файловой системы? Транзакционные свойства уже давно и успешно используются в некоторых файловых системах. Может быть, стоит пойти дальше и хранить все данные в базах данных, а не в файлах? С учетом того, что ведущие производители систем баз данных перерабатывают свои продукты, которые могут теперь хранить данные произвольных типов, звучит это не так фантастично, как кажется на первый взгляд.

Уже довольно длительное время наиболее развитые продукты систем баз данных отказались от использования некоторых механизмов операционных систем и самостоятельно их реализовали. Естественно, в целях увеличения производительности. В качестве примеров можно указать на неиспользование файловых систем ОС в ряде случаев и практически повсеместную собственную буферизацию в серверах баз данных. Если они (серверы баз данных) делают некоторые вещи лучше, чем операционные системы, может быть стоит это использовать?

Все-таки, несмотря на то что у такого подхода к сосуществованию систем баз данных и ОС есть определенные преимущества, мне кажется, что в обозримом будущем такого сращивания не произойдет. И не столько по техническим, сколько по политическим мотивам. Никто не даст исчезнуть такому крупному сегменту компьютерной отрасли, как СУБД. На этом сегменте много крупных игроков, и они сумеют за себя постоять. Системы баз данных возникли лишь немногим позднее, чем операционные системы, и очень трудно представить, что эти два класса продуктов когда-нибудь объединятся в "операционную систему управления базами данных".


Андрей Волков - главный редактор журнала "Системы Управления Базами Данных". С ним можно связаться по электронной почте: volkov@osp.ru