Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
4
Добавлен:
15.01.2021
Размер:
30.37 Кб
Скачать

Міністерство освіти і науки України

Міжнародний науково-технічний університет ім. академіка Ю. Бугая Кафедра ІНЖЕНЕРІЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ

НАЗВА ТЕМИ

Сучасні СУБД

Реферат

Виконав студент

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»