Магистрант 1 курса Рамазанова В.С.

Казахский национальный университет им. аль-Фараби, Казахстан

Проблемы индексирования в распределенных базах данных

 

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

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

Зеневич А.М. [8] отмечает, что при выполнении многих операций языкового уровня требуется сортировка отношений в соответствии со значениями некоторых атрибутов. Полезным свойством индекса является обеспечение последовательного просмотра кортежей отношения в диапазоне значений ключа в порядке возрастания или убывания значений ключа.

Еще одним полезным свойством индексов является их использование в качестве  способа оптимизации выполнения эквисоединения отношений, то есть организация мультииндексов для нескольких отношений, обладающих общими атрибутами. Любой из этих атрибутов (или их набор) может выступать в качестве ключа мультииндекса. Значению ключа сопоставляется набор кортежей всех связанных мультииндексом отношений, значения выделенных атрибутов которых совпадают со значением ключа.

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

Особенностью индексации в распределенных базах данных является использование эффективных методов индексирования, обеспечивающих доступ к большим объемам данных. Одна организация индекса отличается от другой главным образом в способе поиска ключа с заданным значением. Выделяют следующие основные подходы к организации индекса в реляционных распределенных базах данных:

1.     B+ деревья и их модификации.

2.     Хеширование.

3.     Битовые карты

Рассмотрев основные проблемы индексирования, возникающие при использовании различных механизмов их организации, приходим к выводу, что  наблюдается тенденция размывания границ между механизмами индексов на основе B+ дерева и битовых карт за счет развития технологий сжатия индексов, просмотра индексов с пропуском, а также преобразования деревьев в битовые карты. Также наблюдается размытие границ между индексами на основе B+ дерева и хеширования. Это сближение позволяет частично решить взаимные проблемы.

Рассмотренные методы решения проблем индексирования дают эффект только для некоторых ситуаций. В процессе дальнейших исследований могут возникнуть новые проблемы и появиться другие методы организации индексов.

 

Литература:

1.     Arthur Fuller. Intelligent Database Design Using Hash Keys. - 17 February 2006. электронная версия -  http://www.simple-talk.com

2.     Вивек Шарма. Bitmap-индекс или B*tree-индекс: какой и когда применять? (Bitmap Index vs. B*tree Index: Which and When? by Vivek Sharma). – 2007. Электронная версия:  http://www.oracle.com.

3.     Дейт К. Дж. Введение в системы баз данных = An Introduction to Database Systems 7-е изд. / М.: «Вильямс», 2001.

4.     Дейв Энсор, Йен Стивенсон Oracle. Проектирование баз данных. – М.: BHV, 1999.

5.     M. Tamer Özsu, Patrick Valduriez Principles of Distributed Database Systems. Third Edition. Springer Science+Business Media, LLC 2011

6.     Дюсембаев А.Е. Дюсембаев С.А. Информатика. Структуры данных, сортировка, поиск. Учебное пособие. – Алматы: ТОО «Dair», 2010 г.

7.     Джонатан Льюис. Разбираемся с индексами на основе битовых карт / Валерий Кравчук. ИТ. – 2005. Электронная версия: http://www .jlcomp.demon.co.uk/

8.     Зеневич А.М. Технологии баз данных и знаний. / Минск: БГЭУ, 2011.

9.     Кузнецов С.Д. Основы современных баз данных. / ИСП РАН, Центр Информационных Технологий – М: 2003 г.

10.  Эдельштейн Х. Битовые массивы ускоряют обработку запросов к информационным хранилищам./ Computer weekly - №28 – 1996 г.