Надмірність даних і її оптимізація
Розміщення серверів в надійних дата-центрах Європи. Відкрийте хмарний VPS / VDS сервер на швидких SSD за 1 хвилину!
Кращий хостинг:
- захистить дані від несанкціонованого доступу в охоронюваному європейському ЦОДі
- прийме оплату хоч в bitcoin.
- дозволить поставити свій дистрибутив
- захист від DDos-атак
- безкоштовний backup
- Uptime 99,9999%
- ЦОД - TIER III
- провайдер - TIER I
Підтримаємо російською мовою 24/7/365 Працюємо з юрособами і фізособами. Вам прямо зараз потрібно 24 ядра і 72 Gb RAM. Будь ласка!
Наші вигідні тарифи доведуть, що дешевий хостинг ви ще не знали!
Хвилинна справа: виберіть конфігурацію, оплатіть і CMS на VPS готова.
Money Back - 30 днів!
Банківськими картами, електронною валютою, через термінали Qiwi, Webmoney, PayPal, Новоплат і ін.
Задайте питання в службу підтримки 24/7/365
Знайдіть відповіді в нашій базі і познайомтеся з рекомендаціями
Надмірність RAID-масиву
Надмірність RAID-масиву - мабуть, найпоширеніший вид надмірності. RAID розшифровується як «redundant array of independent disks» (надлишковий масив незалежних дисків), це означає, що в більшості конфігурацій диски так чи інакше Віддзеркалюються один одного.
В принципі, цей приклад стосується всіх RAID-масивів. Тепер особливо добре помітно відмінність між RAID і резервними копіями: будь-яка зміна диска застосовується до всіх дисків відразу; тобто, якщо файл був видалений з одного диска, його відразу не стане і на другому.
блокова надмірність
Наступний вид надмірності - віддзеркалення цілих блокових структур. Для цього використовується DRBD (distributed replicated block device).
Цей метод чимось схожий на надмірність масивів RAID. Різниця полягає в тому, де відбувається реплікація. У RAID-масиву, надмірність відбувається на рівні додатку. Програмне забезпечення RAID управляє фізичними пристроями зберігання і надає дані додатки з одного з доступних пристроїв.
Налаштування DRBD зовсім інші. При цьому повністю Віддзеркалюються кожен апаратний стек, а також кожен інтерфейс програми. Це означає, що так можна виправити відмова додатки, тому що, по суті, є ще одна окрема машина з копією даних, необхідних для роботи. Якщо у першого сервера виходить з ладу блок живлення, другий сервер буде як і раніше ефективно працювати.
реплікація SQL
При роботі з базами даних SQL (MySQL, MariaDB, PostgreSQL і т.п.) можна використовувати їх вбудовані функції реплікації, щоб забезпечити відмовостійкість у разі збою основного сервера.
Реплікація по типу Master-Slave
Це, мабуть, самий базовий вид реплікації даних SQL. У такій настройці є один головний сервер, який називається ведучим, або master-сервером. Цей сервер відповідає за всі операції запису і поновлення даних. Потім дані з цього сервера копіюються на ведений сервер (або slave-сервер).
Ця установка дозволяє розподілити операції читання між декількома машинами, що може значно поліпшити продуктивність програми.
Звичайно, збільшення продуктивності є важливою перевагою; проте не менш важливим є те, що така реплікація підвищує відмовостійкість. Якщо master-сервер з якої-небудь причини недоступний, операції читання можуть виконуватися на серверах slave. Більш того, slave-сервер можна переналаштувати в master-сервер в разі, якщо попередній master недоступний протягом тривалого періоду.
Реплікація по типу master-master
У такій настройці реплікації кожен сервер є провідним, тобто master. Це означає, що кожен сервер може приймати і оновлювати дані, після чого зміни будуть поширені на інші сервери. Така реплікація має ті ж переваги, що й master-slave, і, крім того, дозволяє збільшити продуктивність за допомогою механізму балансування навантаження.
Таким чином, якщо один сервер виходить з ладу, то інший може ще і приймати запити. Звичайно, така конфігурація складніше, зате вона набагато відмовостійкості, адже в разі збою не потрібно перенастроювати сервери (як при реплікації master-slave).
Цю настройку можна поєднати з механізмами резервного копіювання; для цього потрібно відключити один з master-серверів, оскільки під час резервного копіювання дані повинні перебувати в узгодженому стані. Після завершення резервного копіювання можна відновити реплікацію.
Розподіл як альтернатива надмірності
Розподілені системи володіють багатьма перевагами традиційних налаштувань надмірності.
Раніше в цьому посібнику згадувалися RAID-масиви, зокрема RAID 1. Ще один поширений масив - це RAID 5. Він розподіляє дані між кількома накопичувачами, а також веде контроль за парності. Інформація про парності зберігається на окремому контрольному диску. Це означає, що в разі відмови одного з дисків будь-яка транзакція може бути відновлена шляхом об'єднання інформації про парності на інших дисках.
Також існує чимало баз даних і інших програмних рішень, призначених для розподілу даних.
Як приклад можна привести Riak; це розподілена база даних. Ноди Riak працюють точно так же. Між ними немає відносин типу провідний-ведений. Об'єкти, що зберігаються в базі даних, реплицируются.
Однак Ноди при цьому не містять повної БД, дані рівномірно розподіляються між ними. Об'єкти після реплікації розміщуються на різних нодах, щоб забезпечити доступ до даних в разі апаратних збоїв.
Іншим хорошим прикладом цього підходу є розподілена БД Cassandra. Вона заснована на тих же принципах, що і Riak, але реалізована трохи інакше.
висновок
Як бачите, існує безліч можливостей для оптимізації роботи сервера за допомогою надмірності даних. в основному, підхід залежить від проблем, які потрібно усунути або попередити. Крім того, ці техніки можна комбінувати.