Научная статья на тему 'РАСПАРАЛЛЕЛИВАНИЕ БОЛЬШИХ БАЗ ДАННЫХ'

РАСПАРАЛЛЕЛИВАНИЕ БОЛЬШИХ БАЗ ДАННЫХ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
54
8
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАСПАРАЛЛЕЛИВАНИЕ / БАЗЫ ДАННЫХ / ЯЗЫК C++ / МНОГОПРОЦЕССОРНОСТЬ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Жармухамбет М.Е., Жарлыкасов Б.Ж.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

RASPARALLEVILANIE BIG DATABASES

The most well-known approach to parallel processing of requests is based on parallelizing the load between the nodes of the system in the execution of queries from several client applications. A number of advantages in compiling a query can be achieved at an early stage. The article will consider the parallelization of a complex query and describe the possibilities of using parallel computation methods both for parallelizing a query and for optimizing it [1].

Текст научной работы на тему «РАСПАРАЛЛЕЛИВАНИЕ БОЛЬШИХ БАЗ ДАННЫХ»

УДК 004.4,517.929

Жармухамбет М.Е. студент 3 курса факультет «Информационных технологий» Жарлыкасов Б.Ж., магистр естественных наук

старший преподаватель кафедра «информатки» Костанайский государственный университет

имени А. Байтурсынова Казахстан, г. Костанай РАСПАРАЛЛЕЛИВАНИЕ БОЛЬШИХ БАЗ ДАННЫХ

Аннотация:

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

Ключевые слова: распараллеливание, базы данных, язык c++, SQL Server, многопроцессорность.

Zharmukhambet M.E.

student

3 courses, Faculty of "Information Technology"

Kostanay State University A.Baitursynov's name Kazakhstan, Kostanay Zharlykasov B.Zh. senior lecturer of the department "informatics"

Master of Science Kostanay State University A.Baitursynov's name Kazakhstan, Kostanay RASPARALLEVILANIE BIG DATABASES

Annotation:

The most well-known approach to parallel processing of requests is based on parallelizing the load between the nodes of the system in the execution of queries from several client applications. A number of advantages in compiling a query can be achieved at an early stage. The article will consider the parallelization of a complex query and describe the possibilities of using parallel computation methods both for parallelizing a query and for optimizing it [1].

Keywords: parallelization, databases, c ++ language, SQL Server, multiprocessing.

Один из самых распространённых способов достижения высокой производительности это является использование алгоритмов распределения заданий. Существуют три вида применения таких алгоритмов [2]:

• параллельные средства и утилиты администрирования,

• параллельная обработка запросов к базе данных,

• параллельный ввод/вывод.

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

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

Thread 1

_--Odds

Рис.1 Оба потока агрегата хэша выполняются независимо. Такой метод является простым и хорошо масштабируемым. На рис.1 оба потока агрегата хэша выполняются независимо.

Также есть одна проблема на многопроцессорных системах возникает ошибка. Из-за некоренного распараллеливания, такая ошибка встречается в SQL Server^. Если идет избыток числа запросов переключений, то это влияет на скорость выполнение, поэтому запрос на многопроцессорной системе будет обрабатываться дольше, чем на однопроцессорной системе. Есть пару решений это проблемы [3]:

• Параметр cost threshold for parallelism. Это параметр помогает рассчитать стоимость запроса, так же может найти, тот запрос с которого

нужно начать распараллеливание. В таких серверах как SQL 2000 и 2005 у этого параметра задано значение по умолчанию 5.

• Флаг трассировки 8687. Это просто запрещает распараллеливание. Многие предприятия используют этот флаг для упрощения работы. Есть два варианта включение этого флага вручную показано на рис. 2, либо автоматически.

-- Вначале е^вйяем, чХО fcjja:1 будет р а с: i рост ранен на все подключение

Рис. 2 ручное включение флага. Автоматическое включение настраивается при запуске сервера, используя параметр командной строки -Т с номером флага трассировки.

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

Использованные источники:

1. Теория и применение цифровой обработки сигналов // Л. Рабинер,Б. Гоулд

2. http://www.itshop.ru/10774AB-Sozdanie-zaprosov-v-Microsoft-SQL-Server-2012/l4t3 i210773

3. MS SQL Server 2005 для администраторов

i Надоели баннеры? Вы всегда можете отключить рекламу.