[ Russian ] [ English ]

История и актуальные проблемы темпоральных баз данных

Борис Костенко ,
ВМиК МГУ,
bkostenko@acm.org

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

Сейчас сложно найти приложение, использующее базы данных для хранения информации и которое бы не оперировало данными, связанными с определенными моментами или интервалами времени. Подобные приложения называются темпоральными. Уже более двух десятилетий ведутся активные исследования в этой области, однако их результаты малоизвестны. Более того, на русском языке публикации почти полностью отсутствуют. Одновременно с этим, нельзя не отметить тот факт, что начиная с конца 90-х годов прошлого столетия, ежегодно публикуется до 300-500 работ в данной области. Кроме этого, постоянное снижение цен на носители информации, возрастающая мощность систем, а также значительно увеличивающийся поток данных различного происхождения, который необходимо обрабатывать часто в реальном масштабе времени, ставят новые задачи и проблемы перед разработчиками в области темпоральных баз данных.

В докладе предлагается обзор исследований в области темпоральных баз данных. Сохраняя хронологический порядок, в первой части доклада представлены исходные предпосылки возникновения области исследований темпоральных баз данных как отдельного сообщества исследователей. Одной из основных причин явилось то, что реляционный язык запросов SQL не предоставлял разработчикам практически никакой поддержки при работе с темпоральными базами данных [2, 12], а большая часть приложений была (и остается) темпоральной по своей сути. В данной части доклада представлены основные термины [1, 7], а также дается четкое разграничение пар понятий: время действительное и время транзакции, интервальное и точечное представление.

Вначале считалось, что темпоральная СУБД будет реализована «с нуля», но вскоре исследователи обратили внимание на возможность реализации темпоральной поддержки поверх одной из существующих коммерческих СУБД в виде некоторого proxy-уровня, встраиваемого между приложением пользователя и реляционной СУБД и преобразующего темпоральные запросы в запросы на SQL-92 или SQL:1999, а результаты этих запросов, обратно, в темпоральные. При этом оставалась возможность использовать уже существующие алгоритмы и возможности языка запросов нижележащей СУБД, поэтому этот метод в дальнейшем приобрел популярность, учитывая постоянно развивающийся и дополняющийся стандарт языка SQL.

Во второй части доклада обозначены основные проблемы и вопросы, которые необходимо разрешить как при создании темпорального языка запросов и темпорального расширения СУБД, так и при работе с темпоральными базами данных в общем случае. К ним относятся: представление времени для пользователя и для нижележащей СУБД, проблема движущейся точки "сейчас", гранулярность, разрежение БД (vacuuming), совместимость и преемственность темпорального расширения по отношению к реляционному представлению, поддержка ACID свойств транзакций, соединения, темпоральные ограничения целостности и проектирование темпоральных баз данных [3, 4, 6].

В 1992–1993 годах Richard Snodgrass высказался о возможном темпоральном расширении стандарта SQL-92, а затем был проведен семинар «ARPA/NSF International Workshop on an Infrastructure for Temporal Databases», продемонстрировавший заинтересованность исследователей в темпоральном расширении стандарта. После его окончания была образована комиссия по подготовке спецификации языка. В 1994 года была подготовлена и выпущена спецификация языка для работы с темпоральными базами данных. В начале 1994 года появилась первая предварительная версия спецификации языка, а на основе полученных замечаний в сентябре того же года была выпущена спецификация языка TSQL2. Представленная спецификация языка TSQL2 давала оптимистичные надежды на возможность расширения стандарта языка SQL новыми конструкциями и объединения темпоральной и реляционных моделей. Разные члены сообщества исследователей работали над переносом конструкций и логики языка TSQL2 в язык SQL3. Первым шагом стало добавление в 1995 году седьмой части спецификации языка SQL3 - SQL/Temporal [11]. В 1996 году два предложения [13] и [14], описывающие добавление действительного и транзакционного времен к стандарту SQL3, были единодушно поддержаны в ANSI и переданы в ISO. В докладе представлены возможности и ограничения предложенного расширения.

