Базы данных 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, свободный