Надмірність даних і її оптимізація

Розміщення серверів в надійних дата-центрах Європи. Відкрийте хмарний 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, але реалізована трохи інакше.

висновок

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