NoSQL презентация

 Категории NoSQL баз: 1. Key-Value (Ключ-Значение) базы данных. Это очень простые по своей идее хранилища. Фактически это очень большие хэш- таблицы, где каждому ключу поставлено в соответствие значение. Такие базы

Слайд 1 NoSQL (англ. not only SQL, не только SQL) Обозначает ряд подходов,

проектов, направленных на реализацию моделей баз данных, имеющих существенные отличия от используемых в традиционных реляционных СУБД с доступом к данным средствами языка SQL. Описание схемы данных в случае использования NoSQL-решений может осуществляться через использование различных структур данных: хеш-таблиц, деревьев и других. Основная идея при разработке такого типа систем предоставление разработчикам более гибких средств по модификации схемы данных на этапе эксплуатации, отказе от транзакционного контроля в пользу более естественной поддержки распределённых вычислений.
Сторонниками концепции NoSQL подчёркивается, что она не является полным отрицанием языка SQL и реляционной модели, проект исходит из того, что SQL это важный и весьма полезный инструмент, но при этом он не может считаться универсальным. Одной из проблем, которую указывают для классических реляционных БД, являются проблемы при работе с данными очень большого объема и в проектах с высокой нагрузкой. Основная цель подхода расширить возможности БД там, где SQL недостаточно гибок, и не вытеснять его там, где он справляется со своими задачами. 

Слайд 2 Категории NoSQL баз:
1. Key-Value (Ключ-Значение) базы данных.
Это очень простые по

своей идее хранилища. Фактически это очень большие хэш- таблицы, где каждому ключу поставлено в соответствие значение. Такие базы могут очень быстро оперировать колоссальными объемами информации, но они имеют серьезные ограничения в языке запросов. 
2. BigTable.
Это база данных разработанная компанией Google для собственных нужд. Эта база представляет собой большую таблицу с тремя измерениями: колонки, строки и временны'е метки. Такая архитектура позволяет добиться очень высокой производительности, кроме того, она хорошо масштабируется на множество компьютеров. Но это не реляционная база, и она не поддерживает многие возможности реляционных баз. 
3.   Документо-ориентированные базы данных.
Такие базы немного напоминают Key-Value базы, но в данном случае, база данных знает, что из себя представляют значения. Обычно, значением является некоторый документ или объект, к структуре которого можно делать запросы.
4. Базы данных построенные на графах.
Такие базы ориентированы на поддержку сложных взаимосвязей между объектами, и основываются на теории графов. Структура данных в таких базах представляет собой набор узлов, связанных между собой ссылками. При этом и узлы и ссылки могут обладать некоторым количеством атрибутов. 

Слайд 3Структура информации

Структуру данных в реляционных системах на примере MySQL мы

можем представить в виде следующей иерархии:
База данных -> Таблица -> Строка -> Поле + Значение.
Как это все выглядит в MongoDB:
База данных -> Коллекция -> Документ -> ключ + значение. 

Слайд 4 MongoDB реализует новый подход к построению баз данных, где нет таблиц,

схем, запросов SQL, внешних ключей и многих других вещей, которые присущи объектно-реляционным базам данных.
В отличие от реляционных баз данных MongoDB предлагает документо-ориентированную модель данных, благодаря чему MongoDB работает быстрее, обладает лучшей масштабируемостью, ее легче использовать.
Но, даже учитывая все недостатки традиционных баз данных и достоинства MongoDB, важно понимать, что задачи бывают разные и методы их решения бывают разные. В какой-то ситуации MongoDB действительно улучшит производительность вашего приложения, например, если надо хранить сложные по структуре данные. В другой же ситуации лучше будет использовать традиционные реляционные базы данных.

Слайд 5 Если реляционные базы данных хранят строки, то MongoDB хранит документы. В

отличие от строк документы могут хранить сложную по структуре информацию. Документ можно представить как хранилище ключей и значений.
Ключ представляет простую метку, с которым ассоциировано определенный кусок данных.
Однако при всех различиях есть одна особенность, которая сближает MongoDB и реляционные базы данных. В реляционных СУБД встречается такое понятие как первичный ключ. Это понятие описывает некий столбец, который имеет уникальные значения. В MongoDB для каждого документа имеется уникальный идентификатор, который называется _id.

Слайд 6 Всю модель устройства базы данных в MongoDB можно представить следующим образом:
Если

в реляционных БД содержимое составляют таблицы, то в MongoDB база данных состоит из коллекций.
Каждая коллекция имеет свое уникальное имя - произвольный идентификатор.
В отличие от реляционных баз данных MongoDB не использует табличное устройство с четко заданным количеством столбцов и типов данных. MongoDB является документо-ориентированной системой, в которой центральным понятием является документ.
Документ можно представить как объект, хранящий некоторую информацию. В некотором смысле он подобен строкам в реляционных субд, где строки хранят информацию об отдельном элементе.

Слайд 7 В отличие от строк документы могут содержать разнородную информацию. Так, рядом

с документом, описанным выше, в одной коллекции может находиться другой объект, например:

Добавление данных и создание коллекций

Для вставки в коллекцию используется функция insert. Самый простой пример ее использования:

> db.users.insert({"name": "Tom", "age": 28, languages: ["english", "spanish"]})
> db.users.find()

В данном случае в коллекцию users добавляется простой объект.


Слайд 8 Настройка запросов и сортировка

MongoDB представляет ряд функций, которые помогают управлять выборкой

из бд. Одна из них - функция limit. Она задает максимально допустимое количество получаемых документов. Количество передается в виде числового параметра. Например, ограничим выборку тремя документами:

> db.users.find().limit(3)


MongoDB предоствляет возможности отсортировать полученный из бд набор данных с помощью функции sort. Передавая в эту функцию значения 1 или -1, мы можем указать в каком порядке сортировать: по возрастанию (1) или по убыванию (-1). Во многом эта функция по действию аналогична выражению ORDER BY в SQL. Например, сортировка по возрастанию по полю name:

> db.users.find().sort({name: 1})


Слайд 9Условные операторы в MongoDB
В MongoDB в запросах можно использовать условные конструкции

с помощью операторов сравнения:
$gt (больше чем)
$lt (меньше чем)
$gte (больше или равно)
$lte (меньше или равно)
Например, найдем все документы, у которых значение ключа age меньше 30:
> db.users.find ({age: {$lt : 30}})


Оператор $ne

$ne извлекает все документы, не соответствующие некоторому условию:

> db.users.find ({age: {$ne : 22}})


Слайд 10
Удаление поля
Для удаления отдельного ключа используется оператор $unset:
> db.users.update({name : "Tom"}, {$unset:

{salary: 1}})

Оператор $push
Оператор $push позволяет добавить еще одно значение к уже существующему. Например, если ключ в качестве значения хранит массив:
> db.users.update({name : "Tom"}, {$push: {languages: "russian"}})

Оператор $addToSet подобно оператору $push добавляет объекты в массив. Отличие состоит в том, что $addToSet добавляет данные, если их еще нет в массиве.



Слайд 11Для удаления документов в MongoDB предусмотрен метод remove:
> db.users.remove({name : "Tom"})


В итоге все найденные документы с name=Tom будут удалены.

Мы можем удалять не только документы, но и коллекции и базы данных. Для удаления коллекций используется функция drop:
> db.users.drop()

Чтобы удалить всю базу данных, надо воспользоваться функцией dropDatabase():
> db.dropDatabase()

Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика