УЛК 004.75
© Ё.А. Бахвалов, Е.Д. Цацорин, 2014
Л.А. Бахвалов, Е.А. Цацорин
УПРАВЛЕНИЕ ПОТОКАМИ ДАННЫХ В КЛАСТЕРНЫХ ИНФОРМАЦИОННЫХ СИСТЕМАХ
Приведена классификация кластерных систем как платформ для построения хранилищ данных. Подробно рассмотрены мастер-слейв и мультима-стерные кластеры, их достоинства и недостатки. Рассмотрены факторы, влияющие на производительность мультимастерного кластера баз данных, рассмотрены пути повышения производительности мультимастерного кластера баз данных. Ключевые слова: мультимастерный кластер, репликация, хранилище данных, кластер баз данных.
Всемирная информатизация, бурное развитие сети интернет, широкое проникновение ее во все сферы общественной жизни постоянно повышает актуальность проблем увеличения производительности, надежности и доступности информационных систем и ресурсов. При построении систем, решающих сложные задачи управления и предоставления информации в масштабах государства особое внимание уделяется обеспечению надежности и отказоустойчивости.
В основе построения таких систем лежат центры обработки данных (ЦОД). В целях обеспечения надежности и отказоустойчивости ЦОД реализуется в виде территориально разнесенных узлов. Основной задачей ЦОД является предоставление гарантированной безотказной работы информационной системы с заданными уровнями доступности и надежности.
Информационная система (ИС), предоставляемая ЦОДом с точки зрения пользователя представляет единый экземпляр сервера. В зависимости от типа решаемых задач в ИС, при ее построении используются различные аппаратные архитектуры: System Z, Power, Intel, либо комбинированные. Для кардинального увеличения вычислительной мощности на
которой происходит развертывание ИС фактически определились три основных направления [2]:
• Слабосвязанные многопроцессорные системы - совокупность самостоятельных компьютеров, объединенных в единую систему быстродействующей сетью и, возможно, имеющих общую дисковую подсистему;
• Симметричные многопроцессорные системы (SMP) - форма сильносвязанных многопроцессорных систем, т.е. систем, разделяющих единую оперативную память и, наиболее часто - дисковую подсистему;
• Massive Parallel Processing (MPP) -системы с массовым параллелизмом -системы с сотнями и тысячами процессоров, с отдельной памятью у каждой системы, детали их реализации могут значительно различаться в зависимости от класса решаемых задач.
В первую категорию попадают получившие высокое распространение кластеры высокой готовности (High availability-clusters, HA-clusters) и кластеры балансировки нагрузки (Load-balanced-clusters, LB-clusters).
Кластеры высокой готовности -группа компьютеров, поддерживающих выполнение серверной службы или нескольких с максимальным временем их работы. В случае выхода из
строя одного из компьютеров кластера его службы переносятся на другой с минимальными потерями времени.
Кластеры балансировки нагрузки - группа компьютеров, рабочая нагрузка в которых распределяется между ее узлами.
На практике данные виды кластеров комбинируются, так как кластер балансировки нагрузки имеет критическую точку - узел, выполняющий службу распределения нагрузки, устранение которой производят путем перенесения служб балансировки нагрузки в кластер высокой доступности. Таким образом кластер представляет собой две группы серверов -ИД-сервера и ЬБ-сервера.
Для обеспечения надежности в кластерах используются различные технологии - резервное копирование, использование высоконадежных дисковых массивов в качестве хранилищ информации, дублирование каналов связи.
Обеспечение надежности прозрачно для конечного пользователя, следовательно, критерием оценки работы кластера становится время отклика сервиса, которое зависит от множества факторов [1, 3]:
• скорость сетевого соединения между клиентом и сервером приложения, между сервером приложения и сервером базы данных.
• скорость сервера приложений, обрабатывающего запрос клиента -во многом зависит от программно-аппаратного обеспечения, их корректной настройки;
• скорость сервера базы данных -также во многом зависит от программно-аппаратного обеспечения, корректной настройки сервера.
Для обеспечения быстродействия и отказоустойчивости серверов баз данных также применяются кластерные (ИД-с1ш1еге и ЬБ-с1ш1еге) технологии. Существует множество схем
построения кластеров баз данных и каждая программно-аппаратная реализация зависит от поставленных условий, однако все многообразие можно условно разделить на схемы с одной главной СУБД, несушей основную нагрузку - мастер-слейв кластера (master-slave) (рис. 1) и схемы где нагрузка распределяется на множество узлов - мультимастерные (multimaster) кластера (рис. 2). В контексте распределенных баз данных данные схемы носят название механизмов асинхронного тиражирования данных и двухфазной фиксации [5].
Мастер-слейв кластер
Главной особенностью мастер-слейв кластера является то, что вся нагрузка модифицируюших запросов приходится на один главный узел, а немодифицируюшие запросы рас-
Рис. 1. Схема одномастерного кластера
Чтение — > Запись Рис. 2. Схема мулыимастерного кластера
пределяются между узлами. В процессе работы синхронизация узлов происходит посредством различных механизмов:
• пересылки журналов транзакций с главного узла на резервный с подтверждением прохождения транзакции на резервном узле;
• пересылки журналов транзакций с главного узла на резервный без подтверждения прохождения транзакции на резервном узле;
• пересылки подписки - выполняемых действий с главного узла на резервный;
• низкоуровневой синхронизации на уровне файловой системы.
В случае выхода главного узла из строя в работу включается резервный узел. В зависимости от состояния резервного узла переход осуществляется «на горячую» - когда в момент выхода из строя СУБД уже запущена и «на холодную» - когда СУБД необходимо запустить.
Основными достоинствами мастер-слейв кластера являются простота реализации, скорость работы, отсутствие дополнительного оборудования.
Если установить синхронизацию резервного узла при каждой транзакции на запись, то это приведет к значительному снижению быстродействия - с главного узла транзакция должна будет быть передана резервному, и обратно должна быть возвращена информация о корректном (некорректном) ее завершении.
В ином случае при выходе из строя главного узла может возникнуть потеря критически важной информации. В силу этих причин при реализации кластеров БД, содержимое которых является критическим для ИС, предпочитаемой схемой построения становится схема с синхронной фиксацией модифицирующих запросов (репликацией) - мультимастерный кластер.
Мультимастерный кластер
Главным признаком мультимастерного кластера является непрерывная поддержка каждой базы данных в актуальном состоянии. Поддержка синхронного состояния и распределение нагрузки происходит путем репликации модифицирующих запросов на все узлы кластера и распределения немодифицирующих запросов между узлами. Если доля модифицирующих запросов в потоке запросов небольшая, то схема позволяет добиться хорошей горизонтальной расширяемости кластера - с увеличением количества узлов скорость работы кластера будет увеличиваться.
Время прохождения немодифици-рующего запроса в многомастерном кластере складывается из следующих составляющих:
• времени обработки запроса на балансировщике - t1 ;
• времени передачи запроса на узел СУБД - t2;
• времени обработки запроса СУБД - t3;
• времени передачи результата на балансировщик - t4;
• времени выдачи результата клиенту с балансировщика - t5.
Время прохождения модифицирующего запроса в многомастерном кластере складывается из следующих составляющих:
• времени обработки запроса на балансировщике - t^
• наибольшей суммы времен для каждого узла:
• времени передачи запроса на данный узел СУБД t2;
• времени обработки запроса на данном узле СУБД t3;
• передачи ответа с данного узла на балансировщик t4;
• времени выдачи результата клиенту с балансировщика - t5.
Основными достоинствами кластеров с балансировкой нагрузки являются:
• горизонтальная масштабируемость;
• избыточность данных;
Основными недостатками кластеров
с балансировкой нагрузки являются:
• наличие критически важного узла - балансировщика;
• дополнительные затраты на оборудование.
Производительность кластера
Производительность мультимастер-ного кластера баз данных прямо пропорциональна скорости обработки запроса. Факторами, влияющими на время обработки запроса на СУБД и балансировщике £5) являются [3, 4]:
• степень загруженности узла;
• производительность аппаратного обеспечения;
• производительность программного обеспечения.
Данные факторы являются взаимосвязанными, например, изменив производительность аппаратного обеспечения, также меняется степень загруженности узла и производительность программного обеспечения.
Факторами, влияющими на время передачи запроса по сети [1] (£2, t4):
• параметры коммуникационного оборудования сети;
• стандарт передачи данных в сети;
• загруженность сети;
• топология сети.
Уменьшить время передачи запросов по сети возможно путем применения более подходящего к пересылаемым данным стандарта передачи данных, оптимизацией топологии сети, улучшением параметров коммуникационного оборудования и снижением нагрузки на участок сети между балансировщиком и узлом СУБД.
На узле СУБД возможно изменение производительности аппаратного обеспечения путем замены оборудования на более производительное, более тонкой настройки имеющегося оборудования, однако при этом остаются
временные задержки на физических носителях информации, которые обусловлены технологическими особенностями их реализации, так, например, для накопителей на магнитных жестких дисках основным временем задержки является время на позиционирование головок. Современная технология твердотельных накопителей позволяет значительно ускорить процесс чтения, однако и у этой технологии существует временная задержка связанная с процессом организации памяти.
Изменение производительности программного обеспечения узла СУБД зависит от степени открытости продукта и возможностей его настройки.
Изменение производительности аппаратного обеспечения на узле балансировщика возможно путем замены оборудования на более производительное, более тонкой настройки имеющегося оборудования, временные задержки на физических носителях можно исключить путем хранения всех данных балансировщика в оперативной памяти. Изменение производительности программного обеспечения балансировщика зависит от степени открытости продукта и возможностей его настройки.
Основным тормозящим фактором узлов СУБД является ПО и временные задержки на информационных носителях, а основным тормозящим фактором балансировщика - производительность ПО.
В контексте задач построения больших хранилищ данных, особенно географически распределенных изменение топологии сети и стандартов передачи данных возможно в небольших границах. Также значительно сужается выбор СУБД - значение приобретает быстрая работа с большими объемами данных и надежность, что на практике приводит к выбору коммерческих продуктов с закрытым исходным кодом.
В результате рассмотрения технологий построения слабосвязанных кластеров можно сделать вывод, что при построении географически распределенных ЦОДов предпочтительной является технология мультимастерных кластеров с репликацией модифицирующих запросов на все узлы, входящие в кластер.
При этом для ускорения работы кластера необходимо применить го-
1. Гои Грейф. Техники выполнения запросов дял больших баз данных. - ACM Computing Surveys. - Т. 25. -1993.
2. Барон Г.Г. Параллельные архитектуры серверов баз данных // Системы управления базами данных. - 1995. - № 2. - С. 32-44.
3. Тутова Н.В. Разработка методики оптимизации распределения ресурсов центров
КОРОТКО ОБ АВТОРАХ_
ризонтальное и вертикальное масштабирование. Для ускорения работы кластера без масштабирования необходимо подстраивать алгоритмы балансировки нагрузки на узлы кластера (для каждого кластера индивидуально), выравнивая время отклика на запросы к кластеру и не допускать критической загрузки сетей и программно-аппаратных ресурсов.
- СПИСОК ЛИТЕРАТУРЫ
обработки данных в интернет, дисс. ... канд. техн. наук.- М.: МТУСИ, 2009. - 183 с.
4. Zikopoulos Paul C. What is DB2 pure-Scale // IBM Developer works, 2010.
5. Калиниченко Б.О. Асинхронное тиражирование данных в гетерогенных средах // Системы управления базами данных. -1996. - № 3. - С. 118-124. ЕИЗ
Бахвалов Лев Алексеевич - доктор технических наук, профессор,
Цаиорин Евгений Анатольевич - магистр технических наук, e-mail: [email protected],
Московский государственный горный университет.
UDC 004.75
DATA FLOW MANAGEMENT CONTROL IN CLUSTER INFORMATION SYSTEMS
Bakhvalov L.A., Doctor of Technical Sciences, Professor, Tsatsorin E.A., Masters Degree of Computer Science, Moscow State Mining University.
The paper provides a classification of cluster systems as platforms for data warehousing. The main factor of service speed evaluation considered to be the time of user waiting till the informational system completes the user query. Master-slave and multi-master clusters, their advantages and disadvantages are considered in details for building lousely coupled cluster systems. Also paper examined in details factors affecting the performance of multi-master database cluster, and suggests ways to improve the performance of multi-master database cluster.
Key words: multi-master cluster, replication, data warehouse, database cluster.
REFERENCES
1. Goetz Graefe. Tehniki vypolnenija zaprosov djal bol'shih baz dannyh (Query evaluation techniques for large Databases), ACM Computing Surveys, vol. 25, 1993.
2. Baron G.G. Sistemy upravlenija bazami dannyh, 1995, no 2, pp. 32-44.
3. Tutova N.V. Razrabotka metodiki optimizacii raspredelenija resursov centrov obrabotki dannyh v internet (Procedure for optimized facilities assignment for data processing centers in Internet), Candidate's thesis, Moscow, MTUSI, 2009, 183 p.
4. Zikopoulos Paul C. What is DB2 pure-Scale, IBM Developer works, 2010.
5. Kalinichenko B.O. Sistemy upravlenija bazami dannyh, 1996, no 3, pp. 118-124.