1626434812-e667f6b6e7e69d3a0798830a58e9075b (844135), страница 57
Текст из файла (страница 57)
Избьггочные сравнения в соединении по алгоритму с использованием трансляционной передачи отношения возникают в результате лишних сравнений каждого кортежа меньшего отношения К1 1с меньшим числом кортежей) со всеми кортежами большего отношения В2 (с большим числом кортежей). В соединении по алгоритму, основанному на блочной персдаче опюшений. каждый кортеж Й2 сравнивается только с нужной частью отношения К1. В отличие от соединения по алгоритму, основанному на блочной передаче, при котором оба отношения должны быть перераспределены, соединение по алгоритму, использующему трансляционную передачу, требует перераспределения только меньшего отношения К1.
Таким образом, когда отношения И и К2 сравнимы по числу кортежей, соединение по алгоритму, основанному иа блочной передаче отношений, предпочтительнее. Однако если одно отношение, например, К1 значительно меньше, чем В2, соединение следует выполнять с применением трансляционной передачи меньшего отношения. В связи с этим в СУБД должны быть реализованы оба алгоритма соединения, Система должна определять, какой подход использовать в зависимости от входного множества данных. 10.2.5. Построение параллельных баз данных Применение параллельной обработки в БД ориентировано на перенос наиболее трудоемких функций БД на решающее поле мультипроцессорной вычис- Базы данных.
Интеллектуальная обработка информации лительной системы. Интерфейс с пользователем при этом осуществляется с помощью управляющих ЭВМ. Для создания такой эффективной СУБД необходимо, в первую очередь, переложить на параллельную архитектуру основные операции реляционной алгебры, такие как соединение, проекция и еелекциа. Нет необходимости разрабатывать какую-либо принципиально новую СУБД.
Достаточно расширить уже существующие и популярные среди пользователей СУБД функциями фрагментации отношений и параллельного выполнения операций реляционной алгебры. Вычислительные системы с распределенной памятью позволяют достичь почти линейного ускорения при выполнении сложных реляционных запросов и при транзакционной обработке запросов ~66, 69, 77). Наличие таких результатов позволяет надеяться на возможность применения компьютерных сетей со стандартными связными интерфсйсами вместо сложных систем с общедоступной разделяемой памятью и дисками. 10.3.
Реализация баз данных на системах с разделяемой памятью 10.3.1. Факторы, способствующие появлению систем с данными, размещаемыми в оперативной памяти Выше уже отмечалось, что суммарный объем оперативной памяти всех ВМ системы может достигать нескольких терабайт. При этом цена такой памяти сравнима с ценой такого же объема дисковой памяти в начале 90-х годов. Развитие архитектуры ссМЗМА и использование стандартных коммуникационных технологий с пропускной способностью на уровне! Гбайта в секунду делает разделяемую память почти такой же быстрой, как память отдельного компьютера ~73~. Вторым фактором служит развитие и применение 64-разрядных операционных систем, позволивших преодолеть ограничение на объем данных, непосредственно размещаемых в оперативной памяти.
16.3.2. Особенности систем с данными, размещаемыми в оперативной памяти Системы управления баз данных, использующие одноуровневую модель общедоступной разделяемой памяти, существенно отличаются по внутренней организации от СУБД, основанных на двухуровневой памяти ~74~. Однако семантический и синтаксический интерфейс с базой данных остается неизменным — язык Я(;6..
Интерфейс прикладного программирования удовлетворяет спецификации ООВС ~Ореп Эа1а Вазе Соппесйм~у). ,Глава 10. Параллельные базы данных В СУБД, использующих двухуровневую память, вся оптимизация обработки данных исходит из того, что данные в подавляющем большинстве случаев находятся на диске. Поэтому применяются индексные структуры для доступа к данным на основе В-деревьев и специальный буферный пул, отслеживающий размещение данных.
При этом учитывается управление памятью со стороны операционной системы, в частности, взаимодействие с механизмом управления замещснисм страниц виртуальной памяти. Это приводит к тому, что программы управления буферным пулом становятся весьма сложными [78~. Эти СУБД, даже будучи сконфигурированными так, чтобы все данные размещались в оперативной памяти, остаются неэффективными в силу используемых индексных структур и алгоритмов оптимизации запросов, а также организации управления буферным пулом, Оптимизация запросов в двухуровневых СУБД имеет целью минимизацию числа обращений к дисковой памяти и времени позиционирования головок на требуемых дорожках. Во всем этом нет надобности при размещении данных в оперативной памяти.
В силу одного уровня памяти в СУБД с размещением данных в оперативной памяти не требуется буферного пула, кэширующего данные дисковой памяти. Кроме того, в СУБД с размещением данных в оперативной памяти используется индексирование, основанное на Т-деревьях, реализующих отношения "меньше или равно" и "больше" для индексных значений посредством указателей на адреса памяти.
Это позволяет значительно сократить число операций процессора при поиске данных, так как с каждым переходом по указателю область поиска сужается вдвое. В [741 утверждается, что время управления данными в одноуровневой СУБД на порядок меньше, чем в двухуровневой СУБД. 10.3.3. Примеры одноуровневых СУБД В [74) приводятся сведения о двух одноуровневых СУБД "Т1тезТеп" фирмы ТппезТеп Рег$огвапсе Бочаге и Апяага Пса Берег компании Апяага Оа~а Вазе Буз~етз. В этих СУБД применяется индексирование двух типов: хеширование и Т-деревья, Хешированные индексы используются при поиске по точному совпадению с ключом поиска.
Они создаются автоматически для первичных ключей. Т-деревья применяются при поиске в интервале значений индекса посредством заданной Т-деревом частичной упорядоченности множества значений индекса. Построение Т-дерсва выполняется по команде, параметром которой служит индексируемый атрибут. Оптимизатор запросов составляет план исполнения 3(й.-запросов, определяя порядок и алгоритм реализации операций соединения ~о~п) исходя из суще- Базы данных. Интеллектуальная обработка информации ЗОб ствующего набора индексов и директив пользователя по созданию индексов и выполнению операций соединения.
В Т>теаТеп возможна также частичная компиляция БЯ1 -запросов по директиве ЯЯ Ргераге(), по которой производятся все возможные вычисления и составляется план оптимального выполнения запроса. В ходе собственно выполнения запроса по директиве Я~1.Ехесы1е() реализуются только операции, зависящие от входных данных, что позволяет повышать скорость исполнения запросов. Одноуровневые СУБД могут быть сконфигурированы для работы как с серверными, так и с клиентскими приложениями, использующими протокол ТССР. В этом стиле решаются проблемы тиражирования отношений баз данных, балансировки нагрузки, создания контрольных точек, сохраняющих на дисках состояние базы и журнал регистрации транзакций. Одноуровневые СУБД создаются в предположении совместного использования с двухуровневой базой данных.
Первичная копия отношений базы данных хранится в оперативной памяти, резервные копии сохраняются в дисковой памяти. 10.4. Единый системный образ 10.4.1. Аппаратно-программные платформы информационных систем В качестве аппаратно-программных платформ в информационных системах, использующих распределенные и параллельные базы данных, применяются кластеры и МРР системы. Основное отличие между этими аппаратнопрограммными платформами заключается соответственно в использовании или не использовании в общесистемном программном обеспечении особенностей прикладных программ информационной системы ~73, 79, 80). В частности, для кластеров характерно: ° построение на основе стандартных программно-аппаратных парадигм: Орел Бочаге Еоцпс$апоп 1лзЫЬцйед Сотрцппд Епъчгопшспс (ОБЕ РСЕ) и Ореп )че1иогк Согпрц6пд (ОМС), поддерживающих общие имена и возможности доступа; ° согласованность наборов прикладных программ, форматов данных; ° общая для всех ВМ кластера организация информационной безопасности, общий алгоритм обнаружения неисправностей и реконфигурации для обеспечения функционирования при наличии отказов.
Между аппаратно-программными средствами платформы и программными средствами СУБД, построенной с ориентацией на некоторую логическую структуру вычислительной системы, необходим согласующий уро- ,Глава 10. Параллельные базы данных вень программного обеспечения, формирующий и поддерживающий образ системы обработки данных. Например, в системах с разделяемой памятью вводится уровень передачи сообщений для того, чтобы достигнуть согласования с моделью базы данных, основанной на двухуровневом представлении памяти. Образ системы обработки данных обычно реализуется системным программным обеспечением промежуточного уровня (гпкЫ! еюаге), не входящим в состав операционной системы. Это промежуточное программное обеспечение поддерживает образ системы как совокупности одного или нескольких логических дисков и других устройств хранения данных (парирует отказы компонент системы, управляет заменой отказавших компонент, устанавливает альтернативные пути передачи данных, генерирует необходимое количество серверных приложений для изменяющегося числа клиентских запросов и так далее).