Особливості використання
Розглянемо деякі відмінності в роботі з MongoDB порівняно зі звичним SQL.
Консольні інструменти. За аналогією з тим, як в консолі MySQL ми можемо виконувати SQL-запити, інтерактивна консоль MongoDB дозволяє виконувати команди сервера БД використовуючи мову JavaScript.
Структура інформації. Структуру даних в реляційних системах на прикладі MySQL ми можемо представити у вигляді такої ієрархії:
База даних -> Таблиця -> Рядок -> Поле + Значення.
Як це все виглядає в MongoDB:
База даних -> Колекція -> Документ -> ключ + значення.
Таблиці в реляційних БД повинні бути жорстко структуровані, в той час як в MongoDB можна створювати документи довільної структури.
Запис. В SQL є оператор INSERT для додавання і UPDATE для оновлення записів. Запис в MongoDB Виконується за допомогою трьох функцій: insert - додавання, save і update - для оновлення і додавання.
Вибірка. Припустимо нам треба вибрати всі документи з певної колекції у яких значення city одно "Moscow". У SQL нам доводиться вдаватися до інструкції JOIN, тому що в уніфікованої системі ми не завжди можемо записати всю інформацію в одну таблицю. наприклад:
SELECT docs.title, loc.city FROM documents docs
INNER JOIN doc_location d_loc ON d_loc.doc_id = docs.doc_id
INNER JOIN location loc ON loc.loc_id = d_loc.loc_id
Як це робиться в MongoDB, враховуючи що все зберігається в одному документі:
db.find ({additional.location.city: "Moscow"});
За аналогією з JOIN ми також можемо створювати посилання на об'єкти інших колекцій, і нам не доведеться робити окремі запити для отримання пов'язаних документів.
MongoDB добре справляється з великою кількістю документів (мільйони), швидкість вибірки як і в SQL оптимізується індексами, лімітами на кількість одержуваних документів за один запит, як і в звичних реляційних БД індекси негативно впливають на швидкість запису. Є знайома нам операція EXPLAIN, що виконує ті ж функції що і в MySQL.
MongoDB підтримує кілька видів атомарних операцій.
Ми можемо використовувати синхронний і асинхронний тип запису, асинхронний за замовчуванням і він швидше, тому що додатка не доводиться чекати відповіді від сервера.
MongoDB рекомендують використовувати при великій кількості одночасних запитів (більше тисячі в секунду), особливо при великій кількості операцій запису. Судячи з численних відгуків, саме швидка запис одне з головних переваг цієї БД.
Непоганим рішенням було б використання цієї БД для ведення статистики, системи кешування, зберігання призначених для користувача сесій, ведення системного журналу, системи управління чергами і т.д. Крім цього, модулі можуть активно використовувати цю БД для зберігання своїх даних якщо в цьому є вигода.
Висновок
У даній роботі ми досліджували систему управління базами даних MongoDB.
Мета реферату, що полягає в дослідженні СУБД MongoDB, досягнута.
Вирішені наступні завдання:
1) Проаналізовано СУБД MongoDB і її можливості. MongoDB - це система управління базами даних, «заточена» під веб-додатки та інфраструктуру Інтернету. Одними з можливостей є підтримка відмовостійкості і масштабованості, досить гнучкий мову для формування запитів, динамічні запити і ефективне зберігання двійкових даних великих обсягів, напр., Фото і відео.
2) Досліджено основні принципи роботи MongoDB. MongoDB складається з «баз даних», які складаються з «колекцій». «Колекції» складаються з «документів». Кожен «документ» складається з «полів». «Колекції» можуть бути проіндексовані, що покращує продуктивність вибірки і сортування.
3) Виявлено особливості використання. До особливостей використання відносяться створення документів довільної структури; запис в MongoDB виконується за допомогою трьох функцій: insert - додавання, save і update - для оновлення і додавання; MongoDB підтримує кілька видів атомарних операцій.
Список використаної літератури:
Бенкер Кайл «MongoDB в дії» Електронна версія.
http://www.intuit.ru
www.isman.ru
Wikipedia.org
