Доктор Джеймс Н. Грей - известный специалист по компьютерным системам обработки транзакций и базам данных. Грей основал исследовательский центр корпорации Microsoft - Bay Area Research Center (BARC), сотрудники которого работают над созданием из массовых компьютеров и программного обеспечения высокомасштабируемых и надежных модульных архитектур - от систем уровня рабочих групп до гигантских суперсерверов. Такие серверы собираются из «киберкирпичиков», которые дают возможность постепенно наращивать вычислительные ресурсы и ресурсы хранения. Сейчас Джим со своими коллегами ведет компьютерную систему, способную выполнять миллиард транзакций в день. Под его руководством сформирована терабайтная база данных, в которой хранятся полученные с российских и американских спутников фотографии поверхности земного шара, снятые с точностью до 1 м.
До прихода в Microsoft Джим работал в корпорациях Digital Equipment, Tandem Computer, IBM и AT&T над проектами, связанными с базами данных, обработкой транзакций и операционными системами. Он участвовал в выпуске ряда монографий, в том числе выступил редактором «Справочника по производительности систем баз данных и обработки транзакций» (Performance Handbook for Database and Transaction Processing Systems), а также соавтором книги «Концепции и методы обработки транзакций» (Transaction Processing Concepts and Techniques). Грей - автор многих технических статей, часто выступает с лекциями в различных университетах.
В октябре Джим Грей ответил на вопросы нашего журнала.
- Назовите три наиболее значимых, с вашей точки зрения, достижения в области баз данных за последние пять лет.
1. ПРОСТОТА эксплуатации баз данных. Сегодня установка и администрирование баз данных - гораздо менее сложный процесс, чем это было несколько лет назад. Проектирование и управление базой данных в значительной степени автоматизированы.
2. Алгоритмы добычи данных и визуальные средства, позволяющие аналитикам быстро находить нужную информацию и своевременно выявлять неисправности.
3. Интеграция традиционных баз данных с мультимедийными технологиями, создавшая необходимые предпосылки для хранения мультимедийной информации.
- Что вы думаете об объектных расширениях реляционных баз данных? Каковы перспективы подобных технологий?
Помимо того что объектные расширения существенно отличаются от «стандартных» моделей C++/Java/CORBA/COM, они снижают общую производительность. Объектные расширения возводят дополнительные барьеры между системами управления базами данных и языками программирования. В то же время механизмы OLE DB или SQLJ, обеспечивающие интеграцию объектной модели SQL с языками и системной объектной моделью, являются очень мощными средствами и вполне заслуживают упоминания среди трех ранее названных мною наиболее значимых достижений.
- Прошло ли время объектно-ориентированных баз данных, или их эра только начинается?
На самом деле эра объектно-ориентированных баз данных никогда и не начиналась. Сфера влияния технологий построения объектов (C++, CORBA, COM, OLE, Java) гораздо шире области применения БД. В базах данных должны храниться объекты, созданные приложениями. А авторы этих приложений не хотят использовать специфическую объектную модель производителя БД. Они применяют популярные и широко распространенные модели (например, DCOM или CORBA).
- Как вы относитесь к той огромной популярности, которой пользуется Java среди крупнейших производителей систем управления базами данных?
По-моему, Java - очень симпатичный язык программирования. Конечно, как сам язык, так и его утилиты пока не могут претендовать на достаточную зрелость (отсутствуют шаблоны, затруднена организация взаимодействия с другими языками, библиотеки не отличаются разнообразием функций). Корпорация Microsoft работает над совершенствованием Java, стремясь придать ему мощь и простоту языка Visual Basic. Мы пытаемся интегрировать Java в программную модель DCOM. Если данные задачи будут решены, Java станет реальным претендентом на статус самого полезного языка программирования. Но реализация этих планов потребует времени, и пользователям придется подождать еще хотя бы год или два.
- Как вы считаете, какие технологии распределенной обработки информации обладают наибольшими перспективами? Что вы думаете по поводу CORBA и COM?
Мне нравится COM, но DCOM выглядит лучше. А больше всего я люблю COM+. Корпорация Microsoft очень быстро совершенствует технологию, на основе которой уже сегодня можно создавать весьма неплохие решения. Архитектура CORBA лично мне кажется незавершенной. У нее недостаточно проработаны детали (сборка мусора, система безопасности, транзакции, служба имен). В то же время отдельные аспекты CORBA нашли отражение в технологиях Java/RMI/IIOP. Если бы модели IBM и SunSoft развивались так же быстро и эффективно, как модель Microsoft COM+, тогда было бы интересно сравнить конечные результаты.
- Как вы думаете, будет ли в следующем году принят стандарт SQL-3? Если да, то как это отразится на технологиях SQL Server и других СУБД?
В данном случае мне не хотелось бы выступать в качестве эксперта. Всегда очень сложно прогнозировать действия организации, принимающей стандарты. А вот предсказать реакцию производителей баз данных на появление стандарта SQL3 не составляет особого труда. Наверняка произойдет то же самое, что уже не раз бывало после принятия более ранних стандартов: компании возьмут на вооружение ту часть стандарта, которая покажется им важной, и проигнорируют все остальные компоненты.
- Стоит ли ожидать каких-либо практических результатов от работы группы ODMG?
Группа OMG существует уже почти восемь лет. Корпорация Microsoft принимает самое активное участие в ее работе. Однако комитету, состоящему из 500 членов, очень сложно прийти к согласию, особенно если учесть, что почти каждый его участник считает остальные 499 организаций своими конкурентами и пытается защищать собственные технологии. Думаю, что участие в деятельности OMG позволит ее членам находиться в курсе событий, однако влияние группы на принятие важнейших решений будет минимальным. Уже сегодня большая часть работ над проектами Enterprise Java Beans/ RMI/IIOP ведется независимо от OMG.
- Сможет ли СУБД Microsoft SQL Server добиться сравнимого с показателями Oracle и DB/2 уровня устойчивости, производительности и масштабируемости? Какие усовершенствования появятся после выпуска последующих версий Windows NT?
На сервере TerraServer (http//terraserver. microsoft.com/) вы можете в любое время ознакомиться с самой последней информацией по данному вопросу. Корпорация Microsoft очень активно работает над версией SQL Server 7.0. Испытания бета-версии продолжаются уже 18 месяцев, в них принимают участие более 100 тыс. пользователей! Ни одна СУБД еще не тестировалась так всесторонне и глубоко, как SQL Server 7.0.
- Не могли бы вы вкратце сравнить функциональные возможности продуктов MTS и BeaSystems M3?
Прежде всего я хотел бы акцентировать ваше внимание на том, что Microsoft не имеет ничего против здоровой конкуренции. Продукт MTS превратился в COM+ и растворился в NT. Мы считаем, что ORB (брокер объектных запросов), сервер HTTP (Web-сервер) и сервер RPC (сервер вызова удаленных процедур) обладают сходными функциональными возможностями. Любая распределенная операционная система обязана поддерживать обработку запросов, проверку полномочий клиента, сбалансированность загрузки, а также иметь средства управления сервером для обслуживания запросов. Запросы могут выполняться синхронно или помещаться в очередь. На сервере имен хранится информация об имеющихся службах. Все эти функции (активные каталоги, Web-сервер, брокер объектных запросов, средства обеспечения сбалансированности загрузки и управления процессами) реализованы в виде встроенных служб Windows NT 5.0.
- Собирается ли Microsoft поддерживать архитектуру NUMA?
Да, мы сотрудничаем с производителями данного оборудования и помогаем им устанавливать NT на аппаратную платформу NUMA.