Многие авторы были убеждены, что окончательное принятие стандарта и расширения для поддержки темпоральных данных со стороны производителей коммерческих СУБД должно было состояться в самом начале XXI века. Но сейчас известно [5], что несколько лет назад были прекращены работы над седьмой частью стандарта SQL - SQL/Temporal. Принимая во внимание этот факт и динамичное развитие в настоящее время темпоральных баз данных во многих направлениях, следующая часть доклада знакомит с исследованиями последних лет, а также актуальными проблемами и задачами, которые стоят перед исследователями в настоящий момент. В частности, здесь будут представлены востребованные в последнее время пространственно-временные базы данных [8, 15].

Заключительная часть доклада посвящена обзору существующих предложений от производителей коммерческих СУБД в области работы с темпоральными базами данных [9]. Здесь рассматриваются принципы технологии Oracle Flashback [10], которая позволяет получить доступ к ретроспективному снимку базы данных на некоторый момент времени прошлого. С точки зрения темпоральной терминологии можно говорить, что речь идет о реализации поддержки времени транзакции (что буквально и реализовано), при этом от пользователя не требуется никаких дополнительных действий, а система также не испытывает дополнительных нагрузок на поддержание этого типа поддержки темпоральных запросов.

Литература:

  1. Когаловский М.Р. Энциклопедия технологий баз данных. – М.: Финансы и статистика, 2002.
  2. Саймон А.Р. Стратегические технологии баз данных: менеджмент на 2000 год. – М.: Финансы и статистика, 1999.
  3. C.J. Date, Hugh Darwen, Nikos Lorentzos. Temporal Data and the Relational Model. Morgan-Kaufmann Publishers, 2002.
  4. Dengfeng Gao, S. Jensen, T. Snodgrass, D. Soo. Join operations in temporal databases. The VLDB Journal — The International Journal on Very Large Data Bases, Volume 14 Issue 1, 2005.
  5. JCC's SQL Standards Page. http://jcc.com/SQL.htm JCC Consulting, 2006.
  6. Christian S. Jensen. Temporal Database Management. http://www.cs.auc.dk/~csj/Thesis/index.html. Dr. techn. thesis, 2000.
  7. Christian S. Jensen, James Clifford, Ramez Elmasri, Shashi K. Gadia, Patrick J. Hayes, Sushil Jajodia. A Consensus Glossary of Temporal Database Concepts. SIGMOD Record, Volume 23, Issue 1, 1994.
  8. JeongKyu Lee, JungHwan Oh, Sae Hwang. Research papers: spatial and multimedia data: STRG-Index: spatio-temporal region graph indexing for large video databases. Proceedings of the 2005 ACM SIGMOD international conference on Management of data, 2005.
  9. Lomet, D., Barga, R., Mokbel, M., Shegalov, G., Wang, R., and Zhu, Y. Immortal DB: Transaction Time Support for Sql Server. SIGMOD Conference, Baltimore, MD, June 2005.
  10. Oracle Flashback Technology. http://www.oracle.com/technology/deploy/availability/htdocs/Flashback_Overview.htm 2006.
  11. Arie Segev, Christian S. Jensen, Richard T. Snodgrass. Report on The 1995 International Workshop on Temporal Databases. SIGMOD Record, Volume 24, Issue 4, 1995.
  12. Richard T. Snodgrass. Developing Time-Oriented Database Applications in SQL. Morgan Kaufmann Publishers, 1999.
  13. Snodgrass, R. T., M. H. Böhlen, C. S. Jensen, and A. Steiner. Adding Valid Time to SQL/Temporal. Change proposal, ANSI X3H2-96-501r1, ISO/IEC JTC1/SC21/WG3 DBL MCI-146r2, November, 1996.
  14. Snodgrass, R. T., M. H. Böhlen, C. S. Jensen, and A. Steiner. Adding Transaction Time to SQL/Temporal. Change proposal, ANSI X3H2-96-502r2, ISO/IEC JTC 1/SC 21/WG 3 DBLMAD-147r2, November, 1996.
  15. Yufei Tao, Reynold Cheng, Xiaokui Xiao, Wang Kay Ngai, Ben Kao, Sunil Prabhakar. Research session: spatial and temporal databases: Indexing multi-dimensional uncertain data with arbitrary probability density functions. Proceedings of the 31st international conference on Very large data bases VLDB '05, 2005.
Supported by Synthesis Group