Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
193
Добавлен:
17.04.2018
Размер:
1 Мб
Скачать
☆

ИП. БД. Временная диаграмма развития моделей хранения данных МИЭТ, 2017

BigData

Прекращение роста частоты

Реляционные SQL

Не реляционные SQL

2005 2008

1970

2000

2010

ИП. Базы данных. Модели и представители

МИЭТ, 2017

ИП. БД. SQL и NoSQL

МИЭТ, 2017

Базы данных

Реляционные

Не реляционные

SQL

NoSQL

Oracle, MySQL,

SQLLite, MSSQL,

Posgress

Ключ

Семейство

Документо

Графовая

-значение

колонок

-ориентированная

 

Riak

MongoDB

Cassandra

Neo4j

ИП. БД. Модель Ключ-Значение

МИЭТ, 2017

ключ значение

Особенности СУБД модели ключ-значение

СУБД не знает о структуре значения. Поэтому, допустимые операции со значением:

поиск слова внутри значения

СУБД может работать со сложными ключами. Допустимые операции с ключами:

выборку по ключу (точное совпадение)

фильтрация по значению ключа (например, выбрать все ключи, начинающиеся с f)

Сложные ключи позволяют осуществлять сегментацию данных по узлам. Например, первые n символов ключа можно определить как номер узла хранения распределенной БД.

Преимущества:

Недостатки:

 

Наивысшая скорость

Не подходит, когда нужно получать

 

Наивысшая масштабируемость

выборки по содержимому/структуре

 

Отсутствие структуры значений

значения

Применение: хранение данных сессий, корзин, профилей

Представители: Riak, Redis

ИП. БД. Модель Документо-ориентированная

МИЭТ, 2017

Значение,

ключ это документ имеющий

структуру

Особенности СУБД документо-ориентированной модели

Значение это документ имеющий структуру (XML, JSON), при этом ограничений на единообразность структур не накладывается

СУБД может работать со значением. Поэтому, кроме операций допустимых с моделью ключ-значение допустимые дополнительные операции со значением:

выборки по значению и иерархии узлов документа

сериализия/десиарилизия (например в/из JSON)

Преимущества:

Недостатки:

СУБД может работать с ключами также как и в модели ключ-значение

Хорошая скорость

Плохо подходит, когда требуются операции

Хорошая масштабируемость

подразумевающие совместное зависимое

Возможность работать со

использование документов, а также при необходимости

структурой значений

централизованных изменений структур документов

Применение: быстрая запись того, что возможно исследовать потом в «более спокойной» обстановке: регистрация событий (в том числе с изменяющейся

структурой) для последующего анализа, а также анализа в реальном времени (в этом случае идет обновление соответствующих документов)

Представители: MongoDB, CouchDB

ИП. БД. Модель семейство столбцов (колоночная)

Ключ

строки

Ключ

строки

Ключ

строки

Есть ограничения на структуру документов

Семейство столбцов

Ключ столбца 1

Ключ столбца 2

 

Значение

Значение

Не заполнено

Метка времени

Метка времени

 

Ключ столбца 1

 

Ключ столбца 3

Значение

Не заполнено

Значение

Метка времени

 

Метка времени

Не заполнено

Не заполнено

Не заполнено

МИЭТ, 2017

Не заполнено

Не заполнено

Ключ столбца 4 Значение = массив столбцов

Ключ столбца 4.1

Ключ столбца 4.2

Значение

Значение

Метка времени

Метка времени

Метка времени

ИП. БД. Модель семейство столбцов (колоночная)

МИЭТ, 2017

Особенности СУБД документо-ориентированной модели

Значение это это семейство столбцов, каждый из которых имеет ключ и значение

Значение столбца может быть простым или ассоциативным массивом столбцов

СУБД может работать со значением. Поэтому, кроме операций допустимых с

моделью ключ-значение допустимые дополнительные операции со значением:выборки по ключам столбцов

СУБД может работать с ключами также как и в модели ключ-значение

Преимущества:

Приемлемая скорость

Хорошая масштабируемость

Работа со значениями

Ограниченная модификация

структуры (add colum)

Недостатки:

Ограничения на структуру значений

Избыточное извлечение данных

Трудности изменения шаблонов запросов (при изменении семейства

колонок)

Применение: хранения взаимосвязанных данных (документов) т.е. имеющих полные или частичные общие данные. Например: события, записи и комментарии блогов.

Представители: Cassandra, HBase

ИП. БД. Модель Ключ-Значение

узел

 

(ключ)

узел

 

 

(ключ)

ключ

Особенности СУБД графовой модели

Узлы и ребра могут иметь различные типы.

Ребра могут иметь несколько свойств (вектор)

Ребра не вычисляются, а хранятся готовыми

МИЭТ, 2017

узел

(ключ)

ключ

ключ

Преимущества:

Наибольшая скорость обхода графа

Недостатки:

Не подходит, когда нужно получать выборки по содержимому/структуре значения

ние: хранение связей в социальных сетях, маршрутизация, диспетчеризация, ия, справочники (типа: вашим друзьям также нравится...)

Представители: Neo4j, OrientDB

ИП. БД. SQL или NoSQL

МИЭТ, 2017

Как видно из предыдущего рассмотрения NoSQL решений, все они в той или иной степени предназначены для решения вопросов быстрой работы с большими объемами данных, когда обеспечением требований ACID и формированием представлений можно разумно пренебречь.

Работа NoSQL решений строится на основе работы с ключами с различными ограниченными «вариациями на тему» возможностей работы с содержимым значений ключей (ключ-значение и документные) и ограниченными индивидуальными для БД SQL-подобными языками запросов (колоночные, например, Cassandra).

При этом NoSQL решения (из-за ориентацию на работу с ключами и распределенность БД) не поддерживают транзакционность в том смысле, в котором это принято для решений БД по реляционной модели: назначать множество операций, а затем решать закреплять их результат в БД или нет. Есть определение успешности или не успешности записи в БД только для одной операции (которое часто зависит и от количества узлов).

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

Например данные из БД Riak можно извлечь напрямую по URL: http://mysite.ru/session/keys/trye643723

ИП. БД. Распространенность моделей

МИЭТ, 2017

60

50

40

30

20

10

0

35

30

25

20

15

10

5

0

Соседние файлы в папке Интернет технологии