СУБД No-sql особенности и возможности

28.10.2016 на прочтение 4 минуты

Понятие No-sql начало набирать свою актуальность еще с 2009 года, когда веб-технологии стали приобретать новые возможности для хранения и обработки данных. No-sql - это не полный отказ от использования РСУБД, это специально разработанный инструмент под выполнение определенных задач.

СУБД No-sql имеет ряд преимуществ, которые помогут воплотить Ваш проект:

  • масштабируемость. Процедура масштабируемости с No-sql намного проще и удобней по сравнению с РСУБД.
  • производительность на одном узле, а не во всем кластере очень весомое достоинство БД. Не во всех случаях свойства баз данных нужны в полном объеме, поэтому No-sql для подобного рода задач более подходящее решение, так как дает возможность сосредоточиться на работе одного узла.
  • возможность репликации в случае сетевой недоступности или отказе железа во время работы, от чего никто не застрахован. Эта особенность не является уникальной, но она проста в использовании и процессе внесения изменений.
  • удобная система разработки и администрирования No-sql. Решение целого ряда задач в данной области с применением No-sql становится проще и быстрее, по сравнению с другими СУБД. Поэтому выбор данной системы является ключевым при разработке многих проектов, которым важна скорость и стабильность.
  • специализированная модель данных: NoSQL предоставляет огромный выбор моделей данных и их реализаций, нужно только выбрать оптимальную для конкретной задачи модель.

Спектр выбора среди популярных No-sql решений.

Nosql_type

Документо-ориентированные СУБД - подходят для работы с данными, которые имеют не строгую структуру. Это чаще всего задачи по логированию или сбору статистики. Задания, которым необходимы ad-hoc сложные запросы, документо-ориентированные базы данных подходят для реализации. Такие БД  накладывают структуры на двоичный объект. Объектами должны быть документы  формата: XML или PDF. Хотя нет абсолютных требований к структуре или содержанию документа. Наиболее широко востребованные БД из этой группы это MongoDB и CouchDB, которые имеют поддержку репликации и шардинга. Отличаются эти системы подходом к конкурентным изменением данных.

СУБД по типу “ключ-значение”. По своей сути, это двоичный объект данных, который ассоциированный с его ключом, сохраняется в базе данных для последующего его возвращения. Яркие представители этих БД  Redis и Riak.  Redis – простая и высокопроизводительная реализация KV-хранилища, написанная на чистом C, а Riak - более сложный механизм, который обеспечивает работу с данными. Riak поддерживает кластеризацию, в том числе с автоматическим реплицированием.

Колоноподобные базы данных - гибрид No-sql и реляционных баз. Предполагает определенную структуру “строку-колонка”, но не имеет строгих правил реляционной структуры. Задачи, которые решают колоночные СУБД: агрегация огромных объемов информации. Наиболее популярный представитель этой системы Apache Cassandra, которая имеет линейную масштабируемость. Использует автоматическую репликацию.

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

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

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

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


Close Screen
Alla Rud
Статей: 1188
Оцените статью:


Спасибо за отзыв
Рейтинг: 5 из 5 Голосов: 6