Шардінг MongoDB: Покроковий посібник із прикладом

Зміст:

Anonim

Що таке Шардінг в MongoDB?

Шардінг - це концепція в MongoDB, яка розділяє великі набори даних на малі набори даних у кількох екземплярах MongoDB.

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

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

Як реалізувати затінення

Осколки реалізуються за допомогою кластерів, які є не чим іншим, як групою екземплярів MongoDB.

Компоненти осколка включають

  1. Осколок - це основна річ, і це не що інше, як екземпляр MongoDB, який містить підмножину даних. У виробничих середовищах всі осколки повинні бути частиною наборів копій.
  2. Сервер конфігурації - це екземпляр mongodb, який містить метадані про кластер, в основному інформацію про різні екземпляри mongodb, які будуть містити дані осколка.
  3. Маршрутизатор - це екземпляр mongodb, який в основному відповідає за перенаправлення команд, відправлених клієнтом, на потрібні сервери.

Покроковий приклад кластерного заточування

Крок 1) Створіть окрему базу даних для сервера конфігурації.

mkdir /data/configdb

Крок 2) Запустіть екземпляр mongodb у режимі конфігурації. Припустимо, якщо у нас є сервер на ім'я Server D, який буде нашим сервером конфігурації, нам потрібно буде виконати наведену нижче команду, щоб налаштувати сервер як сервер конфігурації.

mongod -configdb ServerD: 27019

Крок 3) Запустіть екземпляр mongos, вказавши сервер конфігурації

mongos -configdb ServerD: 27019

Крок 4) З оболонки mongo підключіться до екземпляра mongo

mongo -host ServerD -port 27017

Крок 5) Якщо у вас є сервер A і сервер B, які потрібно додати до кластера, виконайте наведені нижче команди

sh.addShard("ServerA:27017")sh.addShard("ServerB:27017")

Крок 6) Увімкніть шардування для бази даних. Отже, якщо нам потрібно осколити базу даних Employeedb, виконайте наведену нижче команду

sh.enableSharding(Employeedb)

Крок 7) Увімкніть шардування для колекції. Отже, якщо нам потрібно роздробити колекцію Employee, виконайте наведену нижче команду

Sh.shardCollection("db.Employee" , { "Employeeid" : 1 , "EmployeeName" : 1})

Короткий зміст:

  • Як пояснюється в навчальному посібнику, Sharding - це концепція в MongoDB, яка розділяє великі набори даних на малі набори даних у декількох екземплярах MongoDB.