By
Phil Bernstein, Michael Brodie, Stefano Ceri, David DeWitt, Mike Franklin, Hector Garcia-Molina, Jim Gray, Jerry Held, Joe Hellerstein, H.V. Jagadish, Michael Lesk, Dave Maier, Jeff Naughton, Hamid Piranesh, Mike Stonebraker, and Jeff Ullman
September 1998
Сообщество исследователей баз данных по праву гордится успехами в области фундаментальных исследований и их выдающимся влиянием на развитие технологии. Теперь требуется расширить область исследований, чтобы приступить к решению вопросов получения, хранения, анализа и представления огромных объемов оперативной информации. Сообществу исследователей баз данных следует принять более обширную исследовательскую программу -- расширяя определение управления базами данных для включения в это понятие вопросы, связанные со всем содержимым Web и других хранилищ оперативно доступной информации, и переосмысляя наши базовые предположения в свете продвижения технологии. Для убыстрения этого перехода мы рекомендуем изменить способ оценки и представления результатов исследований. В частности, мы рекомендуем поддерживать рискованные и перспективные работы, перевести работу конференций в режим стендовых докладов и публиковать всю исследовательскую литературу в Web.
19-21 августа 1998 г. группа из 16 исследователей систем баз данных из академических, промышленных и правительственных кругов собралась в Асиломаре, Калифорния, чтобы принять программу исследований в области систем баз данных на следующее десятилетие. Это собрание проводилось по образу аналогичных собраний, происходивших в предыдущем десятилетии [1]. Цель состояла в том, чтобы обсудить текущую программу исследований в области систем баз данных и в уместных случаях сформулировать наши рекомендации. Данный документ представляет собой краткий отчет об этом собрании.
Десять лет тому назад сообщество исследователей систем баз данных старалось добиться наибольших достижений в областях оптимизации запросов, объектно-реляционных систем баз данных, активных баз данных, репликации данных и параллелизма баз данных. Эти идеи успешно проникли в индустрию, и исследовательское сообщество должно гордиться своим успехом.
Однако имеется повод для беспокойства, поскольку сообщество в широких масштабах продолжает совершенствовать эти идеи, что характеризуется как исследования "delta-X". Верно, что имеется разновидность пошаговых исследований, в которых каждаф последовательность шагов основывается на результатах предыдущих шагов; такие исследования приводят к долговременным важным нововведениям; это не тот вид активности, который нас беспокоит. Однако часто исследования "delta-X" сосредотачиваются на сеюминутной цели, а именно, совершенствовании некоторой широко известной идеи X. Часто определяющая идея X уже появляется в некотором продукте и поэтому исследования такого вида могут выполняться в лабораториях промышленных разработок и начинающих компаниях, поддерживаемых совместным капиталом.
Мы призываем сообщество исследователей баз данных воздерживаться от исследований "delta-X" последней категории. Давайте расширим сферу исследований для изучения проблем, основные приложения которых появятся через десять лет, оставив краткосрочную работу другим организациям. Финансирующим агенствам и программным комитетам следует приветствовать этот вид дальновидных исследований, явно осознавая, что высоко новаторские, хотя и рискованные работы должны котироваться выше более гладких работ, имеющих пошаговую и кратковременную природу.
Фундаментальные аспекты систем баз данных за последнее десятилетие драматически изменились. Имеются новые обширные области исследований систем баз данных. Поэтому мы призываем исследовательское сообщество переключиться с кратковременных пошаговых работ к исследованиям в новых областях.
Оставшаяся часть этого отчета организована следующим образом. В разделе 2 обсуждаются движущие силы, которые фундаментально изменяют программу исследований систем баз данных. Это обсуждение мотивирует конкретные вопросы, которые мы предлагаем в разделе 3 в качестве программы исследований баз данных.
Чтобы помочь сфокусировать программу исследований систем баз данных на долговременных проблемах, в разделе 4 мы представляем исследовательскую проблему "грандиозного вызова", для решения которой понадобится десять лет.
В разделе 5 предлагаются радикальные изменения в способах проведения конференций, посвященных системам баз данных, оценки журналов и представления результатов исследований. Текущие процессы и организация приветствуют пошаговые результаты и отвергают пионерские работы -- если мы хотим получить радикально новые идеи, это процесс должен быть изменен.
Три основных силы определяют предлагаемый ориентацию исследований систем баз данных:
Конечно, читатели знакомы с этими направлениями, но мы обсудим их, чтобы обосновать свое утверждение, что программа исследований нуждается в переопределении в терминах этих новых предположений.
Web и ассоциированные с ним средства драматически снизили стоимость создания информационного содержимого, но действительная революция состоит в том, что Web сделал возможной почти бесплатную публикацию. Никогда раньше не было так, чтобы почти каждый человек мог недорого опубликовать большие объемы информации. Web - это основная платформа для доставки приложений и информации. Возрастающая пропускная способность сетей только ускоряет этот процесс.
Это хорошая новость для исследований систем баз данных: Web представляет собой одну громадную базу данных. Однако до сих пор вклад сообщества исследователей баз данных в Web невелик. Вместо того, чтобы являться внутренней часть структуры Web, базы данных остаются на второстепенных ролях. Во-первых, системы баз данных часто используются как Web-серверы переднего края, когда Web-мастера с миллионами страниц содержимого переключаются с технологии файловых систем на технологию баз данных для управления Web-узлом. Во-вторых, системы баз данных используются в качестве серверов электронной коммерции, в которых они применяются традиционным образом для отслеживания профилей, транзакций, счетов и инвентарных ведомостей заказчиков. В третьих, основные Web-издатели используют или примериваются к использованию систем баз данных для хранения своего информационного содержимого. Однако в большей части Web-сайтов, особенно в тех, которые поддерживаются компаниями-провайдерами и держателями поисковых машин, технология баз данных не применяется. Кроме того, в мелкомасштабных Web-сайтах для распространения информации обычно используются статические HTML-страницы на основе технологии файловых систем.
В будущем мы рассчитываем видеть не статические HTML-страницы, а управление динамически формируемым содержимым. Например, торговцы по каталогам не просто преобразуют бумажные каталоги в наборы статических HTML-страниц. На самом деле, они представляют электронный каталог, позволяющий заказчикам узнать то, что им нужно, без потребности просмотра: например, продает ли поставщик серые джемперы большого размера. Продавцы хотят обеспечивать клиентам персонализированные менекены, позволяющие увидеть, как будет сидеть на человеке одежда. Для персонализации требуются весьма сложные модели данных и приложения.
Кроме того, язык HTML расширяется до XML, языка, который лучше описывает структурированные данные. К сожалению, XML, похоже, способен породить хаос для систем баз данных. Развивающийся подъязык запросов XML напоминает процедурные языки обработки запросов, превалировавшие 25 лет тому назад. Кроме того, XML стимулирует разработку кэшей данных на стороне клиента с поддержкой обновлений, что заставляет разработчиков XML погружаться в трясину проблем распределенных транзакций. К несчастью, большая часть работ по XML происходит без серьезного влияния сообщества систем баз данных.
Производители Web-содержимого нуждаются в средствах для быстрого и недорогого построения хранилищ данных со сложными приложениями. Это, в свою очередь, порождает требования к технологии баз данных для создания, управления, поиска и обеспечения безопасности содержимого Web-сайтов. Потребителям нужны средства обнаружения и анализа Web-информации.
Эти тенденции создают благоприятные возможности для применения знаний исследователей баз данных к решению новых проблем.
В ранних системах баз данных беспокоились только о хранении пользовательских данных, а логика программ оставлялась другим подсистемам. В реляционных системах баз данных задним числом были добавлены хранимые процедуры и триггеры -- для удобства и повышения эффективности. Текущие продукты баз данных дают возможность приложениям хранить и активизировать процедуры системы баз данных, написанные на некотором частном языке программирования. Появление объектно-реляционных методов вместе с возрастающей движущей силой языка Java как стандартного языка дают возможность внедрения в системы баз данных логики программ, написанных на стандартном языке программирования в стандартной системе типов. В результате системы баз данных находятся в процессе перехода от хранения и манипулирования только данными к хранению и манипулированию и логикой, и данными.
Однако все еще требуется большая работа. Репозитории являются типичными базами данных логики программ. Такие требования репозиториев как управление версиями и возможности просмотра не удовлетворяются должным образом в большинстве текущих систем. Очевидно, что в текущих системах код не является таким же полноценным объектом как данные.
Продолжение этого перехода критически важно. Большие предприятия имеют сотни, а иногда и тысячи крупномасштабных, сложно организованных и кастомизированных приложений. Возможность совместного использования этих приложений существенна для достижения гибкости, требуемой предприятиям для введения новых основанных на Web прикладных служб, соответствия требуемым инструкциям, сокращения времени достижения рынка, сокращения расходов и выполнения структурных изменений в бизнесе. Для решения этой проблемы интеграции приложений потребуется использование передовых достижений в области технологии баз данных.
Сегодня к решению проблемы крупномасштабных приложений применяются подходы технологии программирования; большое внимание уделяется процессу разработки, инструментальным средствам и языкам. Сообщество баз данных должно внести больший вклад в эту область. Для этого требуется, чтобы системы баз данных стали более осведомленными о приложениях. Часть ответа являют собой объектно-реляционные методы, но имеются и более хорошие методы для управления описателями прикладных интерфейсов, а также управляемые моделью средства более высокого уровня, использующие эти описатели для того, чтобы помочь интегрировать, развивать, переносить или заменять прикладные системы, как индивидуальные системы, так и группы систем, функционирующих в качестве единой системы.
В следующем десятилетии будет действовать закон Мура: центральные процессоры будут быстрее, диски - больше, появятся крупные достижения в области повышения скорости коммуникаций. В течение десяти лет станет общераспространенным наличие терабайтной основной памяти, служащей буферным пулом для баз данных объемом в сотни терабайт. Все таблицы баз данных, кроме самых крупных, будут постоянно содержаться в основной памяти. Эта технология сделает недействительными фундаментальные предположения, лежащие в основе современных архитектур систем баз данных. В контексте этих новых компьютерных архитектур потребуется переоценка структур данных, алгоритмов и утилит.
Возможно, более важно то, что изменились относительная стоимость вычислений и человеческого фактора: человеческий ресурс - более дорогой. Эта новая экономика требует, чтобы компьютерные системы стали полностью автоматическими: автоинсталлируемыми, автоуправляемыми, авторемонтируемыми и автопрограммируемыми. Компьютеры могут усилить человеческий интеллект путем анализа и обобщения данных, их организации, путем интеллектуальных ответов на прямые вопросы и информирования людей о происшествии интересных событий. Взрывообразное развитие таких модульных приложений масштаба предприятия как SAP™, Baan™ и Peoplesoft™ оказывает огромное давление на системы баз данных. Пользователи достаточно часто желают иметь приложения систем баз данных с 50000 одновременно работающих пользователей. Вычислительные системы и системы баз данных, на которых работают такие приложения, должны обеспечивать на порядки лучшую масштабируемость и доступность.
Если тенденции развития технологии не изменятся, большие организации будут располагать петабайтами памяти, управляемой тысячами процессоров -- в сотни раз большим числом процессоров, чем возможно сегодня. Сообщество баз данных по праву гордится своими успехами в использовании параллельных компьютеров как для обработки транзакций, так и для анализа данных. Однако современные методы вряд ли допускают масштабирование на два порядка.
В течение следующих десяти лет Web будут использовать миллиарды людей, но к нему будут также подключены триллионы "мелочей". В следующем десятилетии будет возрастать мощность встроенных компьютеров в смарт-картах, телефонах и других информационных бытовых приборах. Появятся существенные компьютерные компоненты в переносимых органайзерах (например, Palm Pilots™) и сотовых телефонах. Более того, будут существенно компьютеризованы телевизоры и другие домашние устройства. В новых домах компьютеры будут устанавливаться в выключатели электричества, торговых автоматах и других бытовых приборах. Все товары будут помечаться с помощью идентификационного чипа. Все эти информационные приспособления содержат внутренние данные, которые сопрягаются с другими хранилищами данных. Каждая такая "мелочь" является кандидатом на использование технологии систем баз данных, поскольку большинство из них будет хранить некоторую информацию и управлять ею.
По причине распространения компьютеризованных бытовых приборов мы предсказываем рост размеров и масштабов использования клиентов и серверов данных -- для триллионов мелочей потребуются миллиарды серверов. Число, мобильность и прерывающаяся связность бытовых приборов со встроенными компьютерами делают современные клиент-серверные и трехзвенные архитектуры непригодными для поддержки таких устройств. У многих таких устройств будет отсутствовать пользовательский интерфейс и не будет возможности наличия администратора баз данных -- они должны быть самоуправляемыми, очень безопасными и очень надежными. Повсеместное распространение подобных приборов является основной движущей силой программы исследований, обсуждаемой в следующем разделе.
В этом разделе обсуждаются темы исследований, заслуживающие значительного внимания. Обсуждавшиеся выше движущие силы обосновывают каждую из этих тем исследований. Для упрощения мы группируем темы в пять основных направлений и обсуждаем каждое из них по очереди.
Мы используем фразу Plug and Play в двух смыслах. Во-первых, поскольку у баз данных "умных устройств" будут отсутствовать администраторы, эти базы данных должны быть самонастраиваемыми. Мы называем это безголовым использованием. Исследовательское сообщество баз данных должно разобраться, как сделать системы баз данных не требующими дополнительных мозгов. Краеугольным камнем этой работы является обеспечение самонастраиваемости систем баз данных, т.е. удаление мириадов параметров настройки производительности, которые должны определять пользователи в текущих продуктах. Следующая часть этой работы относится к физическому проектированию баз данных, например, методам автоматического выбора индексов; этим методам уделяется некоторое внимание в современных исследованиях и продуктах. В более общей постановке системы должны помогать и при логическом проектировании баз данных (например, таблиц и ограничений целостности) и при проектировании приложений, автоматически предоставляя полезные отчеты и утилиты. Для гарантирования хорошего поведения со временем безголовые системы должны приспосабливаться к изменению условий.
Хотя мы не хотим предлагать конкретное решение, обнадеживающим подходом является сохранение в системе базе данных всей информации относительно того, что происходило раньше. Тогда встроенный в систему баз данных мастер, обладающий детальными сведениями о настройке, анализирует эту информацию и производит автонастройку системы. Побочным эффектом этого подхода является то, что традиционные коммерческие системы баз данных становятся значительно проще администрируемыми. Поскольку большинство организаций страдает от отсутствия достаточного числа талантливых администраторов, безголовое использование систем баз данных чрезвычайно им поможет.
Второй аспект Plug and Play систем баз данных относится к обнаружению информации. Как отмечалось ранее, Web является громадной базой данных. Более того, большинство коммерческих предприятий имеет затруднения при интеграции "островков информации", присутствующих в их различных системах. Должно быть возможно подключить систему баз данных к сети компании или Internet и автоматически обеспечить раскрытие информации для всех других систем баз данных, доступных в сети, и взаимодействие с этими системами. Это является аналогом той поддержки, которую операционные системы выполняют по отношению к аппаратуре, раскрывая и опознавая все доступные устройства.
Это процесс раскрытия информации потребует от систем баз данных обеспечения существенно большего объема метаданных, описывающих смысл управляемых объектов. В добавок к этому, системы баз данных должны иметь богатые наборы функций преобразования данных от одного типы к другому. Разумно ожидать, что имеются и другие подходы к раскрытию информации.
Миллиарды Web-клиентов будут обращаться к миллионам баз данных. Предприятия будут устанавливать крупномасштабные федеративные системы баз данных, поскольку сейчас они вкладывают бесчисленные ресурсы во многие совершенно различные системы. Более того, Web является одной крупной федеративной системой. Мы должны облегчить интеграцию информации этих баз данных. При построении масштабируемых федеративных систем требуется решать несколько серьезных задач.
Во-первых, нам нужны оптимизаторы запросов, которые могут эффективно работать с федеративными системами баз данных, состоящими из 1000 и большего числа узлов. Абсолютным требованием является сохранение локальной автономности каждого узла такой системы. Следовательно, федеративный оптимизатор запросов не может просто конструировать оптимальный план, поскольку различные узлы должны иметь возможность отказаться выполнять свои части плана. Локальные ограничения могут сделать глобально оптимальный план невыполнимым. Кроме того, может изменяться загрузка разных узлов. Традиционный оптимизатор, основанный на статических оценках, производит оптимальный план в предположении, что оптимизируемый запрос является единственной задачей, выполняемой в сети. В этом плане "не принимается во внимание загрузка", и даже если бы она принималась во внимание, то могла бы измениться в промежутке времени между компиляцией и выполнением или в течение выполнения. В динамических сетях оптимизаторы должны приспосабливаться к изменению загрузки. В разных сетях федеративной системы баз данных могут содержаться реплики, и качество (временные расходы) реплик может отличаться. По этим причинам пора переосмыслить традиционный подход к оптимизации запросов на основе статических оценок применительно к новой среде.
Вторым аспектом федеративных систем баз данных является семантика и выполнение запросов. Пользователь может обратиться к федеративной базе данных с 1000 узлами с запросом типа:
"Найти среднее значение заработной платы для сотрудников всего предприятия."
Традиционные системы баз данных программируются в расчете на то, чтобы выдавать точные ответы на подобные запросы, возможно, после долгих вычислений. Более хорошая модель заключается в том, что система баз данных представляет это как процесс накопления данных. Система баз данных должна быть в состоянии быстро выдать грубый ответ, а затем постепенно совершенствовать его, останавливаясь, когда пользователь решит, что ответ "достаточно хорош". Конечно, для этого требуются существенные изменения в оптимизаторе запросов и подсистеме выполнения, но также нужен синтез методов статистических оценок с доставкой данных и пользовательскими интерфейсами.
Неточная информация будет появляться не только в результатах запросов; она уже появляется в источниках данных. В этом отношении парадигма накопления данных имеет даже более широкий смысл. Пусть пользователь обращается с запросом
"Имеются ли действительно хорошие итальянские рестораны на расстоянии не более 5 миль от моего дома?"
Может иметься 10 или более баз данных отзывов о ресторанах с информацией об итальянских ресторанах, а также, возможно, несколько географических баз данных. Поэтому этот запрос представляет интересную проблему интеграции баз данных. Для этого запроса отсутствует точный ответ, поскольку каждый отзыв выражает некоторое частное мнение. Подсистема выполнения запросов должна относиться к этому, как к проблеме накопления данных, хотя и менее ясно выраженной, чем в предыдущем примере. И в этой области следует применять постепенное совершенствование.
К третьему аспекту объединения относятся средства, способствующие самому процессу интеграции. Системному администратору должно быть просто добавить свою систему к более крупной федеративной системе. Если базирующийся на технологии Web продавец одежды решает предложить свою одежду для путешествий оперативно доступному туристическому агенту, то системы заказа одежды и платежа должны быть объединены с системами туристического агенства. Для автоматизации этого процесса интеграции требуется, чтобы база данных приложения и определения интерфейсов базы данных были слиты в согласованное целое с помощью средств, помогающих наладить устанавливаемую систему. Стандарт UML (Unified Modelling Language) консорциума OMG представляет собой шаг для достижения возможности выражения таких определений, но для инструментальных средств, поддерживающих улучшенную автоматизацию, требуется поддержка в компьютеризованном виде большего объема семантической информации.
Упомянутые в разделе 2 тенденции развития технологии дают пользователям возможность реализовывать все более и более крупные приложения систем баз данных. Это привело к появлению множества архитектур, основанных на разделяемой памяти, разделяемых дисках, неоднородной памяти (NUMA) и кластерах компьютеров без общих ресурсов (sharing-nothing). Современные системы баз данных наиболее успешны на системах без разделяемых ресурсов, поскольку такие системы обладают лучшими характеристиками масштабируемости. Кроме того, в компьютерных кластерах используются доступные на рынке компоненты, и поэтому они могут быть гораздо дешевле. При работе в большом кластере оптимизатор системы баз данных должен учитывать балансировку загрузки, доступность дискового пространства и ограничения на выполнимые планы и реплики. В этом контексте проявляются и многие причины переосмысления оптимизации в федеративных системах баз данных (раздел 2).
В добавление к этому типичная вычислительная система может иметь терабайт основной памяти. "Горячие" таблицы и большинство индексов будут постоянно располагаться в основной памяти. Для этого потребуется переосмыслить архитектуры хранения. Например, B-деревья не являются оптимальной индексной структурой для данных в основной памяти. Кроме того, могут оказаться неподходящими стратегии буферизации, восстановления и многопользовательского доступа коммерческих систем баз данных.
К тому же, хотя объемы дисковой памяти возрастают очень быстро, время доступа уменьшается относительно медленно. Следовательно, объем данных, которые могут быть переданы в основную память за среднее время доступа, растет очень быстро. С другой стороны, быстро растет стоимость подвода головок устройства магнитного диска в сравнении со стоимостью передачи одного байта данных. Поэтому требуются архитектуры хранения, в которых существенно более серьезное внимание уделялось бы оптимизации движения головок. Кроме того, в будущем могут оказаться неуместными архитектуры, "скрывающие наличие подвижных магнитных головок", такие как RAID 5.
Для большинства организаций требуется непрерывное функционирование систем. Для разработки программной системы, которая никогда не выходит из строя, требуются удаленные реплики и динамическая реконфигурация. Неясно, следует ли управлять удаленными репликами на уровне дисков с использованием идей RAID, или на уровне систем баз данных путем перемещения журнала системы баз данных и повторного выполнения журнализованных операций в удаленном узле.
Для новых приложений, включая обработку графических образов, полученных со спутников, и ведение цифровых телевизионных архивов, требуются очень большие базы данных, объем которых измеряется в петабайтах или экзабайтах. Такие приложения смогут стать возможными, когда дисковая память подешевеет настолько, что можно будет работать со всеми требуемыми данными в стандартной двухуровневой иерархии памяти. В добавок к этому, возможно, станут доступны новые устройства памяти третьего уровня, основанные на технике голографии. Итак, трехуровневая иерархия памяти вполне возможна. Обеспечение экзабайтной памяти в многозвенных архитектурах, включая репликацию и копирование, представляет значительную сложную задачу.
Наконец, возрастает популярность трехзвенных архитектур приложений (thick middleware). В этом мире имеется только одна программа (сервер баз данных), работающая на уровне сервера и только одна программа (сервер приложений), работающая в промежуточном звене. Обе они должны поддерживать тысячи подключений. Оптимизация систем баз данных (и операционных систем) для такой среды является серьезной задачей.
В заключение заметим, что фундаментальная архитектура систем баз данных существует почти 20 лет. Мы полагаем, что настало время переосмыслить базовые архитектурные предположения в свете появления среды, которая будет доступна в 2010-ом году.
Имеется несколько идей, которые надлежит исследовать под рубрикой превращения логики приложений в полноценного обитателя будущих систем баз данных. Во-первых, возможной моделью для описания приложения мог бы служить поток работ бизнес-правил. Такие системы потоков работ сейчас доступны от многих поставщиков в качестве каркасов уровня приложений. Кажется возможным собрать диаграммы потоков работ в набор триггеров и сторожей базы данных, которые выполняются внутри системы активных баз данных. Выполнение насыщенных данными потоков работ внутри системы баз данных происходит существенно быстрее, чем вне системы. Однако для поддержки потоков работ требуется возможность системы масштабироваться до наличия тысяч триггеров. Для увеличения масштаба триггерных систем на три порядка требуются значительные исследования и эксперименты.
Масштабируемая триггерная система обладает дополнительными достоинствами, поскольку имеются приложения, нуждающиеся в большом числе обычных триггеров на элементах данных. Например, пользователи систем фондовой биржи могут пожелать получать оповещение при удовлетворении конкретного условия, такого как достижение пороговой цены конкретной акции. Масштабируемая триггерная система могла бы поддерживать приложения, в которых на данных определены миллионы триггеров. Конечно, такая реализация триггеров должна работать в системе без совместных ресурсов или даже в федеративной системе. Эффективная поддержка больших наборов распределенных триггеров является открытым вопросом.
Второй аспект касается логики в традиционном смысле процедур в данном языке программирования. Популярным подходом к выражению такой логики является использование компонентов, и такие компоненты следует поддерживать внутри системы баз данных. К сожалению, еще не существует Эсперанто компонентного программирования. Могут стать популярными и CORBA, и OLE, и Enterprise Java Beans (EJB), и Jini. Поддержка нескольких (несовместимых) компонентных моделей внутри объектно-реляционной системы баз данных кажется устрашающей задачей. Тем не менее, сообщество баз данных должно помочь развить эти модели для поддержки типов и процедур, хорошо интегрируемых с системой баз данных.
Третий аспект относится к методологиям визуального программирования. Многие проектировщики данных используют диаграммный подход для спецификации данных и проектирования приложения. Эти мощные средства могут как моделировать, так и автоматически генерировать приложение. Если компоненты будут находиться внутри системы баз данных, то такие методологии должны развиваться для работы с объектно-реляционными системами баз данных. Интересной и трудной задачей является создание визуального средства проектирования, в котором бы принимались во внимание все аспекты системного проектирования.
Последний аспект этого направления связан с языками программирования, поддерживающими долговременное хранение данных (persistent programming languages). Имеется много приложений, в которых SQL является доминирующим механизмом доступа к базам данных. Однако меньшую часть приложений (или компонентов приложений) следует специфицировать на языках программирования, поддерживающих долговременное хранение данных. Открытой проблемой является эффективная поддержка в одной и той же системе и SQL, и программ, написанных на таких языках, особенно если среда подвержена частым обновлениям.
Похоже, что приход XML приведет к созданию бесчисленного количества данных, форма которых будет скорее иерархическая, а не реляционная или объектно-ориентированная. Более того, эти данные являются "полуструктурированными" в том смысле, что многие различные формы Web-страниц могут соответствовать одной схеме. Несмотря на энергичные действия сообщества баз данных в областях языков запросов и сред таких данных, эта область все еще находится в младенческом состоянии.
Исследователи баз данных предлагают для XML декларативные языки запросов. Однако, при наличии имеющихся индустриальных подходов, мы полагаем, что XML и его развивающиеся языки манипулирования данными будут напоминать традиционную иерархическую систему баз данных с процедурным языком доступа к данным. Исследовательскому сообществу баз данных следует принять на себя существенную работу по унификации технологий Web и баз данных, включая задачу превращения Web-сред в семантически привлекательные. В число характерных вопросов входят управление несопоставимыми множествами, самоописательность, потенциально глубоко вложенные объекты, разработка пригодных декларативных языков, модели транзакций с неточной согласованностью, автоматический анализ, версионность, взаимодействия обновлений и кэширования.
Мы полагаем, что должна существовать грандиозная мечта, к достижению которой должно стремиться исследовательское сообщество в следующем десятилетии. Грандиозный вызов должен охватывать большую часть проблем, обсуждавшихся в разделе 3, но ориентировать их на достижение некоторой важной цели. Эта цель должна быть простой для понимания и впечатляющей для людей за пределами области исследований баз данных. Другие области будут использовать эти грандиозные задачи для ориентации и мотивации своей собственной деятельности.
В качестве цели на следующие десять лет для исследовательского сообщества баз данных мы рекомендуем:
Полезность информации: Облегчить для каждого хранение, организацию, доступ и анализ большей части человеческой информации в оперативном режиме.
Большая часть человеческой информации в течение десяти лет будет располагаться во Всемирной Паутине. Во многих форматах по всей планете будет распределен экзабайт данных. Без новых средств находить и понимать ответы на наши вопросы будет еще труднее, чем сегодня. Идеальная система должна кратко отвечать на вопросы и предвосхищать их путем оповещения нас об интересных событиях.
Другими словами, целью является превращение Web в следующем десятилетии в более полезную информационную утилиту.
Для поощрения новаторских работ в пионерских областях и, в особенности, для ускорения изменений акцентов, отстаиваемых в этой статье, мы рекомендуем изменить систему поощрений за исследования. Программным комитетам основных конференций и журналов следует изменить свои методы отбора статей. Кроме того, электронная публикация технических отчетов изменяет подход к сбору и распространению научной литературы. Мы предлагаем изменить процессы, происходящие с исследовательском сообществе баз данных, следующим образом.
Во-первых, CoRR - Computing Research Repository (http://xxx.lan1.gov/archives/cs) и индивидуальные Web-сайты обеспечивают эффективную систему электронных публикаций. Конференциям и журналам следует перестать акцентироваться на бумажных копиях своих трудов -- скорее им нужно представлять Web-сайты для организации предлагаемых статей и обеспечить редакторские комментарии к этим статьям. Мы полагаем изменить схему конференций на "полностью стендовую" или "большей частью стендовую". Многие статьи настолько специальны, что их презентация доступна только для нескольких специалистов, интересующихся данной темой. Эти специалисты могут провести более эффективное групповое обсуждение на стендовой сессии. Время на презентацию следует предоставлять тем авторам, идеи которых не следуют духу "delta-X", а также приглашенным докладчикам, которые обобщают текущие результаты в сформировавшихся областях и новшества в новых областях.
В дополнение к этому, мы полагаем, что для распространения информации лучше всего существенно увеличить число принимаемых статей. Это открыло бы дорогу для более новаторских статей без вытеснения сильных результатов категории delta-X, к которым имеют склонность рецензенты представленных статей.
Последнее и, возможно, наиболее дискуссионное наше предложение относиться к процессу публичного рецензирования. Каждый программный комитет и редакционный совет проводит громадную работу по рецензированию большого объема представляемых статей. Мы хотим каким-то образом добывать и публиковать эту ценную информацию. Как только автор делает документ публично доступным, например, представляя его в CoRR, добровольные рецензенты должны иметь возможность опубликовать свои рецензии в модерируемом форуме. Особенно полезными будут организованные рецензии тематически связанных статей, в которых сравнивается и сопоставляется материал. Мы поддерживаем усилия H.V. Jagadish по изучению этих вопросов и началу формирования такой базы данных рецензий.
[1] Laguna Beach meeting of 1988 [SIGMOD Record 18(1) : 17-26].
Lagunita meetings of 1990 and 1995 [SIGMOD Record 19(4) : 6-22, SIGMOD Record 25(1) : 52-63] www.acm.org/sigmod/record/issues/9603/lagunita.ps
ACM 1996 meeting "Strategic Directions in Database Systems - Breaking Out of the Box", ACM Computing Surveys 28{4} : 764-778 www.acm.org/surveys/sdcr