|
| ||||||||||||
| ||||||||||||
|
2005 г.
Крупные проблемы и текущие задачи исследований в области баз данныхСергей Кузнецов, Институт системного программирования РАН В сообществе баз данных не слишком принято индивидуально анализировать и прогнозировать направления исследований. На это отваживаются лишь немногие (одним из исключений является Джим Грей [1]). Обычно же подобная работа выполняется на сравнительно регулярных собраниях наиболее авторитетных представителей исследовательского сообщества, которые обмениваются мнениями и, по мере возможности, вырабатывают общую точку зрения. В результате таких собраний формулируется отчет, в котором фиксируется представление сообщества о путях развития исследований. Хорошо известны отчет собрания в Лагуна-Бич (1989 г.) [2] и Асиломарский отчет (1996 г.) [3]. Общий обзор этих материалов можно найти в моей статье "Направления исследований в области баз данных: десять лет спустя" [4]. Последнее подобное собрание состоялось в 2003 г. в г. Лоуэлл, штат Массачусетс. Лоуэллский отчет до сих пор официально не опубликован, хотя обсуждался на панельной дискуссии конференции SIGMOD в 2003 г. [5]. Однако предварительная версия отчета доступна в Internet [6], и я начну свою статью с его краткого обсуждения. Во второй части я приведу некоторые собственные рассуждения по поводу более практичных текущих потребностей, не претендуя на обобщения. 1. Лоуэллские прогнозыВ дискуссиях в Лоуэлл участвовали 29 ведущих исследователей в области данных, среди которых присутствовали такие известные ученые как Серж Абитебуль, Ракеш Агравал, Филипп Бернштейн, Стефано Чери, Дэвид Девитт, Гектор Гарсиа-Молина, Джим Грей, Лаура Хаас, Янис Ионнидис, Дэвид Мейер, Ханс Шек, Тимос Селлис, Ави Зильбершац, Майкл Стоунбрейкер, Рик Снодграсс, Джеффри Ульман, Герхард Вейкум, Дженифер Видом, Стэн Здоник и т.д. В течение двух дней участники отметили много новых приложений, технологических тенденций и точек соприкосновения с другими областями, влияющими на развитие области баз данных. Для решения имеющихся проблем требуется новая инфраструктура управления информацией, и в первой части отчета обозреваются компоненты этой инфраструктуры. Во второй части обсуждаются темы, вызвавшие разногласия, и отмечаются ближайшие шаги по направлению к созданию новой инфраструктуры.По мере потребности, я буду комментировать положения отчета, которые (в моем изложении) выделяются курсивом. 1.1 Инфраструктура следующего поколения
1.2 Ближайшие шаги и спорные темыМногие направления исследований, упоминавшиеся выше, являются очень долгосрочными. Однако у участников собрания в Лоуэлл имелось несколько соображений по поводу ближайших шагов, которые могли бы принести результаты в течение пяти лет, ко времени следующего собрания (т.е. к 2008 г.). Некоторые ближайшие цели упоминались выше: предложения по пересмотру архитектуры СУБД для работы с новыми типами данных, неполными и неточными данными, а также для достижения равноправия процедур и данных. Предлагались и некоторые другие шаги.Исследования в области интеграции информации следовало бы оснастить испытательным стендом и набором интеграционных задач. Это позволило бы обеспечить доступ к испытательной платформе для проверки любой новой интеграционной идеи. Испытательный стенд позволил бы сравнивать решения контролируемым образом, включая возможность получения права похвастаться, если одно из решений является в настоящее время наилучшим для некоторой интеграционной задачи. Это помогло бы поддерживать интерес к этой области исследований. В сообществе информационно-поисковых систем аналогичным целям служит TREC (Text REtrieval Conference). Состоялось содержательное обсуждение способов организации такого испытательного стенда. При наличии многих технических проблем организации контролируемых экспериментов наиболее трудной проблемой является получение подходящих наборов данных. Одно из потенциально пригодных практических предложений состоит в том, чтобы 10-20 факультетов Computer Science обеспечили публичный доступ к своим расписаниям занятий и другим аналогичным данным. Всем представителям факультетов, которые могут сделать такие наборы данными доступными, следует контактировать с Майклом Стоунбрейкером, выступающим в роли координатора построения этого испытательного стенда. К настоящему времени эта работа выполнена. Испытательный стенд создан на базе University of Florida, USA (http://www.cise.ufl.edu/project/thalia.html). THALIA (Test Harness for the Assessment of Legacy information Integration Approaches) является публично доступным испытательным стендом и набором эталонных тестов для тестирования и сравнения технологий интеграции. Web-сайт обеспечивает исследователей и практиков набором из 40 скачиваемых источников данных, представляющих каталоги курсов факультетов Computer Science со всего мира. Данные испытательного стенда синтаксически и семантически неоднородны, и их интеграция представляет серьезную техническую проблему для исследовательского сообщества. Кроме того, на сайте имеется набор из 14 эталонных запросов, а также средство количественной оценки производительности системы интеграции. В [7] представлен первый публичный отчет о проекте. Существенная часть участников собрания поддержала ту точку зрения, что многие традиционные исследования фокусируются на решенных проблемах (например, свойствах ACID-транзакций). Другие участники в ответ на это утверждали, что изменения в родственных технологиях могут потребовать пересмотра этих проблем и что всегда имеется потенциальная возможность нахождения более простых, легче реализуемых механизмов, или более мощных механизмов с расширенной областью применения. Жаркая дискуссия разгорелась по поводу того, требуются ли для систем потоковой обработки новые виды СУБД, или к новым требованиям можно приспособить существующие системы. Также обсуждался уровень, на котором следует производить интеграцию информации. Хотя многие участники полагали, что наилучшим местом для этого является СУБД, другие считали, что более естественным и распространенным является уровень приложения (например, на основе Web-сервисов). Обсуждалась возможность использования Web-сервисов для решения проблем семантической интероперабельности. Одни участники выражали надежду на то, что для таких сервисов появятся стандарты де-факто, а другие возражали, что в мире электронных компонентов (Rosetta Net) стандартизация набора сервисов ведется на протяжении многих лет с очень ограниченным успехом. В заключение отчета приводятся два замечания, с которыми были согласны все участники собрания. Во-первых, сообществу баз данных следует избегать самоизоляции. Нужно исследовать возможности совместного использования технологий баз данных и смежных областей с целью совершенствования использования информации. В частности, это касается технологий визуализации информации. По мере расширения набора используемых технологий, исследователи баз данных должны расширять масштабы своей компетенции. Во-вторых, отмечалось, что средний возраст участников собрания вырос по сравнению с предыдущими собраниями. Было решено более активно привлекать молодых исследователей к участию в подобных встречах. 2. Российские потребности и возможностиНачнем с того очевидного факта, что российская часть мирового сообщества баз данных (а) очень малочисленна и (б) слабо интегрирована с остальным миром. Думаю, что причины очевидны и на них не стоит останавливаться. В России существуют несколько сравнительно активно действующих исследовательских групп. Я не буду их перечислять или как-то оценивать результаты, потому что могу что-нибудь опустить или оценить недостаточно объективно. Замечу только, что одна из таких групп, в которой участвую я сам, функционирует в Институте системного программирования РАН. Приводимые ниже субъективные соображения отражают позицию этой группы.Группа MODIS уже шесть лет в основном занимается исследованиями и разработками, относящимися к области управления XML-данными. Мы начали с проекта системы интеграции источников реляционных и XML-данных на основе модели данных XQuery [10]. В этой системе глобальная схема интегрированных данных представлялась на языках DTD или XML Schema, сами интегрированные данные представлялись в формате XML и могли запрашиваться на языке XQuery. Последние два года группа выполняет проект Sedna, "прирожденной" XML-ориентированной СУБД, опирающейся на собственную подсистему хранения XML-данных и язык запросов XQuery [11]. В этом проекте "с нуля" создается полнофункциональная XML-СУБД, но он интересен еще и тем, что является одним из немногих (если не единственным) инициированным в России проектом СУБД с открытыми исходными текстами (об этом мы еще поговорим позже). Необходимо заметить, что при выполнении обоих проектов нам пришлось столкнуться с рядом нерешенных исследовательских проблем. В проблемную область входят эффективные языковые и алгоритмические средства и методы отображения схем XML-документов; методы перезаписи XQuery-запросов с целью их оптимизации; методы выполнения XQuery-запросов на физическом уровне; методы организации хранения XML-данных во внешней памяти для эффективной поддержки как операций выборки, так и операций обновления данных; методы управления транзакциями в XML-СУБД и многое другое. Каждой из перечисленных тем посвящено много исследовательских работ, но законченные, пригодные для использования в реальных системах решения отсутствуют. Так что одной из общих тактических проблем сообщества баз данных является формирование сбалансированной полной технологии управления XML-данными, достоверность которой должна быть подтверждена в реализованных и практически используемых системах. Еще раз подчеркну, что в области баз данных (как и во многих других областях Computer Science) единственным достоверным критерием истинности исследовательских результатов является успешное использование этих результатов при разработке эффективно функционирующей программной системы. В данной области системы (системы интеграции, СУБД и т.д.), как правило, бывают большими и сложными. Разработка таких систем занимает годы. На Западе (в особенности в США) на основе результатов перспективных проектов часто образуются "начинающие" (startup) компании, финансируемые различными инновационными организациями, которые доводят результаты проекта до коммерческого продукта и выходят с ним на рынок. Компании вступают в конкурентную борьбу на рынке и либо завоевывают себе право на существование (что случается крайне редко), либо приобретаются более крупными компаниями (это происходит тоже нечасто), либо (что происходит гораздо чаще) погибают. Но даже этот не слишком надежный путь недоступен для российских исследователей. Снова причины очевидны и я не буду их разъяснять. Как нам кажется, единственным выходом в обозримом будущем является участие в движении open source. Сегодня российские разработчики активно участвуют во всех известных проектах СУБД с открытыми исходными текстами: MySQL, PostgreSQL, Interbase, Firebird. Это очень важно, поскольку проекты уже являются достаточно зрелыми, и молодые исследователи получают возможность использовать на практике имеющиеся у них знания, оставаясь на родине и одновременно сближаясь с широким международным сообществом. Мне кажется очень важным и упоминавшийся выше проект Sedna, основанный в России, вокруг которого постепенно складывается сообщество. Последняя проблема, которую я отмечу в этой статье, состоит в острой потребности в доступных параллельных СУБД. До недавнего времени использование СУБД, обладающих возможностью параллельно выполнять запросы к базам данных на многопроцессорных вычислительных системах, являлось привилегией богатых компаний, поскольку многопроцессорные компьютеры, которые изготавливаются и поставляются ведущими мировыми компаниями, на порядки дороже широко распространенной вычислительной техники. Однако теперь появилась и активно используется возможность приобретения (или самостоятельного изготовления) относительно недорогих кластерных вычислительных комплексов, которые все более широко используются в разнообразных научных исследованиях. Более того, именно такие кластеры лежат в основе развивающегося направления grid-вычислений. И теперь мы столкнулись с ситуацией, в которой доступные кластерные архитектуры практически невозможно использовать для эффективного управления данными. Немногочисленные коммерческие параллельные СУБД, потенциально пригодные для использования на таких архитектурах, во-первых, являются очень дорогими (как по причине своей сложности, так и из-за того, что первоначально они предназначались для дорогих вычислительных систем). Во-вторых, даже если учитывать обычную готовность компаний, производящих подобные СУБД, предоставлять их для некоммерческого использования с большими скидками или вообще бесплатно, имеются существенные технические затруднения. Например, одним из наиболее известных решений, пригодных для использования на кластерной архитектуре, является Real Application Cluster (RAC) компании Oracle. Но для эффективной работы этой системы требуется мощная дисковая подсистема, быстрый доступ к которой должен обеспечиваться для всех узлов кластера. Затраты на приобретение требуемой дисковой подсистемы практически удваивают стоимость кластера, а требуемая дополнительная кабельная система существенно усложняет конструкцию. К тому же при наличии общей дисковой системы возможности масштабирования СУБД при наращивании числа узлов кластера ограничены. У компании IBM имеется кластерное решение DB2 Database Partitioning Feature (DPF), ранее обеспечивавшееся продуктом DB2 Parallel Edition. По своей организации DB2 c DPF очень хорошо соответствует кластерной архитектуре: для работы системы не требуется общая основная или дисковая память, при оптимизации запросов минимизируется передача данных между узлами, система практически неограниченно масштабируется. Но проблема состоит в том, что компания решительно рекомендует использовать систему на кластерах своего собственного производства, хотя и допускается использование ОС Linux. Имеется (пока что не до конца проверенное) подозрение, что систему очень нелегко установить на произвольный кластер и тем более трудно добиться желаемой производительности. В России имеется исследовательская группа, которая специализировалась в области параллельных СУБД [13], но результаты выполненного проекта далеки от получения работоспособной системы. Единственным выходом из положения является разработка параллельной СУБД с открытыми исходными текстами. К настоящему времени имеется кластерный вариант СУБД MySQL [14], но в системе не поддерживается параллельное выполнение запросов. Проект, в котором исследуются возможности распараллеливания запросов в кластерном варианте MySQL, ведется в Копенгагенском университете в Дании [15], однако практических результатов пока не видно. По моему мнению, российским специалистам следует присоединиться к этой работе или начать свой собственный проект. Литература1. Jim Gray. The Revolution in Database Architecture. Microsoft Research, March 2004, Technical Report MSR-TR-2004-31, ftp://ftp.research.microsoft.com/pub/tr/TR-2004-31.pdf 2. Philip A. Bernstein, Umeshwar Dayal, David J. DeWitt, Dieter Gawlick, Jim Gray, Matthias Jarke, Bruce G. Lindsay, Pete C. Lockemann, David Maier, Erich J. Neuhold, Andreas Reuter, Lawrence A. Rowe, Hans-Jorg Schek, Joachim W. Schmidt, Michael Schrefl, and Michael Stonebraker. Future Directions in DBMS Research - The Laguna Beach Participants. SIGMOD Record 18(1): 17-26 (1989) 3. Philip A. Bernstein, Michael L. Brodie, Stefano Ceri, David J. DeWitt, Michael J. Franklin, Hector Garcia-Molina, Jim Gray, Gerald Held, Joseph M. Hellerstein, H. V. Jagadish, Michael Lesk, David Maier, Jeffrey F. Naughton, Hamid Pirahesh, Michael Stonebraker, and Jeffrey D. Ullman. The Asilomar Report on Database Research. SIGMOD Record 27(4): 74-80 (1998) 4. С.Д. Кузнецов. Направления исследований в области баз данных: десять лет спустя. 5. Jim Gray, Hans Schek, Michael Stonebraker, Jeff Ullman. The Lowell Report. Proceedings of the 2003 ACM SIGMOD International Conference on Management Of Data 6. Serge Abiteboul, Rakesh Agrawal, Phil Bernstein, Mike Carey, Stefano Ceri, Bruce Croft, David DeWitt, Mike Franklin, Hector Garcia Molina, Dieter Gawlick, Jim Gray, Laura Haas, Alon Halevy, Joe Hellerstein, Yannis Ioannidis, Martin Kersten, Michael Pazzani, Mike Lesk, David Maier, Jeff Naughton, Hans Schek, Timos Sellis, Avi Silberschatz, Mike Stonebraker, Rick Snodgrass, Jeff Ullman, Gerhard Weikum, Jennifer Widom, and Stan Zdonik. The Lowell Database Research Self Assessment. June 2003, 7. Samuel Madden, Michael J. Franklin, Joseph M. Hellerstein, Wei Hong. TinyDB: An Acquisitional Query Processing System for Sensor Networks. To be appeared at the ACM Transactions on Database Systems. http://db.csail.mit.edu/madden/html/tinydb_tods_final.pdf 8. С.Д. Кузнецов. Обзор журнала "Bulletin of the Technical Committee on Data Engineering June 1999", Vol. 22, No. 2 9. Волкер Маркл, Гай Лохман, Виджайшанкар Раман Волкер Маркл, Гай Лохман, Виджайшанкар Раман. LEO: самонастраивающийся оптимизатор запросов для DB2. Открытые системы, N 4, 2003 10. Joachim Hammer, Mike Stonebraker, and Oguzhan Topsakal, "THALIA: Test Harness for the Assessment of Legacy Information Integration Approaches." In Proceedings of 21st International Conference on Data Engineering (ICDE), short paper track, Tokyo, Japan, April 2005, http://www.cise.ufl.edu/research/dbintegrate/ICDE2005.pdf 11. К.В. Антипин, М.Н. Гринев, С.Д. Кузнецов, Л.Г. Новак, П.О. Плешачков, М.П. Рекуц, А.В. Фомичев, Д.Р. Ширяев. Оперативная интеграция данных на основе XML: системная архитектура BizQuery. Труды Института системного программирования, Т.5. М., ИСП РАН, 2004 12. М. Гринев, С. Кузнецов, А. Фомичев. XML-СУБД Sedna: технические особенности и варианты использования. Открытые системы, N 8, 2004 13. Л.Б. Соколинский. Организация параллельного выполнения запросов в многопроцессорной машине баз данных с иерархической архитектурой. Программирование, N 6, 2001, http://sok.susu.ru/papers/sources/Sokolinsky%2001.pdf 14. Mikael Ronstrom, Lars Thalmann. MySQL Cluster Architecture Overview. A MySQL Technical White Paper, April 2004 15. The Badger Project. |
|
CITForum © 1997–2025