Міністерство освіти і науки України
Міжнародний науково-технічний університет ім. академіка Ю. Бугая Кафедра ІНЖЕНЕРІЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
НАЗВА ТЕМИ
Сучасні СУБД
Реферат
Виконав студент
3 курсу ПIк – 91 групи факультету ІНЖЕНЕРІЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
Забродський Ян Анатолiйович
Зміст
Вступ 3
MongoDB і її можливості. 4
Основні принципи MongoDB. Базові операції з даними. 5
Особливості використання. 7
Висновок. 9
Список використаної літератури. 9
Вступ
Об'єктом дослідження є системи управління базами даних. Предметом дослідження - система управління базами даних MongoDB.
Мета даної роботи - дослідити СУБД MongoDB.
Для досягнення поставленої мети необхідно вирішити такі завдання:
1.Проаналізувати СУБД MongoDB і її можливості;
2.Дослідити основні принципи роботи MongoDB;
3.Виявити особливості використання.
Основні положення реферату грунтуються на роботі Кайла Бенкера.
Бази даних - робочі конячки інформаційної епохи. Як атланти, вони незримо підпирають цифровий світ, в якому ми живемо. Легко забути, що все наше цифрове спілкування, будь то коментарі у форумах, повідомлення в соціальних мережах, пошук або сортування, - це по суті взаємодія з базою даних.
MongoDB - це система управління базами даних, «заточена» під веб-додатки та інфраструктуру Інтернету. Модель даних і стратегія їх постійного зберігання спроектовані для досягнення високої пропускної здатності читання і запису і забезпечує просту масштабованість з автоматичним переходом на резервний ресурс у разі відмови. Скільки б вузлів ні було потрібно з додатком - один або десятки, - MongoDB зуміє забезпечити разюче високу продуктивність. Того, хто раніше мучився з масштабуванням реляційних баз, ця новина обрадує.
Історія MongoDB, хоч і коротка, але заслуговує на увагу, тому що народилася ця СУБД в ході роботи над набагато більш амбітним проектом. В середині 2007 року щойно створена компанія 10gen приступила до розробки проекту «програмна платформа як послуга». Ідея була в тому, щоб створити сервер додатків і базу даних, які могли б служити хостингом для веб-додатків, забезпечуючи масштабування в міру необхідності. Платформа компанії 10gen проектувалася з розрахунком на автоматичне масштабування і управління програмної і апаратної інфраструктурою. В результаті 10gen виявила, що більшість розробників не готові віддати в чужі руки управління своїм технологічним господарством, але зате нова технологія баз даних виявилася затребуваною. Тому компанія вирішила зосередити зусилля виключно на цій СУБД, яка отримала назву MongoDB.
MongoDb і її можливості
Як було сказано вище, MongoDB - документо-орієнтована СУБД з відкритим вихідним кодом, яка не потребує опису схеми таблиць.
Як з'ясовується, привабливість MongoDB пояснюється в першу чергу не стратегією масштабування, а інтуїтивно зрозумілою моделлю даних. З огляду на, що за допомогою документо-орієнтованої моделі можна уявити розвинені ієрархічно організовані структури даних, часто виявляється можливо обійтися без властивих реляційним СУБД складнощів, пов'язаних з з'єднанням декількох таблиць. Нехай, наприклад, ви моделюєте товари для сайту інтернет-магазину. У повністю нормализованной базі даних інформація про один товар може бути розкидана по десяткам таблиць. Щоб отримати його подання до інтерактивної оболонці СУБД, доведеться написати складний SQL-запит з купою з'єднань. Тому розробники, як правило, звертаються до додаткових програм, коли хочуть зібрати розрізнені дані в щось осмислене.
З іншого боку, в документної моделі велика частина інформації про товар може бути представлена у вигляді одного документа. В оболонці MongoDB, побудованої на основі мови JavaScript, неважко отримати повне уявлення про товар у вигляді ієрархічно організованої JSON-подібної структури (JSON - це скорочення від JavaScript Object Notation. JSON - структури складаються з ключів і значень і допускають довільну глибину вкладеності. Вони аналогічні словників і Хешам в інших мовах програмування). До неї можна пред'являти запити, їй можна маніпулювати. Засоби складання запитів в MongoDB спеціально спроектовані для роботи зі структурованими документами, але так, щоб користувач, який має досвід роботи з реляційними базами, мав у своєму розпорядженні порівнянної виразною силою. До того ж, сьогодні більшість розробників пишуть на об'єктно-орієнтованих мовах, тому їм потрібна така збе ніліще, яке було б простіше відобразити на об'єкти. В разі
MongoDB об'єкт, визначений на мові програмування, зберігається «як є» - без додаткової складності, вноситься системами об'єктно-реляційного відображення.
Основні можливості даної СУБД:
Документо-орієнтоване сховище (проста і потужна JSON-подібна схема даних)
Досить гнучка мова для формування запитів
динамічні запити
Повна підтримка індексів
профілювання запитів
Швидкі оновлення «на місці»
Ефективне зберігання двійкових даних великих обсягів, напр., Фото і відео
Журнал операцій, що модифікують дані в БД
Підтримка відмовостійкості і масштабованості: асинхронна реплікація, набір реплік і шардінг
Основні принципи MongoDb. Базові операції з даними
Для початку потрібно зрозуміти шість основних концепцій.
1.MongoDB - концептуально те ж саме, що звичайна, звична для нас база даних. Усередині MongoDB може бути нуль або більше баз даних, кожна з яких є контейнером для інших сутностей.
2.База даних може мати нуль або більше «колекцій». Колекція настільки схожа на традиційну «таблицю», що можна сміливо вважати їх одним і тим же.
3.Коллекціі складаються з нуля або більше «документів». Знову ж, документ можна розглядати як «рядок».
4.Документ складається з одного або більше «полів», які - як можна здогадатися - подібні «колонкам».
5. «Індекси» в MongoDB майже ідентичні таким в реляційних базах даних.
6. «Курсор» відрізняються від попередніх п'яти концепцій, але вони дуже важливі (хоча часом їх обходять увагою) і заслуговують окремого обговорення. Важливо розуміти, що коли ми запитуємо у MongoDB будь-які дані, то вона повертає курсор, з якими ми можемо робити все що завгодно - підраховувати, пропускати певну кількість попередніх записів - при цьому не завантажуючи самі дані.
Підводячи підсумок, MongoDB складається з «баз даних», які складаються з «колекцій». «Колекції» складаються з «документів». Кожен «документ» складається з «полів». «Колекції» можуть бути проіндексовані, що покращує продуктивність вибірки і сортування. І нарешті, отримання даних з MongoDB зводиться до отримання «курсора», який віддає ці дані у міру потреби.
Всі команди за операціями з даними виконуються в консолі mongo.
Використовується глобальний метод use. Введіть:
«Use project»
Поки наша база даних project не існує. Але це не важливо. Вона буде створена в момент першої вставки.
Створення Колекції (таблиці). Використовуйте команду insert.
Перегляд Колекції. Тепер у колекції users можна викликати метод find, який поверне список документів:
«Db.users.find»
Видалення Колекції. Для повного видалення Колекції необхідно використовувати комаду remove без параметрів:
«Db.users.remove»