Що означає горизонтальне масштабування?


23

У контексті бази даних я натрапив на горизонтальну масштабованість як одну з переваг баз даних NOSQL. Що означає цей термін?

Як це можна порівняти з вертикальним масштабуванням ?

Відповіді:


24

Горизонтальне масштабування
Горизонтальне масштабування, по суті, будується замість вгору. Ви не ходите і купуєте більший сервер, і не переміщуєте весь навантаження на нього, натомість ви купуєте 1+ додаткових серверів і розподіляєте навантаження на них.

Горизонтальне масштабування використовується, коли у вас є можливість запускати кілька екземплярів на серверах одночасно. Зазвичай набагато складніше переходити з 1 сервера на 2 сервери, тоді це переходити від 2 до 5, 10, 50 і т.д.

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

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

Я бачив, як Дамієн Кац говорив про CouchDB на StackOverflow DevDays в Остіні, і одним з його головних напрямків його створення були саме ці паралельні екземпляри. Оскільки це було зосереджене на цьому з першого дня, було б набагато більше можливостей скористатися горизонтальним масштабуванням.

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

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

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


2
RAC Oracle є прикладом горизонтального масштабування в традиційних RDBMS.
Лі Ріффер

0

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

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

Традиційні RDBMS відмовляються тут з різних причин (включаючи той факт, що вони є ACID), і рішення NoSQL відрізняються тут тим, що їх можна легко масштабувати горизонтально - але це вже інша історія (RDBMS / SQL проти NoSQL.)


0

Деякі люди в галузі використовують різну термінологію, щоб означати те саме:

  • масштаб вгору = вертикальне масштабування
  • масштабування = горизонтальне масштабування
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.