ДонНТУ
Цуканова Мария Владимировна
 

Організація сервера електронної комерції на обчислювальній кластерній мережі

Тези на одинадцяту Всеукраїнську (Шосту Міжнародну) Студентську Наукову Конференцію з Прикладної Математики та Інформатики СНКПМІ – 2008, Львів, 9 – 10 квітня 2008 року
Автор: Цуканова М.В.



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

Обидва ці методи реалізуються за допомогою MySQL Cluster. Технологія кластерізації в цій системі ґрунтується на розміщенні інформації в групі взаємозв’язаних баз даних, які в свою чергу розташовані на декількох серверах або вузлах. З програмою MySQL Cluster ці бази даних працюють як одне ціле (одна велика інформаційна база даних), при цьому система не потребує використання дорогого обладнання або інших програмних продуктів для її функціонування.

MySQL Cluster інтегрує в оперативну пам'ять стандартний сервер MySQL з кластерізуємим способом зберігання NDB. Він складається з набору комп’ютерів, кожний з яких виконує декілька процесів.

База даних Інтернет-магазина реалізується на 9 вузлах:
— Керуючий вузол ( цей тип вузла призначений для керування іншими вузлами всередині MySQL Cluster, забезпечення даних конфігурації, старту та зупинки вузлів, виконання резервного копіювання тощо). Вузол запускається командою ndb_mgmd і має псевдонім NDB_MGMD в конфігурації кластера.
— 6 вузлів пам’яті (ці вузли безпосередньо зберігають базу даних та її репліки). Вузол запускається командою ndbd и має псевдонім NDBD в конфігурації кластера.
— 2 клієнтських вузла (це традиційні сервера MySQL, що використовують тип зберігання даних NDB Cluster для доступу до кластерізуємих даних).

Конфігурацією кластера є конфігурація кожного окремого індивідуального вузла в кластері і установка індивідуальних зв’язків між вузлами.

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

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

Для реалізації проекту використовується високопродуктивний обчислювальний кластер Донецького Національного Технічного Університету, який складається з 11 вузлів з наступною конфігурацією: Intel Core 2 Duo 1,86 Ghz, 1 Gb RAM, HDD 120 Gb, Realtek RTL8168/8111 PCI-E Gigabit Ethernet NIC. Топологія кластера: всі вузли з’єднані в публічній мережі.

MySQL Cluster дозволяє будувати відмовостійкі сервера з надійністю 99,999% (час простою 5 мінут/рік). Дана методика масштабування бази даних дозволяє збільшити продуктивність системи в декілька разів , а також забезпечити достатньо високу надійність даних, що зберігаються.

1. MySQL Cluster. — Интернет-адрес: http:// www.mysql.com /products / cluster

На главную Отчет о поиске Автореферат Ссылки Индивидуальное задание
2008 Цуканова М.В., ДонНТУ