Наша совместная команда Banwar.org

Связаться с нами

  • (097) ?601-88-87
    (067) ?493-44-27
    (096) ?830-00-01

Статьи

Комплексні бази даних можуть прискорити відгук за допомогою паралельного апаратного і програмного забезпечення

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

Через те що ці ускладнені паралельні бази даних працюють на не менше складних мультипроцесорних машинах, менеджери інформаційних систем повинні не просто розуміти архітектуру паралельних баз даних. Їм крім цього необхідно розбиратися в тому багні паралельної апаратури. для якої розроблено ці бази даних.

Стимул, що спонукає до використання паралельної архітектури, один і той же і для машин, і для баз даних: бажання уникнути вузьких місць. Запити до бази даних можуть бути розбиті на більш дрібні компоненти або підзадачі, а потім виконані на різних процесорах. Час, необхідний для отримання відповіді на запит, також може бути зменшено за рахунок поділу даних але декількох дисках, щоб уникнути перевантаження.

Паралельне апаратне забезпечення підрозділяється на два типи: Сільносвязанная архітектури (мають загальну пам'ять і жорсткі диски) і слабкозв'язаного архітектури (які не використовують загальних машинних ресурсів). Остання категорія включає кластери - групи машин, які пов'язані спільною високошвидкісною магістраллю, як, наприклад, Ethernet, що використовує FDDI.

Для цих типів архітектур можливі два методи паралельної обробки: SMP (symmetric multiprocessing - симетрична мультипроцессорная обробка), яка зазвичай використовується в сильносвязанних системах, і МРР (масивно-паралельна обробка), найчастіше використовувана в великих слабосвязанних між собою машинах.

Програмне забезпечення, яким необхідне використання загальної пам'яті (подібно програмам, які використовують бази даних, яким постійно потрібен доступ до невеликих таблиць, що зберігаються в пам'яті), добре працює на SMP-машинах, оскільки процесори в сильносвязанних системах використовують загальну область пам'яті. Як приклад SMP-машин можна привести ProLiant корпорації Compaq і робочу станцію HP 9000 Series 700 компанії Hewlett-Packard.

АПАРАТУРА ДОПОМАГАЄ І ІНШИМИ СПОСОБАМИ

Перевагою SMP-машин є те, що одна копія операційної системи може використовуватися багатьма процесорами. Однак через те що пам'ять використовується спільно, продуктивність баз даних може знижуватися в теx випадках, коли занадто багато процесорів одночасно намагаються отримати доступ до спільно використовуваної пам'яті.

МРР-машини також розподіляють завдання між безліччю процесорів, але кожен процесор в цих машинах має власну пам'яттю і копією операційної системи. Прикладами таких МРР-систем є Himalaya К20000 фірми Tandem Computers і РоwerParallel System SP2 корпорації IBM.

Прикладами таких МРР-систем є Himalaya К20000 фірми Tandem Computers і РоwerParallel System SP2 корпорації IBM

Два способи отримати повну віддачу

від націнок машин при роботі з БД

Залежно від того які програми використовуються, в деяких випадках SMP стає кращим рішенням, ніж МРР, і навпаки.

Зазвичай вважається, що МРР-машини масштабируются краще, ніж SMP-машини, тобто МРР-машини можуть працювати з більшим навантаженням за рахунок додавання процесорів, дисків або пам'яті. Втім, SMP-системи зараз постійно поліпшуються в цьому відношенні.

Лабораторія PC Week виявила, що додавання другого процесора до МРР-машині майже подвоює її можливості в сфері обробки даних, в той час як додавання другого процесора до SMP-машині не дає такого відчутного результату.

