Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Типы баз данных

Проблема типизации баз данных

Базы данных (БД) чрезвычайно разнообразны и могут быть классифицированы по множеству признаков:

  • по модели данных (иерархическая, объектная, реляционная, сетевая, функциональная);
  • по среде постоянного хранения (на жестком диске, в оперативной памяти, в сетевом облаке);
  • по содержимому (географическая, мультимедийная, научная);
  • по степени распределённости (централизованная и распределенная).

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

  • реляционные БД (РБД);
  • БД класса NoSQL.

Современные базы данных. Автор24 — интернет-биржа студенческих работ

Рисунок 1. Современные базы данных. Автор24 — интернет-биржа студенческих работ

Замечание 1

Термин NoSQL (Non-relational) означает, что БД данного класса не содержат таблиц, и выборки из них производятся по методикам, отличающимся от стандартных SQL-запросов.

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

Популярность реляционных и NoSQL баз данных. Автор24 — интернет-биржа студенческих работ

Рисунок 2. Популярность реляционных и NoSQL баз данных. Автор24 — интернет-биржа студенческих работ

Рассмотрим особенности каждого из названных подходов.

Особенности реляционных БД

Определение 1

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

«Типы баз данных» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти

Наиболее популярные современные реализации РБД:

  • Oracle Database;
  • MySQL;
  • Microsoft SQL Server;
  • PostgreSQL;
  • DB2.

Достоинства РБД:

  • зрелость кодовой базы;
  • наличие обширной документации;
  • принятие сообществом разработчиков стандартов SQL как давней и неоспоримой традиции;
  • большое количество специалистов по РБД на рынке труда;
  • все они соответствуют принципу ACID (Atomicity — Атомарность, Consistency — Согласованность, Isolation — Изолированность, — Долговечность).

Недостатки РБД:

  • не приспособлены для работы с нерегулярными (отличающимися от табличных) структурами;
  • плохая совместимость между различными реализациями РДБ (например, данные, хранящиеся в формате MySQL невозможно обрабатывать средствами PostgreSQL без дополнительной конвертации);
  • высокие затраты на проектирование баз данных (создание таблиц и установление взаимосвязей между ними), что особенно ощущается в простых проектах;
  • необходимость разворачивать и настраивать ПО (сервер БД), требующее предварительной настройки и определенной производительности компьютера (подчас довольно высокой).

Базы данных NoSQL

Класс NoSQL (нереляционных) баз данных достаточно широк. Их объединяет отсутствие необходимости структурировать данные в виде таблиц, но варианты реализации этой задачи используются разные.

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

Типы NoSQL баз данных.

Базы данных NoSQL можно разделить на несколько категорий. При этом некоторые из них подпадают более чем под одну категорию.

  1. БД типа ключ-значение (Redis, Amazon DynamoDB). В них значения хранятся в связи с уникальным ключом, с помощью которого запись можно легко запросить и извлечь. Такой подход существенно облегчает разворачивание таких баз данных и управление ими. Кроме того, архитектура "ключ-значение" способствует скорости высокой работы приложений.
  2. Концепция "широких колонок" (примеры реализации - Cassandra, Scylla, HBase) представляет собой способ хранения, сходный с РБД (имеются таблицы, колонки), но без строгой типизации. Каждая запись в такой базе может представлять собой многомерный массив. Это позволяет хранить объемы информации, измеряющиеся в петабайтах (тысячах терабайт) и при этом обеспечивать приемлемую скорость доступа к записям, что затруднительно или недостижимо для обычных РДБ. Для баз данных с "широкими колонками" разработан язык запросов, аналогичный SQL (CQL).
  3. Документоориентированные БД (MongoDB, Couchbase) хранят данные в формате JSON, который разработан для описания объектов. К этой же категории можно отнести СУБД Elasticsearch, Splunk и Solr, которые дополнительно оснащены эффективными механизмами поиска.
  4. Графообразные БД (Neo4J, Datastax Enterprise Graph) представляют данные в форме сетей, где узлы могут быть связаны между собой. Такие базы данных удобны для хранения объектов, которые должны быть представлены и визуализированы как математические графы. На формат данных, хранящихся в узлах графов, не накладывается ограничений, за ними лишь закреплены метки. Такой подход делает графообразные ДБ удобным инструментом для анализа гетерогенных сред. Например, они используются для предотвращения мошенничеств в сети Facebook.

Востребованность NoSQL баз данных. Автор24 — интернет-биржа студенческих работ

Рисунок 3. Востребованность NoSQL баз данных. Автор24 — интернет-биржа студенческих работ

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

  • отсутствие жестких схем данных, характерных для РДБ;
  • легкость масштабирования (расширения объемов хранимой информации);
  • возможность быстрой синхронизации между узлами при работе в составе кластера.

Недостатки NoSQL:

  • отсутствие достаточного количества специалистов для обслуживания таких БД;
  • слишком сильные различия в форматах хранения, делающие затруднительным переход с одной базы данных на другую.
Воспользуйся нейросетью от Автор24
Не понимаешь, как писать работу?
Попробовать ИИ
Дата написания статьи: 31.01.2019
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot