Базы данных NoSQL и их виды

Автор: Денискова А.О.

Журнал: Теория и практика современной науки @modern-j

Рубрика: Основной раздел

Статья в выпуске: 4 (46), 2019 года.

Бесплатный доступ

На сегодняшний момент все большей популярностью пользуются нереляционные базы данных NoSql. Данное понятие появилось в 90-е года, но по- настоящему его значение стали понимать только в 2008 году. Ранее под нереляционными БД понимали опенсорсную базу данных, которая хранила все данные как ASCII файлы и использовала шелловские скрипты вместо SQL для доступа к данным.

Нереляционнаябд, бд, большие объемы данных

Короткий адрес: https://sciup.org/140274493

IDR: 140274493

Текст научной статьи Базы данных NoSQL и их виды

В конце 90-х годов появился термин NOSQL ,однако полноценно его стали использовать лишь в 2009 году [1].

Обычно с данным термином сопоставляют такие понятия, как большие объемы данных, нереляционность, хранение сложных структур данных, не только SQL.

В отличие от SQL, модель NOSQL является безмодельной, т.е. данная структура исключает ограничения при хранении и использовании информации. И на основе данного представления NOSQL предлагает много способов хранения информации.

Особенности NOSQL

В отличии от традиционной базы данных, NOSQLориентируется на три главных принципа BASE:

Базовая

доступность,

под    которой

понимается

гарантированное выполнение каждого запроса. При этом неважно успешно выполнен запрос или нет;

  •    Гибкое состояние системы, при которойсистема может изменяться со временем для достижения согласованности хранения данных. При этом необязательно вводить в систему новые данные;

  •    Согласованность данныхв конечном счёте.

Основными характеристиками NOSQL:

  •    Проектирование базы данных с учетом масштабируемости, т.е. при добавлении процессов увеличивается производительность БД;

  •    Применение различных типов хранилищ;

  •    Есть возможность разработки БД без четкой схемы организации хранения информации;

  •    Сокращение общего времени разработки;

  •    Больше способов хранения данных;

  •    Скорость ответа системы.

Виды NOSQL

В зависимости от типа хранения информации и вида самой информации будем различать следующие виды нереляционных БД [2]:

  •    Хранилище «ключ-значение»

Является самой простой моделью хранения данных. Заключается в сопоставлении каждого значения своему ключу, при этом каждый ключ имеет уникальное название.

Данное хранилище работает по двум операциям:запись данных по ключу и чтение по ключу.

Использование

данной

технологии

при

работе    с

высоконагруженными системами привели к появление нескольких типов СУБД, отличающихся по способу реализации данных: постоянные (CDB), редко изменяюшиеся (MemcacheDB) и часто изменяющиеся (memcached).

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

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

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

  •    Хранилище семейств колонок( колоночная база данных)

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

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

Примером хранилища семейства колонок является GoogleBigTable и HBase с Cassandra.

  •    Документоориентированные БД

Служат для хранения иерархических структур данных. XML, JSON и BSON — некоторые из стандартных распространённых кодировок для данных БД.

В отличии от других видов NOSQLдокументоориентированные БД включают метаданные по содержимой информации. Расположение данных в XMLхранилищах похожи на расположение строк в реляционных БД, однако в документоориентированной БД записи более гибкие и в ней отсутствуют разделы, части и т.д.

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

Примерами СУБД данного типа являются CouchDB, Couchbase, MarkLogic, MongoDB, eXist, BerkeleyDBXML.

  •    Графоориентированные БД

В данной модели все данные представлены в виде математического графа, вершины которого представлены объектами базы, а ветви - отношениями между объектами.

Данная модель оказалась на пике популярности из-за востребованного интереса к Интернету.

Преимуществами данной модели является естественность изображение графовых отношений и простая схема данных, позволяющих классифицировать разнородные данные.

Примеры: Neo4j, OrientDB, AllegroGraph, Blazegraph(RDF-хранилище, ранее называлось Bigdata), InfiniteGraph, FlockDB, Titan.

Список литературы Базы данных NoSQL и их виды

  • От SQL к NoSQL и обратно [Электронный ресурс]. - Режим доступа: http://www.osp.ru/os/2012/02/13014127/, свободный
  • NoSQL [Электронный ресурс]. - Режим доступа: http://en.wikipedia.org/wiki/NoSQL, свободный
Статья научная