Наприклад, під час проведеного лабораторією PC Week тестування декількох SMP-машин додавання другого процесора збільшило продуктивність обробки даних лише на 58-75%. (Не слід забувати, що збільшення можливостей при використанні другого процесора буде більш значним, якщо також будуть додані пам'ять і диски.) Бази даних, які користуються перевагами апаратури і операційних систем, використовуваних SMP- і МРР-машинами, починають набувати деякі можливості, які збільшують їх продуктивність. Ці можливості включають паралельні завантаження і вивантаження даних, оптимізацію черзі і поділ даних.

Оскільки паралельну завантаження і вивантаження даних, як правило, легше за все реалізувати, деякі постачальники баз даних вже додали їх до своїх продуктів. Ці бази даних просто координують безліч завдань завантаження і вивантаження, виконуваних на різних процесорах.

Оптимізувати запити для прискорення відповіді важче, і, ймовірно, це головна область, якої постачальники паралельних баз даних зараз приділяють найбільшу увагу. Більшість баз даних, які працюють на мультипроцесорних машинах, або розподіляють різні запити з різних процесорам, або розділяють кожен запит на підзапити і розподіляють ці підзапити по окремим процесорам (див. Діаграму).

Через те що деякі підзапити запитують дані з інших підзапитів, перш ніж ті можуть бути виконані, підзапити повинні виконуватися послідовно (подібно до того, як це робиться на складальній лінії), а не одночасно, навіть якщо всі запити виконуються паралельно. Це називається конвеєрним паралелізмом.

Припустимо, що один з підзапитів - сортування і потрібно, щоб всі дані були обрані, перш ніж почнеться виконання. Цей запит повинен бути виконаний після того, як вибірка даних буде закінчена, проте повний запит виповнюється паралельно з іншими запитами.

РОЗДІЛЕННЯ ДАНИХ дріб РОБОТУ

Оптимізація запитів також може поєднуватися з розподілом даних і створювати гібрид, званий середовищем "паралельного поділу". Мета поділу даних - уникнути перевантаження введення / виведення на диску шляхом розподілу єдиної таблиці даних по багатьом дискам.

Дані можуть бути розподілені будь-яким з трьох методів: алгоритмом хешування, яку Ви для цього програмою або програмою "каруселі". Кожен метод орієнтований на відповідне застосування.

Алгоритм хешування - просто формула, яка використовує значення ключового поля для розміщення даних. Недолік хеширования в тому, що воно може привести до нерівномірного розподілу даних (асиметричності даних), яке уповільнює час отримання відповідей на деякі запити.

Обумовлена ​​користувачем програма розподіляє дані по різних дисках в залежності від імені конкретної таблиці або значення поля. Наприклад, клієнтські записи з іменами, які починаються часткою з букв від "А" до "1", розміщуються на диску 1, записи для клієнтів з іменами на "J" - "R" - на диску 2, а записи для клієнтів з іменами на " S "-" Z "- на диску 3.

Метод "каруселі" просто послідовно поміщає кожну нову запис на наступний диск так, що в трьохдискове системі запис 1 буде поміщена на диск 1, запис 2 - па диск 2, запис 3 - на диск 3, а запис 4 - знову на диск 1, і так по колу.

На МРР-машинах процесор навіть може бути специфічно пов'язаний з поділом даних, так що один табличний запит може виконуватися більш ніж на одному процесорі, а потім об'єднуватися головним процесором після виконання всіх підзапитів. Це знижує кількість даних, які надсилаються з машини на машину для обробки.

Наприклад, якщо база даних на машині 1 получаст запит на інформацію з бази даних, яка перебуває на машині 2, запит може бути оптимізований, і тоді машина 2 виконує частину запиту і повертає на машину 1 готові результати.

Потенційна небезпека, що таїться в прив'язуванні конкретного диска до конкретного процесора, - можливість того, що процесор дасть збій. Якщо це трапиться, то що відноситься до цього процесору частина системних даних стане недоступною для решти системи.

Щоб забезпечити відмовостійкість, в деяких системах встановлюється захист від збоїв, яка дублює дані, пов'язані з цим процесором, в іншій частині системи, що робить їх доступними для інших процесорів в разі збою.

Боб Галахер

Версія для друку

Новости

Banwar.org
Наша совместная команда Banwar.org. Сайт казино "Пари Матч" теперь доступен для всех желающих, жаждущих волнения и азартных приключений.