Типы баз данных и что лучше SQL или NoSQL?

Giteqa

Введение

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

В данном случае можно открыть блокнот и вписать то что боишься забыть вот этот самый блокнот и будет являться базой данных. 

Ответ на вопрос зачем нужны базы данных вы уже получили так давайте разберемся какие базы данных бывают в ИТ сфере.

Базы данных в современном мире

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

Каким образом инженеры управляют базами данных? В помощь им приходит СУБД - программное обеспечение позволяющее работать с ними.

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

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

Реляционные БД (SQL)

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

Плюсы

  • Соответствует требованиям ACID
  • Имеют простую структуру
  • Используют SQL и быстро обновляют данные

Минусы

  • Может долго выполняться запрос т.к. каждый запрос относится к таблице и чем больше таблица тем дольше ждать ответ.
  • Не поддерживает объекты на основе ООП
  • Хуже поддаются масштабируемости

NoSQL (Не только SQL) или просто не реляционные БД

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

Ключ-Значение

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

Графовые

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

Плюсы

  • Легко подаются масштабируемости
  • Быстрота работы
  • Хранение данных в разных структурах

Минусы

  • Долго обновляются т.к. Информация может храниться на разных серверах
  • Не соответствует ACID

Заключение

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

  • Есть ли потребность в чтение или записи данных онлайн?
  • Какое кол-во информации вы собираетесь хранить?
  • Есть ли необходимость использования столбцов?
  • Нужно ли следовать принципам ACID?

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