Надо принять более обширную программу исследований, расширив само определение управления базами данных и включив в это понятие вопросы, связанные с содержимым Web и иных хранилищ оперативно доступной информации. Для того чтобы этот переход осуществлялся быстрее, следует изменить методы оценки и представления результатов исследований, поддерживать рискованные и перспективные работы, перевести работу конференций в режим стендовых докладов и публиковать все материалы исследований в Web.
19-21 августа 1998 г. группа из 16 авторитетных исследователей систем баз данных из академических, коммерческих и правительственных организаций собралась в Асиломаре (шт. Калифорния), чтобы принять программу исследований в области систем баз данных на следующее десятилетие. Встреча прошла по образу аналогичных собраний, происходивших в предыдущем десятилетии [1]. Данная статья содержит отчет об этой встрече.
Десять лет тому назад сообщество исследователей систем баз данных основное внимание уделяло проблемы оптимизации запросов, объектно-реляционных и активных СУБД, тиражирования информации и параллелизма баз данных. Сегодня идеи эти взяты на вооружение компьютерной индустрией и сообщество исследователей вправе гордиться своими успехами.
Однако есть и повод для беспокойства. Дело в том, что совершенствование технологий осуществляется в настоящее время в рамках так называемых исследований "delta-X". Бесспорно, что подавляющее число исследований происходит пошаговым образом, когда каждый последующий шаг основывается на результатах предыдущих. Однако исследования "delta-X" отличаются тем, что сосредотачиваются на сиюминутной цели, "улучшении" некоторой уже широко известной идеи X. Зачастую определяющая идея X уже реализована в программных продуктах и поэтому исследования такого рода могут вестись в лабораториях коммерческих фирм и силами начинающих компаний, поддерживаемых совместным капиталом.
Сообществу исследователей баз данных необходимо воздержаться от работ типа "delta-X" и направить все усилия на изучение механизмов баз данных, основные приложения которых появятся через десять лет, оставив краткосрочную работу иным организациям. Финансирующим учреждениям и программным комитетам следует приветствовать подобные исследования; новаторские, хотя и рискованные работы должны котироваться значительно выше работ, ставящих перед собой более скромные задачи.
Фундаментальные аспекты систем баз данных за последнее десятилетие изменились драматически. Открылись новые обширные области исследований; именно на них следует перенести свое внимание с кратковременных пошаговых работ сообществу разработчиков.
Отчет организован следующим образом. В его начале обсуждаются движущие силы, фундаментально изменяющие программу исследований систем баз данных. В результате этого обсуждения ставятся конкретные вопросы, которые предлагается принять в качестве подобной программы.
Для того чтобы помочь исследователям баз данных сфокусироваться на долговременных проблемах, представлена проблема "грандиозного вызова", для решения которой понадобится десять лет.
В заключительном разделе предлагаются радикальные изменения в способах проведения конференций, посвященных системам баз данных, оценки профессиональных журналов и представления результатов исследований. Сегодня все они приветствуют незначительные шаги и отвергают пионерские работы - если мы хотим получить радикально новые идеи, этот процесс необходимо изменить.
Движущие силы
Три основных фактора определят направленность исследований:
- Web существенно облегчает размещение информации в киберпространстве и обеспечивают ее доступность почти для каждого;
- Постоянное усложнение прикладных сред увеличивает потребность в интеграции программ и данных;
- Достижения в области компьютерных архитектур делают недействительными предположения и проектные решения, положенные в основу современной технологии СУБД.
Web изменяет все
Всемирная паутина и ассоциированные с ней инструменты кардинально снизили расходы создания информационного наполнения, но действительная революция состоит в том, что Web сделала возможной почти бесплатную публикацию. Никогда раньше не было так, чтобы почти каждый мог позволить себе опубликовать большие объемы информации. Web становится основной платформой для доставки приложений и данных; возрастающая пропускная способность сетей только ускоряет этот процесс.
Это хорошая новость для исследователей систем баз данных, ведь Web представляет собой одну громадную базу данных. Однако до сих пор, вместо того, чтобы превратиться в неотъемлемую часть инфраструктуры Web, базы данных остаются на вторых ролях. Во-первых, дизайнеры крупнейших Web-серверов с миллионами страниц содержимого постепенно перекладывают задачи управления страницами с файловых систем на системы баз данных. Во-вторых, системы баз данных используются в качестве серверов электронной коммерции, помогая отслеживать профили, транзакции, счета и инвентарные листы. В-третьих, ведущие Web-издатели примериваются к использованию систем баз данных для хранения информационного наполнения, имеющего сложную природу. Однако в подавляющей части Web-узлов, особенно в тех, которые принадлежат провайдерам и держателям поисковых машин, технология баз данных не применяется. В небольших Web-узлах, как правило, используются статические HTML-страницы, хранящиеся в обычных файловых системах.
В будущем статические HTML- страницы все чаще станут заменять системами управления динамически формируемым содержимым. Например, торговцы по каталогам не просто преобразуют бумажные каталоги в наборы статических HTML-страниц. Фактически, они представляют электронный каталог, позволяющий заказчикам оперативно узнать то, что их интересует, не пролистывая ненужную информацию: например, продает ли поставщик серые джемперы большого размера. Продавцы предлагают клиентам персонализированные манекены, позволяющие увидеть, как будет сидеть на них одежда. Для персонализации требуются весьма сложные модели данных.
HTML расширяется до XML, языка расширяемой разметки, который лучше описывает структурированные данные. К сожалению, XML, похоже, способен породить хаос в системах баз данных. Развивающийся подъязык запросов XML напоминает процедурные языки обработки запросов, превалировавшие 25 лет тому назад. Кроме того, XML стимулирует использование кэшей данных на стороне клиента с поддержкой обновлений, что заставляет разработчиков погружаться в трясину проблем распределенных транзакций. К несчастью, значительная часть работ по XML происходит без серьезного участия сообщества исследователей систем баз данных.
Авторы Web-публикаций нуждаются в инструментах для быстрого и экономичного построения хранилищ данных, рассчитанного на сложные приложения. Это, в свою очередь, формирует требования к технологии баз данных для создания, управления, поиска и обеспечения безопасности содержимого Web-узлов.
Унификация логики программ и систем баз данных
Создатели ранних систем баз данных беспокоились лишь о хранении пользовательских данных, а логика программ оставлялась другим подсистемам. В реляционных СУБД для удобства и повышения эффективности задним числом были добавлены хранимые процедуры и триггеры. Современные СУБД позволяют хранить и активизировать процедуры, написанные на некотором частном языке программирования. Появление объектно-реляционных методов вместе с ширящимся распространением языка Java в качестве стандартного языка позволяют внедрять в системы баз данных логику программ, написанных на стандартном языке в стандартной системе типов. В результате СУБД постепенно переходят от хранения и манипулирования только данными к хранению и манипулированию и логикой, и данными.
Однако все еще требуется большая работа. Репозитории являются типичными базами данных логики программ. Такие требования репозиториев, как управление версиями и возможности просмотра, в большинстве доступных в настоящее время систем должным образом не удовлетворяются. Код по-прежнему не является столь же полноценным объектом для СУБД, как данные.
Осуществление этого перехода имеет критически важное значение. Большие предприятия используют сотни, а иногда и тысячи крупномасштабных, сложно организованных и специализированных приложений. Возможность их совместного использования существенна для достижения гибкости, требуемой предприятиям для введения новых основанных на Web прикладных служб, сокращения времени выхода новых продуктов на рынок, сокращения расходов и структурной перестройки бизнеса.
Большое внимание уделяется технологии разработки, инструментальным средствам и языкам, адаптированных к нуждам создания крупномасштабных приложений. Для этого требуется, чтобы системы баз данных стали более "осведомленными" о приложениях. Частично проблему решают объектно-реляционные методы, но есть и иные высокоуровневые средства для управления описаниями прикладных интерфейсов и инструменты, позволяющие интегрировать, развивать, переносить или заменять как отдельные прикладные системы, так и группы систем, функционирующих в единых рамках.
Компьютерные архитектуры: масштабирование от бытовых приборов до мегасерверов
В грядущем десятилетии по-прежнему будет действовать закон Мура: центральные процессоры будут быстрее, диски - больше, проявят себя новые достижения в области повышения скорости коммуникаций. Станут привычными компьютеры с терабайтной оперативной памятью, служащей буферным пулом для баз данных размером в сотни терабайт. Все таблицы баз данных, кроме самых крупных, будут размещаться в памяти. Это сделает недействительным фундаментальные предположения, лежащие в фундаменте современных архитектур систем баз данных. В контексте новых компьютерных архитектур потребуется переоценка структур данных, алгоритмов и утилит.
Возможно, еще более важно то, что изменились относительная стоимость компьютерных и человеческих ресурсов; последние стали более дорогими. Новая экономика требует, чтобы компьютерные системы стали полностью автоматическими: автоустанавливаемыми, автоуправляемыми, авторемонтируемыми и автопрограммируемыми. Компьютеры усиливают человеческий интеллект, беря на себя анализ и обобщение данных, их организацию, находя ответы на сложные запросы и информируя о важных событиях. Взрывообразный рост модульных приложений масштаба предприятия наподобие SAP, Baan и PeopleSoft оказывает огромное давление на системы баз данных. Некоторые корпорации уже развертывают приложения систем баз данных, рассчитанные на 50 тыс. одновременно работающих пользователей. Системы баз данных, на которые опираются такие приложения, должны обеспечивать на порядки лучшую масштабируемость и готовность.
Если технологии будут развиваться теми же темпами, крупные организации будут располагать петабайтами памяти, управляемой тысячами процессоров - в сотни раз большим числом процессоров, чем сегодня. Сообщество баз данных по праву гордится своими успехами в использовании параллельных компьютеров как для приложений обработки транзакций, так и для анализа данных. Однако современные методы вряд ли допускают масштабирование на два порядка.
Через десять лет Сеть будут использовать миллиарды людей, кроме того, к ней будут подключены триллионы "мелочей". Значительно вырастет мощность встроенных процессоров в смарт-картах, телефонах и иных информационных устройствах. Появятся мощные компьютерные компоненты в персональных цифровых помощниках и сотовых телефонах. Будут существенно компьютеризированы телевизоры и другие домашние устройства. Интеллектуальные контроллеры будут устанавливаться в системах освещения в новых домах, торговых автоматах и других потребительских приборах. Товары будут помечаться посредством идентификационного чипа. Все эти интеллектуальные устройства будут содержать внутренние данные, сопрягаемые с другими хранилищами данных. Каждая такая "мелочь" - кандидат на использование технологий систем баз данных.
Распространение компьютеризованных бытовых приборов вызовет огромный рост масштабов использования клиентов и серверов данных - для триллионов компактных устройств потребуются миллиарды серверов. Число, мобильность и отсутствие постоянного соединения с сетью приборов со встроенными микропроцессорами делают современные клиент-серверные и трехзвенные архитектуры непригодными для поддержки таких устройств. У многих из них будет отсутствовать пользовательский интерфейс и не будет возможности наличия администратора баз данных - они должны быть самоуправляемыми, очень безопасными и очень надежными.
Предлагаемая программа исследований
В этом разделе обсуждаются темы исследований, заслуживающие особого внимания. Темы сгруппированы в пять основных направлений.
СУБД в стиле "plug and play"
Мы используем фразу Plug and Play двояко. Во-первых, поскольку у баз данных "умных приборов" не будет администраторов, они должны быть самонастраиваемыми. Исследователям баз данных надо разобраться, как сделать системы баз данных не требующими человеческого вмешательства. Краеугольный камень этой деятельности - удаление множество параметров настройки, которые сейчас должны задавать сами пользователи. Следующая ее часть относится к физическому проектированию баз данных, например, методам автоматического выбора индексов; этим методам уделяется некоторое внимание в современных исследованиях и продуктах. В более общей постановке инструменты должны помогать и при логическом проектировании баз данных (например, таблиц и ограничений целостности) и при проектировании приложений, автоматически предоставляя полезные отчеты и утилиты. "Умные приборы" должны приспосабливаться к изменению условий.
Перспективным подходом является сохранение в СУБД всей информации относительно того, что происходило раньше. Тогда встроенный в систему баз данных эксперт, обладающий детальными сведениями о настройке, анализирует эту информацию и производит автонастройку системы. Побочный эффект такого подхода состоит в том, что коммерческие системы баз данных становится значительно проще администрировать. Поскольку большинству организаций не хватает квалифицированных администраторов, это чрезвычайно им поможет.
Второй аспект Plug and Play в контексте баз данных относится к обнаружению информации. Как уже отмечалось, Web являет собой громадную базу данных. Одновременно с этим, большинство предприятий испытывает затруднения при интеграции "островков информации", содержащихся в их различных системах. Необходимы средства для подключения баз данных к корпоративной сети или Internet и автоматического обнаружения информации во всех других системах баз данных, доступных в Сети, и взаимодействие с ними. Эти средства аналогичны той поддержке, которую операционные системы предоставляют по отношению к аппаратуре, опознавая доступные устройства.
Процесс обнаружения информации потребует от систем баз данных обеспечения существенно большего объема метаданных, описывающих смысл управляемых объектов. Вдобавок к этому, в системах баз данных должны быть мощные средства преобразования данных от одного типа к другому. Разумно предположить, что могут быть и другие подходы к обнаружению информации.
Объединение миллионов баз данных
Миллиарды Web-клиентов будут обращаться к миллионам баз данных. Предприятия будут развертывать крупномасштабные федеративные системы баз данных, поскольку до сих пор они тратили огромные средства во многие совершенно различные системы. Грандиозной федеративной системой является Web. При построении масштабируемых федеративных систем требуется решать несколько серьезных задач.
Во-первых, необходимы оптимизаторы запросов, способные эффективно работать с федеративными системами баз данных, состоящими из 1000 и большего числа узлов. Абсолютным требованием является сохранение локальной автономности каждого узла такой системы. Следовательно, федеративный оптимизатор запросов не может просто конструировать оптимальный план, поскольку различные узлы должны иметь возможность отказаться выполнять свои части плана. Локальные ограничения могут сделать глобально оптимальный план невыполнимым. Кроме того, может изменяться загрузка разных узлов. Традиционный оптимизатор, основанный на статических оценках, производит оптимальный план в предположении, что оптимизируемый запрос является единственной задачей, выполняемой в сети. В динамических сетях оптимизаторы должны приспосабливаться к изменению загрузки. По этим причинам применительно к новой среде необходимо переосмыслить традиционный подход к оптимизации запросов на основе статических оценок.
Второй аспект федеративных систем баз данных - семантика и выполнение запросов. Пользователь может обратиться к федеративной базе данных с 1000 узлами с запросом типа: "Найти среднее значение заработной платы для сотрудников всего предприятия."
Традиционные системы баз данных программируются в расчете на то, чтобы выдавать точные ответы на подобные запросы, возможно, после долгих вычислений. Более хорошая модель заключается в том, что система баз данных представляет это как процесс накопления данных. Система баз данных должна быть в состоянии быстро выдать грубый ответ, а затем постепенно совершенствовать его, останавливаясь, когда пользователь решит, что ответ "достаточно хорош". Конечно, для этого требуются существенные изменения в оптимизаторе запросов и подсистеме выполнения, но также нужен синтез методов статистических оценок с доставкой данных и пользовательскими интерфейсами.
Неточная информация будет появляться не только в результатах запросов; она уже заложена в самих источниках данных. В этом отношении парадигма накопления данных имеет даже более широкий смысл. Допустим, пользователь обращается с запросом: "Имеются ли действительно хорошие итальянские рестораны на расстоянии не более 5 миль от моего дома?"
Может обнаружиться более десятка баз данных отзывов с информацией об итальянских ресторанах, а также, возможно, несколько географических баз данных. Поэтому этот запрос демонстрирует интересную проблему интеграции баз данных. Для этого запроса нет точного ответа, поскольку каждый отзыв выражает некоторое частное мнение. Подсистема выполнения запросов должна относиться к этому, как к проблеме накопления данных, хотя и менее ясно выраженной, чем в предыдущем примере.
К третьему аспекту объединения относятся средства, способствующие самому процессу интеграции. Системному администратору должно быть просто добавить свою систему к более крупной федеративной системе. Если использующий технологии Web продавец одежды решает предложить свою одежду для путешествий доступному в Сети туристическому агентству, то их информационные системы должны быть объединены. Для автоматизации процесса интеграции требуется, чтобы база данных приложения и определения интерфейсов базы данных были слиты в согласованное целое. Унифицированный язык моделирования UML, предложенный консорциумом OMG, открывает возможность выражения таких определений, но для инструментальных средств, обеспечивающих большую степень автоматизации, необходима более глубокая поддержка семантической информации.
Переосмысление традиционной архитектуры систем баз данных
Упомянутые в предыдущем разделе тенденции развития технологии дают пользователям возможность реализовывать все более и более масштабные приложения систем баз данных. Это привело к появлению множества архитектур, основанных на разделяемой памяти, разделяемых дисках, неоднородной памяти (NUMA) и кластерах компьютеров без общих ресурсов (sharing-nothing). Современные системы баз данных наилучшим образом приспособлены для систем без разделяемых ресурсов, поскольку такие системы обладают лучшими характеристиками масштабируемости. Кроме того, в таких кластерах используются массовые компоненты и поэтому они оказываются гораздо дешевле. При работе в большом кластере оптимизатор системы баз данных должен учитывать балансировку загрузки, доступность дискового пространства и ограничения на выполнимость планов и реплики.
В добавление к этому типичные компьютеры могут обладать терабайтом основной памяти. "Горячие" таблицы и большинство индексов будут постоянно располагаться в основной памяти. Для этого потребуется переосмыслить архитектуры хранения. Например, B-деревья - не оптимальная индексная структура для данных в основной памяти. Кроме того, могут оказаться неподходящими стратегии буферизации, восстановления и многопользовательского доступа, реализованные в коммерческих СУБД.
К тому же, хотя емкость дисковой памяти возрастает очень быстро, время доступа уменьшается относительно медленно. Следовательно, быстро растет и объем данных, которые могут передаваться в основную память за среднее время доступа. С другой стороны, увеличивается и относительная стоимость подвода головок магнитного диска в сравнении со стоимостью передачи одного байта данных. Поэтому требуются архитектуры хранения, в которых существенно более серьезное внимание уделялось бы оптимизации движения головок.
Многие организации нуждаются в том, чтобы их системы функционировали непрерывно. Для разработки отказоустойчивой программной системы требуются удаленное тиражирование и динамическая реконфигурация. Пока неясно, следует ли управлять удаленными копиями на уровне дисков с использованием механизмов RAID, или на уровне систем баз данных путем перемещения журнала системы баз данных и повторного выполнения журнализованных операций в удаленном узле.
Для новых приложений, включая обработку графических изображений, полученных со спутников, и ведение цифровых телевизионных архивов, требуются очень большие базы данных, размер которых измеряется петабайтами или экзабайтами. Такие приложения станут доступными, когда дисковая память подешевеет настолько, что можно будет работать со всеми требуемыми данными в стандартной двухуровневой иерархии памяти. Вдобавок, возможно, появятся и совершенно новые запоминающие устройства третьего уровня, основанные на технологии голографии. Поддержка экзабайтной памяти в многозвенных архитектурах, включая тиражирование и копирование, представляет собой весьма сложную задачу.
Наконец, возрастает популярность трехзвенных архитектур приложений. В этом мире имеется только одна программа (сервер баз данных), работающая на уровне сервера и только одна программа (сервер приложений), работающая в промежуточном звене. Обе они должны поддерживать тысячи подключений. Оптимизация систем баз данных и операционных систем для такой среды составляет собой серьезную задачу.
Нынешняя фундаментальная архитектура систем баз данных существует почти 20 лет. Настало время переосмыслить базовые предположения о компьютерных архитектурах, которые будут доступны в 2010 году.
Унификация процессов и данных
Есть несколько идей, которые надлежит исследовать "под рубрикой" превращения логики приложений в полноценного обитателя систем баз данных будущего. Во-первых, возможной моделью для описания приложения мог бы служить поток работ. Такие системы потоков работ сейчас доступны от многих поставщиков в качестве каркасов уровня приложений. Кажется возможным собрать диаграммы потоков работ в набор триггеров базы данных, которые выполняются внутри системы активных баз данных. Выполнение насыщенных данными потоков работ внутри системы баз данных происходит существенно быстрее, нежели вне ее. Однако для поддержки потоков работ система должна быть в состоянии оперировать тысячами триггеров. Для увеличения масштабируемости триггерных систем на три порядка необходимы серьезные исследования.
Масштабируемая триггерная система обладает и дополнительными достоинствами, поскольку есть приложения, нуждающиеся в большом числе обычных триггеров на элементах данных. Например, для информационной системы фондовой биржи может оказаться существенной возможность оповещения при выполнении конкретного условия, скажем, достижение пороговой цены конкретной акции. Масштабируемая триггерная система могла бы поддерживать приложения, в которых на данных определены миллионы триггеров. Реализация триггеров должна допускать работу в системе без совместных ресурсов или даже в федеративной системе. Остается нерешенной задача эффективной поддержки больших наборов распределенных триггеров.
Второй аспект касается логики в традиционном смысле процедур в языках программирования. Популярным подходом к выражению такой логики является использование компонентов, и такие компоненты следует поддерживать внутри системы баз данных. К сожалению, еще не создан эсперанто компонентного программирования. На такую роль претендуют и CORBA, и OLE, и Enterprise Java Beans, и Jini. Перспектива поддержки нескольких плохо совместимых между собой компонентных моделей в рамках объектно-реляционной системы баз данных устрашает. Тем не менее, сообщество баз данных должно способствовать развитию всех этих моделей для поддержки типов и процедур, хорошо интегрируемых с СУБД.
Третий аспект относится к методологии визуального программирования. Многие проектировщики данных используют диаграммы для спецификации данных и проектирования приложений. Эти мощные средства могут как моделировать, так и автоматически генерировать приложение. Если компоненты будут находиться внутри системы баз данных, то такие методологии должны развиваться для работы с объектно-реляционными системами баз данных. Интересной и трудной задачей является создание визуального средства проектирования, в котором бы принимались во внимание все аспекты системного проектирования.
Последний аспект связан с языками программирования, поддерживающими долговременное (persistent) хранение данных. Есть много приложений, в которых SQL является доминирующим механизмом доступа к базам данных. Однако меньшую часть приложений (или компонентов приложений) следует специфицировать на языках программирования, поддерживающих долговременное хранение данных. Открытой проблемой является эффективная поддержка в одной и той же системе и SQL, и программ на таких языках, особенно если среда подвержена частым обновлениям.
Интеграция структурированных и квазиструктурированных данных
Похоже, что распространение XML приведет к накоплению бесчисленного количества данных, форма которых будет скорее иерархическая, а не реляционная или объектно-ориентированная. Более того, данные эти "квазиструктурированы" в том смысле, что различные формы Web-страниц могут соответствовать одной схеме. Несмотря на энергичные действия сообщества баз данных в областях языков запросов и сред таких данных, эта область все еще находится в младенческом состоянии.
Исследователи баз данных предлагают для XML декларативные языки запросов. Однако, по всей видимости, XML и его развивающиеся языки манипулирования данными будут напоминать традиционную иерархическую систему баз данных с процедурным языком доступа к данным. Сообществу исследователей баз данных следует принять на себя работу по унификации технологий Web и баз данных, включая задачу превращения Web-сред в семантически насыщенные. Среди нерешенных задач: управление несопоставимыми множествами, самоописательность, потенциально глубоко вложенные объекты, разработка декларативных языков, модели транзакций с неточной согласованностью, автоматический анализ, взаимодействие обновлений и кэширования.
Грандиозный вызов
Но должна еще существовать и грандиозная мечта, к достижению которой должны стремиться исследователи в следующем десятилетии. Грандиозный вызов должен охватывать большую часть проблем, обсуждавшихся в предыдущем разделе, но при этом ориентировать их на достижение некоей важной цели. Эта цель должна быть простой для понимания и впечатляющей даже для тех, кто не занимается исследованиями в области баз данных.
В качестве такой цели на следующие десять лет для сообщества исследователей баз данных мы рекомендуем: полезность информации; облегчить для каждого хранение, организацию, доступ и анализ максимума накопленной информации в оперативном режиме.
Большая часть накопленной человечеством информации в течение десяти следующих лет будет располагаться во Всемирной Паутине. Во многих форматах по всей планете будут рассредоточены экзабайты данных. Без новых инструментов находить и понимать ответы на наши вопросы будет еще труднее, чем сегодня. Идеальная система должна кратко отвечать на вопросы и даже предвосхищать их путем оповещения об интересных событиях.
Другими словами, грандиозной целью является превращение Web в следующем десятилетии в более полезную информационную службу.
Инфраструктура исследовательских работ
Для поощрения новаторских работ и, в особенности, для ускорения изменений акцентов, отстаиваемых в этой статье, рекомендуется пересмотреть систему поощрений исследователей. Программным комитетам ведущих конференций и журналов следует изменить методы отбора работ. Кроме того, электронная публикация технических отчетов изменяет подход к сбору и распространению научной литературы. Предлагается осуществить следующие изменения.
Во-первых, репозиторий компьютерных исследований Computing Research Repository и другие Web-узлы обеспечивают эффективную систему электронных публикаций. Конференциям и журналам следует перестать акцентироваться на бумажных копиях своих трудов - скорее им нужно представлять Web-узлы для размещения предлагаемых статей, сопровождая их редакторскими комментариями. Схему конференций полезно заменить на "полностью стендовую" или "большей частью стендовую". Многие статьи настолько специфичны, что доступны для понимания лишь для нескольких специалистов, интересующихся данной темой. Эти специалисты могут эффективнее обсудить представленную им работу в рамках стендовой сессии. Время на презентацию следует предоставлять только тем авторам, идеи которых выходят за рамки работ "delta-X", а также приглашенным докладчикам, обобщающим полученные результаты.
В дополнение к этому, крайне полезно значительно увеличить число принимаемых статей. Это открыло бы дорогу для новаторских работ без вытеснения сильных результатов категории "delta-X", к которым традиционно питают слабость рецензенты.
Последнее и, возможно, наиболее дискуссионное предложение относится к процессу публичного рецензирования. Любой программный комитет и редакционный совет проводит громадную работу по рецензированию массы представляемых статей. Предлагается каким-то образом добывать и публиковать всю эту ценную информацию. Как только автор делает документ публично доступным, добровольные рецензенты должны иметь возможность опубликовать свои рецензии в модерируемом форуме. Особенно полезными будут организованные рецензии тематически связанных статей. Усилия Х.В. Джагадиша по началу формирования такой базы данных рецензий исключительно полезны.
Асиломарский отчет о направлениях исследований в области баз данных. Фил Бернштейн, Майкл Броди, Стефано Сери, Дэвид Девитт, Майк Франклин, Гектор Гарсия-Молина, Джим Грей, Джерри Хелд, Джо Хеллерштейн, Х.В. Джагадиш, Майкл Леск, Дейв Майер, Джефф Наутон, Гамид Пиранеш, Майкл Стоунбрейкер, Джефф Ульман, сентябрь 1998.
Направления исследований в области баз данных: десять лет спустя
Сергей Кузнецов
В феврале 1988 года 16 ведущих исследователей из Соединенных Штатов и Германии провели двухдневный симпозиум, посвященный обсуждению основных перспективных тем исследований в области баз данных в будущем.
Симпозиум, который организовали университет Беркли (шт. Калифорния, США) и немецкая GMD (Gesellschaft fur Mathematik und Datanvarebeitung), проходил в Лагуна-Бич недалеко от Лос-Анжелеса. По итогам симпозиума в журнале ACM SIGMOD Record (Vol. 18, No. 1, 1988) был опубликован отчет, который официально назывался Future Directions in DBMS Research, но получил "народное" название Laguna Beach Report. Спустя десять с лишним лет интересно вспомнить прогнозы и оценить их правильность — особенно одновременно с публикацией нового отчета, содержащего прогнозы на следующее десятилетие. Мы будем следовать структуре отчета, кратко его пересказывая и давая свои оценки — конечно, полностью субъективные (оценки и комментарии выделяются курсивом).
Приложения будущего
Этот раздел содержит сводку мнений участников симпозиума относительно наиболее важных приложений баз данных.
CASE
Проблематика CASE обсуждалась с точки зрения требований таких систем к поддерживающим их базам данных: версионность, поддержка сложных объектов, наследование и т.д.
Насколько мне известно, последние десять лет производители систем CASE в основном продолжали пользоваться чисто реляционными базами данных, хотя и стали обеспечивать в последнее время возможности проектирования информационных систем, основанных на объектных и объектно-реляционных базах данных.
CIM
Часть участников отмечала важность области Computer Integrated Manufacturing (CIM). Указывалась актуальность для таких приложениях механизмов встроенных в базу данных правил и триггеров.
По-моему, прогноз оправдался.
Графические образы
Два участника указывали на потребности приложений, связанных с обработкой графических образов. Для этого СУБД должна позволять хранить потенциально неограниченные битовые строки.
Естественно, такая возможность появилась.
Пространственные базы данных
Как пример трудно реализуемых приложений указывались те, в которых требуется работа с пространственной информацией (скажем, картографические приложения). Участники симпозиума считали, что поддержка таких приложений станет важной областью применения расширяемых СУБД.
И были правы, поскольку сегодня все развитые СУБД (Oracle, Informix, DB2 и т.д.) поддерживают управление пространственной информацией.
Information Retrieval
Один из участников полагал, что важно поддерживать приложения, связанные c информационным поиском (то, что сейчас принято называть приложениями полнотекстовых баз данных).
И действительно, в универсальных расширяемых СУБД теперь есть средства, поддерживающие информационно-поисковые системы, хотя о качестве этих средств можно спорить.
Аппаратные платформы будущего
Революция
В отношении к микропроцессорной технологии предполагалось, что будущее за архитектурой RISC. Ожидалось, что к 1991 году компьютер с производительностью в 50 MIPS и основной памятью емкостью 1 Гбайт будет стоить меньше 100 тыс. долл.
Этот прогноз не сбылся. Во-первых, большая часть рынка процессоров занята процессорами Intel. Во-вторых, уменьшение соотношения цена/производительность происходило гораздо быстрее.
Общим мнением было то, что потребности приложений будут возрастать не медленнее снижения цены аппаратуры и поэтому будут востребованы соответствующие исследования в области баз данных.
Да, и это привело к появлению таких промышленных технологий, как параллельные системы баз данных типа sharing-nothing.
Отмечалась возможность широкого внедрения систем поддержки принятия решений по мере снижения цен на оборудование.
Этот прогноз оправдался — все ведущие производители СУБД предлагают свои решения для реализации хранилищ данных.
Считалось, что объемы баз данных будут возрастать быстрее снижения цен на дисковую и основную память и поэтому по-прежнему потребуются исследования, направленные на повышение эффективности баз данных.
Так оно и есть. Большая часть исследовательских работ компаний-производителей СУБД связана с повышением производительности.
Машины баз данных
К этому времени уже никто из участников не сомневался, что в области управления базами данных компьютеры общего назначения более перспективны, чем специализированная аппаратура...
...И были совершенно правы.
Программная среда будущего
Операционные системы
Разработчики операционных систем приложат усилия к совершенствованию сетевого программного обеспечения и модификации ядра ОС, следуя за растущей скоростью процессоров и размера основной памяти.
Этот прогноз оправдался. Большая часть работ в области операционных систем за последние десять лет была связана с переходом на 64-разрядные архитектуры.
Будут поддерживаться коммуникационные протоколы стека ISO и специализированные протоколы типа Network File System.
Конечно, NFS поддерживается во всех вариантах ОС Unix. Но что касается ISO/OSI, то поддержка этого стека так и не стала повсеместной.
Преобразование структуры операционных систем к следующему виду: компактное ядро с набором служб поверх его.
Условно можно считать, что так выглядит Windows NT, хотя далеко не все с этим согласны. Что же касается мира Unix, то переход на микроядерную архитектуру в широких масштабах так и не произошел.
Имеется насущная потребность во встроенных в ядро ОС функций поддержки транзакций.
Пока примеров таких реализаций нет.
Сохранятся интерфейсы существующих операционных систем (В частности, MVS).
Так и произошло.
Интерфейсы языков программирования
Некоторые участники считали важным улучшить ужасный интерфейс SQL для встроенных и динамических запросов.
Похоже, этот ужасный интерфейс будет существовать, покуда жив SQL.
В течение многих лет не появится стандарт интерфейса 4GL.
Пока нет даже видимого движения в этом направлении.
Пролог
Перспективы связывания Пролога с СУБД были оценены крайне пессимистично. Многие участники считали, что следует прекратить финансирование подобных проектов.
Пессимизм, возможно, оправдан, однако проекты эти существуют до сих пор.
Расширяемые менеджеры данных
Было затронуто два направления - расширяемые архитектуры и объектно-ориентированные базы данных.
Расширяемые архитектуры
Участники разделились на два лагеря. Первые отдавали предпочтение полнофункциональным СУБД, поддерживающим возможности пользовательских расширений. В то время представителями этого направления были Postgres и Starburst. Представители второго лагеря выступали в пользу инструментария, позволяющего создать требуемую пользователям систему; примером такого подхода был Exodus. Так или иначе, стороны согласились с тем, что актуальностью исследований в области расширяемых систем.
Как мы видим сегодня, возобладал первый подход. На основе Postgres (а в последствии Illustra) возник Informix Universal Server, а Starburst явился основой DB2 Universal Database. Впрочем, второй подход тоже остается перспективным; в этом направлении движется, например, Sybase.
Объектно-ориентированные базы данных
Обсуждение затрудняло то обстоятельство, что в области ООБД отсутствовал общепринятый набор терминов и определений (эта ситуация сохраняется и сегодня). Их сторонники, во-первых, утверждали, что ООБД представляют хорошую основу расширяемых СУБД, а во-вторых, выражали уверенность в том, что идею наследования можно упростить до уровня, доступного разработчикам приложений. У их противников тоже было два аргумента. Прежде всего, по их мнению, ООБД по своей природе не слишком пригодны для непредвиденных запросов и поэтому не подходят для систем поддержки принятия решений. Кроме того, типичный для ООБД навигационный интерфейс доступа возвращает во времена CODASYL. Реальной проблемой являлось то, что термин "объектная ориентированность" относился к слишком большому числу самых разных вещей.
В целом за десять лет почти ничего не изменилось. Есть ряд коммерческих ООСУБД, они довольно активно используются, но по-прежнему нет согласия относительно понятий и терминов.
Активные базы данных и системы правил
Многие участники отмечали потребность в активных базах данных. СУБД должны поддерживать триггеры, ограничения целостности и т.д. Механизмы хранимых процедур и активных баз данных необходимо унифицировать, а соответствующим языковым средствам надо придать улучшенный синтаксис. Активная база данных должна работать на крайне простой системе правил, чтобы поддерживать высокую производительность. Следует избегать сложности, присущей системам искусственного интеллекта.
Сегодня практически во всех развитых реляционных СУБД поддерживаются триггеры, причем системы правил действительно очень просты.
Была выражена потребность в некоторых видах рекурсивных запросов, в частности, в запросах, выдающих транзитивные замыкания. Участники полагали, что не следует нагружать пользователей необходимостью кодирования общих рекурсивных правил.
На сегодняшний день мне неизвестны реализации распространенных СУБД, поддерживающих рекурсивные запросы в какой бы то ни было форме. Потребность в них сохраняется.
Интерфейсы конечного пользователя
Отмечалось, что исследователи баз данных слишком мало внимания уделяли пользовательским интерфейсам. Лучшим интерфейсом признавался тот, для использования которого не требуется руководства.
Думаю, что за прошедшие десять лет ситуация радикально не изменилась. Конечно, прочно вошли в практику оконные системы, появились развитые интерфейсы OLAP и администраторов баз данных, но революции не произошло.
Технология централизованных СУБД
Предсказывалось значительное влияние на технологию баз данных появление недорогих SMP-архитектур, доступность гигабайтной основной памяти и крупных массивов дисковых устройств.
Пожалуй, в прошедшие десять лет больше внимания компании-производители СУБД уделяли именно SMP-архитектурам. Достигнуты весьма существенные (возможно, предельные) результаты. Что же касается основной и дисковой памяти, то рост ее емкости и снижение стоимости оказались не столь значительными; соответствующие изменения в технологии теперь ожидаются в следующем десятилетии.
Отмечалась потребность в более высоком уровне доступности баз данных и в более развитых возможностях обработки сбоев.
Практически во всех развитых системах есть возможности зеркалирования и тиражирования.
Участники согласились, что пора прекращать исследования методов управления одновременным доступом, но выразили большой энтузиазм по поводу работ в области новых моделей транзакций.
Действительно, было много публикаций относительно моделей транзакций, однако в коммерческих системах сегодня главным образом используются классические транзакции.
Выражался определенный интерес в развитии методов повышения производительности, включая кэширование ответов на запросы, предварительное вычисление соединений и т.д. Считалось, что для оптимизации доступа к данным достаточно B-деревьев и расширяемого хэширования.
Эти технологии почти полностью воплощены в коммерческих системах. За десять лет сделано очень многое, причем направления работ были угаданы точно. Единственное, чего предугадать не удалось, - это появление битовых индексов, активно применяемых теперь в хранилищах данных.
Распределенные СУБД
Полагалось, что производители потратят много усилий на развитие области неоднородных (федеративных) распределенных систем баз данных. Рост масштабов распределенных баз данных потребует переосмысления алгоритмов обработки запросов, копирования и восстановления после сбоев.
С одной стороны, сегодня все развитые системы поддерживают ограниченные функции построения неоднородных распределенных баз данных. С другой стороны, функции эти действительно ограничены, и проблема все еще ожидает своего решения.
Разное
Физическое проектирование баз данных
Участники признали необходимость построения средств автоматического проектирования физической схемы баз данных, включая добавление и уничтожение индексов, балансировку загрузки дисков и т.д.
Прогноз начал оправдываться только к концу 1998 года, когда в Microsoft SQL Server 7.0 появились средства автоматизированной поддержки набора индексов. Автоматизированная балансировка загрузки дисков по-прежнему отсутствует.
Средства проектирования
Средства проектирования в то время представляли собой всего лишь графические "рисовальные" системы. Некоторые участники считали, что требуется их развитие, хотя и не знали, в каком направлении.
Конечно же, ситуация значительно изменилась.
Базы данных реального времени
Отмечалась важность этого направления и необходимость поддержки соответствующих исследований.
Направление по-прежнему актуально, но сказать, что достигнуты значительные результаты, нельзя.
Модели данных
Высказывалось мнение, что в этой области уже сделано достаточно много. Кое-кто полагал, что следует работать над стандартной моделью данных "следующего поколения".
Подобную модель действительно хотели бы видеть многие, но шансов пока маловато.
Трансляция данных
Один участник отмечал важность проблемы трансляции данных в неоднородных компьютерных средах. Большинство участников выразило уверенность, что данная проблема уже решена.
В принципе, они были правы, поскольку уже существовал протокол XDR (External Data Representation). Однако, насколько известно, позже к проблеме вернулись при разработке Internet Inter-ORB Protocol.
Обмен информацией через базы данных
Некоторые участники отмечали потребность в стандартном общем представлении данных. Для этого нужны более сложные справочники данных.
Видимо, стандартизация метаданных все еще остается проблемой.
Литература
1. Laguna Beach meeting of 1988 [SIGMOD Record 18(1): pp. 17-26]. Lagunita meetings of 1990 and 1995 [SIGMOD Record 19(4): pp. 6-22, SIGMOD Record 25(1): pp. 52-63]. ACM 1996 meeting "Strategic Directions in Database Systems - Breaking Out of the Box", ACM Computing Surveys 28{4}: pp. 764-778.