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

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

BigData

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

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

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

2005 2008

1970

2000

2010

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

МИЭТ, 2017

ИП. БД. SQL и NoSQL

Базы данных

Реляционные

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

SQL

NoSQL

Oracle, MySQL,

SQLLite, MSSQL,

Posgress

Ключ

Семейство

Документо

-значение

колонок

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

Riak

MongoDB

Cassandra

МИЭТ, 2017

Графовая

Neo4j

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

МИЭТ, 2017

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

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

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

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

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

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

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

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

распределенной БД.

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

Недостатки:

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

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

 

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

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

 

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

значения

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

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

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

МИЭТ, 2017

 

Значение,

ключ

это документ

имеющий

 

структуру

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

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

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

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

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

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

Преимущества: Недостатки:

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

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

 

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

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

 

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

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

 

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

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

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

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

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

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

МИЭТ, 2017

Ключ строки

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

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

Не заполнено

Значение

Значение

 

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

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

 

Ключ строки

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

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

Значение

Не заполнено Значение

 

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

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

Ключ строки

Не заполнено

Не заполнено

Не заполнено

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

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

Не заполнено

Не заполнено

Ключ столбца 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

Распределение результатов (*1000) в Google по запросу: имя базы + "большие данные"

60

50

40

30

20

10

0

Oracle

NoSQL

 

Riak

MemcacheDB

HBase

Hypertable

Accumulo

MongoDB

 

OrientDB

MySQL

Postgres

Redis

Amazon DynamoDB BerkeleyDB

Cassandra

SimpleDB

CouchDB

Neo4j

AllegroGraph

Распределение результатов (*1000) в Yandex по запросу: имя базы + "большие данные"

35

30

25

20

15

10

5

0

 

Oracle

NoSQL

 

Riak

Memcache

HBase

Hypertable

Accumulo

MongoDB

 

OrientDB

MySQL

Postgres (sql)

Redis

Amazon Dynamo BerkeleyDB

Cassandra

SimpleDB

CouchDB

Neo4j

AllegroGraph

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