Одной из главных составляющих своей деятельности Кен Джакобс — доктор DBA — считает общение не только с менеджерами фирм-клиентов Oracle, но и с простыми техническими специалистами на конференциях, выставках, встречах. Он ведет интерактивную радиопрограмму на Oracle E-Business Network (/ebusinessnetwork/drdba), обсуждая со слушателями самые разные проблемы разработки и развертывания приложений баз данных. Джакобс — один из старейших сотрудников Oracle, при его участии в 1981 году открывался офис компании в Вашингтоне. Около десяти лет назад Джакобс впервые побывал в Москве; его презентацию на конференции российской группы пользователей Oracle некоторые ее участники вспоминают и сегодня. Новый визит в начале сентября был частным, Джакобс просто хотел посмотреть на обновленные Москву и Санкт-Петербург и нашел время для беседы с редактором журнала «Открытые системы.СУБД».

- Вы работаете в компании почти с самого основания. Расскажите, пожалуйста, об истории СУБД Oracle.

В июле я отметил 25-летие своей работы в Oracle. Конечно, за четверть века с компанией произошли большие изменения. Компания была основана в 1977 году. Незадолго до этого Ларри Эллисон со своими коллегами работал над правительственным проектом под названием Oracle, и это название было взято для нового программного продукта, который был выпущен в 1979 году. Это была система управления базами данных, основанная на результатах исследовательского проекта System R, который вела корпорация IBM. В этом проекте использовалась реляционная модель данных, предложенная Эдгаром Коддом, и был разработан язык запросов SQL. Таким образом, наша компания выпустила самую первую коммерческую реляционную СУБД и впервые реализовала язык SQL. В то время очень волнительно было ощущать свою принадлежность к настоящей революции, которая полностью изменяла подходы к управлению базами данных.

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

Кен Джакобс: «Если бы у нас не было способов хранения и управления информацией, компьютеры нам особенно и не были бы нужны»

Очень важной реализацией стала версия 6. В ней вновь была полностью изменена архитектура системы с целью обеспечить большую масштабируемость и готовность. Появились такие возможности, как блокировка на уровне строк, поддержка SMP-платформ, были заложены основы принципиально важной для Oracle технологии, которая сегодня носит название Real Application Clusters. Напомню, что RAC обеспечивает доступ к базе данных с множества компьютеров, даже если они не разделяют общую память. В это время, в конце 80-х, ситуация для Oracle складывалась довольно напряженная. Возникли определенные финансовые проблемы, сложности с программными продуктами, значительно обострилась конкуренция на рынке. Однако, несмотря на все трудности, была выпущена версия 7, в которой были реализованы значительные технологические усовершенствования СУБД, в том числе хранимые процедуры, триггеры, обеспечение целостности. В последующих версиях — 8i, 9i, 10g — система Oracle продолжала совершенствоваться. Сегодня это СУБД, которая используется как для создания высококритичных транзакционных приложений, так и для построения больших хранилищ данных. Среди других игроков рынка мы, несомненно, выделяемся наличием комплекса технологий для поддержки grid-вычислений в последней версии Oracle 10g. Это последнее и наиболее значимое нововведение Oracle, которое позволяет компании оставаться на переднем крае рынка баз данных.

- А как возникла идея корпоративной среды grid?

Как я сказал, около 10-15 лет назад мы работали над идеей кластеров: несколько компьютеров получают одновременный доступ к общей базе данных на диске. Потребовалось немало времени, чтобы преодолеть ряд проблем, возникших при реализации этого решения, сделать его масштабируемым, надежным, простым в использовании. Именно технология RAC имела критическое значение для реализации Oracle 10g. Но чтобы прийти к более глобальному решению, которое мы называем grid computing, необходимо было сделать систему более динамичной, научиться добавлять узлы в кластер, разделять рабочую нагрузку между узлами кластера, автоматически выполнять динамическую балансировку нагрузки ввода/вывода для всех файлов баз данных, размещенных в сети хранения. Мы должны были реализовать концепцию выделения ресурсов по необходимости — серверов, систем хранения, сервисов баз данных, серверов приложений. Все это важнейшие компоненты grid computing, которые появились в версии Oracle 10g, что символизирует буква g в названии.

