Классика баз данных - статьи

       

Классика баз данных - статьи


К сожалению, ситуация с литературой по системам баз данных в нашей стране такова, что многие важные работы не только не переведены на русский язык, но зачастую не существует даже их русскоязычных обзоров. Подобная ситуация сложилась и с ARIES. Несмотря на массу англоязычных публикаций про алгоритмы этого семейства в крупнейших изданиях, посвященных тематике баз данных, повсеместное применение и признание ARIES, публикаций на русском языке фактически нет. Данная статья призвана восполнить этот пробел.

Семейство алгоритмов ARIES содержит алгоритмы восстановления систем, в которых поддерживается понятие транзакции. В настоящее время алгоритмы этого семейства являются крайне популярными и используются в целом ряде продуктов крупнейших производителей программного обеспечения. Так, например, ARIES используется в СУБД IBM DB2, Starburst и Lotus Domino/Notes. Из продуктов других компаний можно назвать ныне покойную объектно-ориентированную СУБД O2 (O2 Technology), Microsoft SQL Server и файловую систему NTFS.

Чем же вызвана такая популярность этого семейства алгоритмов? Дело в том, что алгоритмы ARIES оказались чрезвычайно гибкими. Не фиксируя почти никаких особенностей реализации, любой из алгоритмов предлагает разработчику массу вариантов для достижения тех или иных преимуществ.

Каждый из алгоритмов ARIES представляет собой собрание множества небольших подалгоритмов, которые сравнительно легко понять и реализовать. Помимо этого, алгоритмы этого семейства отличаются сильной "ветвистостью", то есть рассматриваются различные способы реализации того или иного эффекта, в зависимости от выбранных способов журнализации, буферизации, структур данных и так далее.

Вероятно, именно с этим свойством "ветвистости" связано то, что название оригинального алгоритма ARIES (Algorythm for Recovery and Isolation Exploiting Semantics) довольно быстро претерпело небольшие изменения. Первую букву названия стали расшифровывать не как Algorythm, а как Algorythms. Множество разновидностей оригинального алгоритма появилось почти сразу после его создания. На сегодняшний день можно выделить около десяти специализированных алгоритмов семейства ARIES, наиболее крупными из являются ARIES for Semi-Structured Data [1] (этот алгоритм был реализован в Lotus), ARIES/KVL и ARIES/IM [2]. Два последних алгоритма ориентированы на детальную разработку способов управления индексами. Они были в различной степени реализованы в СУБД DB2.

Бросив беглый взгляд на семейство алгоритмов ARIES, перейдем к его более детальному рассмотрению. Начнем с истории создания алгоритма.



Содержание  Назад  Вперед