Материал: Реферат БД

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

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

НАЗВА ТЕМИ

Сучасні СУБД

Реферат

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

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»

Особливості використання

Розглянемо деякі відмінності в роботі з 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 підтримує кілька видів атомарних операцій.

Список використаної літератури:

  1. Бенкер Кайл «MongoDB в дії» Електронна версія.

  2. http://www.intuit.ru

  3. www.isman.ru

  4. Wikipedia.org

10