А с точки зрения заказчиков реализация grid-технологий означала снижение стоимости вычислений, возможность использовать большее число меньших по размеру машин, создавать пулы ресурсов, которые могут динамически выделяться, когда у бизнеса возникает в них необходимость. Это позволяет для построения масштабных систем использовать дешевые, доступные аппаратные платформы вместо больших компьютеров. Мы получаем возможность строить огромные хранилища данных, мощные системы обработки транзакций на базе совсем недорогих компонентов. Однако, чтобы все это работало, необходимо автоматизированное управление, которое обеспечивает самоуправление узлов кластера вместо того, чтобы управлять одним узлом в каждый момент времени, и единое представление всей среды grid для администратора.

- Очередная версия, Oracle 10g, выпущена уже три года назад. Что нового происходит с СУБД Oracle в последнее время?

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

- Идея корпоративной grid-среды во многом необычна — насколько успешно ваши клиенты воплощают ее в жизнь?

Адаптация идет очень активно. Компании начинают с небольших, двухузловых кластеров и постепенно, добавляя узлы, переходят ко все более масштабным системам, разворачивают на них больше приложений. Сейчас самый быстрорастущий бизнес Oracle связан с RAC, то есть с основой grid computing. Одно из самых больших хранилищ данных мире, принадлежащее компании Amazon.com, размеры которого составляют десятки терабайтов, использует grid-технологии от Oracle. И это только один пример.

- Сегодня SOA рассматривается как наиболее перспективная инфраструктурная платформа. Что вы думаете о роли баз данных в среде SOA?

Важный вопрос. Можно сказать, что в ИТ есть два сообщества: разработчики и администраторы баз данных, которые решают проблемы развертывания и эксплуатации систем, и разработчики приложений, которых интересует бизнес-логика, компонентная архитектура и т.д. И иногда они существуют как два совершенно не связанных между собой мира. Однако очень важно, как мне кажется, чтобы представители этих двух лагерей стремились общаться и понимать друг друга. С моей точки зрения, значение данных огромно, приложения, работающие с данными, никуда не денутся, данные — это навсегда. Поэтому очень важно иметь такой дизайн баз данных, который будет поддерживать не только сегодняшние приложения, но и завтрашние. Необходим целостный дизайн для всей ИТ-архитектуры: четко определенные компоненты приложений, продуманный дизайн базы данных и средства отображения структуры базы данных на бизнес-объекты, которые используют приложения. Крайне важно поддерживать целый стек технологий, от систем управления базами данных до средств промежуточного слоя и вплоть до приложений, полностью интегрированный с точки зрения надежности работы, безопасности, управления. Преимущество решений Oracle как раз и состоит в возможности предоставить такой стек программных продуктов, обеспечивающий их оптимальную совместную работу.

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

- Сервисные архитектуры призваны решить проблемы не только интеграции приложений, но и интеграции данных. В настоящее время на предприятиях накоплены огромные массивы данных, и значительная часть из них неструктурирована. Что может предложить Oracle для интеграции и управления такими типами данных?

Исторически мы концентрировались на структурированных данных, размещенных в строках и столбцах. Но действительно, огромные объемы данных неструктурированы — тексты, XML-данные, изображения и т.д. Мы уже длительное время инвестируем значительные средства в эту область. В рамках СУБД у нас есть механизм, называемый XML DB, который позволяет хранить XML-документы, использовать язык запросов к XML-данным XQuery, сопоставлять XML-документы с XML-схемами. Это уже важный вклад в управление неструктурированными данными. Недавно мы выпустили систему Content DB, созданную для хранения документов и управления ими на протяжении всего жизненного цикла. Это дает возможность работать с документами, хранящимися в базе данных, так, как если бы они хранились в настоящем репозитарии контента со всеми необходимыми атрибутами — механизмами защиты, поддержкой версионности, операциями check-in/check-out. Система Content DB реализована на базе сервис-ориентированной архитектуры, и можно создавать приложения, которые будут работать с хранилищем контента Content DB и интегрироваться с бизнес-приложениями для поддержки потоков работ, управления документами и т.д. В Oracle есть и другие возможности для работы с неструктурированным контентом, например Advanced Data Types, которые используются для определения типов данных. Управление контентом — очень важная и быстро развивающаяся область. Сейчас все большее значение приобретают нормативные требования к управлению жизненным циклом документов, что дает еще одну прекрасную возможность развивать свой бизнес в этом направлении.

- Корпорация IBM, анонсировав недавно новую версию DB2 под кодовым названием Viper, также заявляет о поддержке XML и реляционной модели данных в рамках одной СУБД. В чем отличия подхода Oracle к управлению XML-данными?

Должен сказать, что я очень удивлен тем шумом, который IBM создает вокруг поддержки XML. И еще более я удивлен тем, что некоторые аналитики и представители прессы воспринимают это как нечто совершенно новое. Oracle предоставляет поддержку возможностей XML в СУБД начиная со второго релиза Oracle 9i, то есть уже около пяти лет. IBM говорит о создании СУБД, ориентированной на хранение и обработку XML. Но для пользователей, по существу, не важно, каким способом XML-данные представлены внутри базы данных. Что действительно имеет значение, это то, каким образом приложения видят эти данные, для чего они их используют, реализует ли СУБД такие средства, как XQuery, XML Schema и т.п. С этой точки зрения Oracle обеспечивает полную поддержку XML.

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

- Последнее время Oracle ведет довольно агрессивную политику приобретения других компаний, и среди них — несколько производителей СУБД, в том числе TimesTen. Что получила платформа баз данных Oracle в технологиях этой компании?

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

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

- Чем рынок встраиваемых СУБД интересен для Oracle?

Мы не присутствовали в этом сегменте раньше. Его развитие мало связано с «мейнстримом» рынка баз данных и идет по нескольким направлениям. Мы можем говорить о встраивании СУБД в корпоративные приложения или в различные устройства. Но, по нашему мнению, этот рынок предоставляет определенные перспективы, хотя его объемы и невелики по сравнению с остальным нашим бизнесом.

- Среди ваших недавних покупок — производители СУБД с открытым кодом Sleepycat и Innobase. Сейчас многие крупные ИТ-компании проявляют большой интерес к движению Open Source. Что привлекает в нем Oracle?

Open Source — интересный феномен. В нем нет ничего фундаментального, что сделало бы это направление интересным само по себе. Это просто иной способ разработки программного обеспечения. Наша компания оказывала большую поддержку определенным направлениям движения Open Source, в частности способствовала функциональным усовершенствованиям Linux в качестве платформы для приложений баз данных и самих баз данных, которые создали предпосылки к тому, что ОС Linux стала интересна предприятиям. Мы рассматриваем Open Source как еще одно направление развития программного обеспечения и хотим быть частью этого движения. Для Oracle открытые коды — это возможность предоставить новые сервисы для наших заказчиков и развивать свой бизнес.

- Реляционные базы данных существуют уже почти 30 лет. Каковы основные вехи этого долгого пути? И не ожидают ли нас в ближайшем будущем какие-либо революционные перемены в этой области ИТ?

Я считаю реляционную модель столь же фундаментальной и важной для теории и практики баз данных, как арифметика для математики. В определенный момент возникло ощущение, что объектно-ориентированные СУБД вытеснят реляционные. Что же произошло на самом деле? Продукты типа Oracle включили в себя расширения и возможности для реализации определенных средств объектно-ориентированных СУБД, но сам этот рынок, по существу, исчез. То же самое происходило и с другими новшествами — возможностями размещения в базах данных текстов, пространственных данных, XML. Что касается основных этапов развития реляционной модели, я думаю, самым важным этапом была работа Кодда в 1970 году, которая заложила теоретические основы реляционных баз данных. Я бы сравнил его роль в развитии программного обеспечения с ролью Эйнштейна в физике. Пожалуй, это единственная веха, которая действительно имела значение. Я не думаю, что реляционная модель эволюционировала, но эволюционировали продукты, разработчики которых воспользовались плодами реляционной революции.

- Вас называют «доктор DBA». Наверное, вы знаете о базах данных все. Что вас больше всего привлекает в этой работе?

Полагаю, то, о чем я уже говорил: «Данные — это навсегда». Это вообще главная причина появления компьютеров. Если бы у нас не было способов хранения и управления информацией, компьютеры нам особенно и не были бы нужны. Чтобы играть в игры, строить графики, делать вычисления, нужно где-то хранить результаты. А бизнес не смог бы существовать без управления. Так что данные — фундаментально важная часть информационных технологий, по моему мнению, гораздо более важная, чем аппаратное обеспечение, операционные системы или приложения. Для меня наиболее увлекательно в этой работе — встречаться с заказчиками, помогать им понимать, как базы данных используются в приложениях, и осознавать, насколько широки области применения технологий управления данными с точки зрения охвата индустрий и приложений. В базах данных постоянно появляются какие-то новшества, усовершенствования. Одна из наиболее перспективных областей — Semantic Web, семантические сети для поддержки новых способов работы с данными, представления сложных онтологий, манипулирования данными любой структуры. И нет никаких причин не реализовать это в реляционных СУБД. Это один из примеров эволюции технологий баз данных, и это постоянное развитие не может не увлекать. Кроме того, я работаю с замечательными людьми. Это были великолепные 25 лет.