3.04M
Категория: Базы данныхБазы данных

Нереляционные БД. NoSQL

1.

Нереляционные
БД. NoSQL
Подготовили:
Чуднецов Алексей
Шевченко Филипп

2.

Виды баз данных

3.

История появления нереляционных
баз данных и термина NoSQL
Изначально существовала открытая база
данных, созданная Карло Строззи, которая
хранила все данные как ASCII файлы и
использовала SHELL-скрипты вместо SQL
для доступа к данным. С “NoSQL” в его
нынешнем виде она ничего общего не
имела.
После в июне 2009 в Сан-Франциско Йохан
Оскарссон организовал встречу, на которой
планировалось обсудить новые веяния на IT
рынке хранения и обработки данных.
Для яркой вывески для встречи
требовалось найти емкий и лаконичный
термин, который отлично укладывался бы в
Твиттеровский хэштег. Один из таких
терминов предложил Эрик Эванс из
RackSpace — «NoSQL».
Карл Строззи

4.

Отличие NoSQL баз данных
1)Не используется SQL
Большинство нереляционных баз данных имеют структуры, под которые
мало вероятно можно создать какой-либо универсальный синтаксис.

5.

Отличие NoSQL баз данных
2) Неструктурированность
В NoSQL базах в отличие от реляционных структура данных не
регламентирована (или слабо типизирована, если проводить аналогии с
языками программирования) — в отдельной строке или документе можно
добавить произвольное поле без предварительного декларативного
изменения структуры всей таблицы. Таким образом, если появляется
необходимость поменять модель данных, то единственное достаточное
действие — отразить изменение в коде приложения.

6.

Отличие NoSQL баз данных
3) Все данные складываются в
агрегаты
То есть вместо таблиц с данными
мы получаем физические объекты
(например, чеки с покупками),
которые гораздо легче передавать
и обрабатывать в отличии от
таблиц с большим количеством
переходов,
а
значит
данные
обрабатываются по факту их
нахождения в объекте, а не всей
таблице как в реляционной бд.

7.

Отличие NoSQL баз данных(и много всего про ACID)
4)Слабые ACID свойства
Из-за слабой структурируемости и
типизации моделей БД NoSQL,
страдают их ACID свойства.
А что такое ACID?
Пример в котором задействованы ACID
свойства

8.

ACID
(A)Атомарность —
значит, что действия
произойдёт удачно или
не произойдёт вовсе

9.

ACID
(С)Согласованность – если
отправляется запрос на
изменение одних данных,
то меняются все без
исключения, а не каждый
по одиночке нарушая
целостность информации в
базе и создавая коллизии в
их соответствии.
*Цветочек должен быть свежим и сверху,
и снизу, иначе слабые ACID свойства или
они вообще отсутствуют *

10.

ACID
(I)Изолированность – если
вы даёте команду
приложению или сайту, то с
большой вероятность кто-то
в этот же момент вместе с
вами сделал команду такую
же как и вы, что означает,
что вы оба могли повлияли
на один параметр в один и
тот же промежуток
времени, а подобное
повышает шанс ошибок и не
допустимых значений.
*В данном случае два человека имеют два
разных значения одного и того же счёта *

11.

ACID
(D)Надёжность – гарантия того, что запрос не будет возвращён из-за
сбоя, а будет доставлен и выполнен.

12.

Спасибо за
внимание!
English     Русский Правила