databases

SQL чи NoSQL – ось в чому питання

Hello, World, друзі! Зараз з вами спробуємо розібратись що таке реляційні бази даних і нереляційні бази даних та встановимо відмінності між ними. Готові? Поїхали!

Що таке реляційні та нереляційні бази даних

Реляційна база даних (SQL) – база, у котрій дані зберігаються у форматі таблиць, вони суворо структуровані та пов’язані одна з одною. У таблиці є рядки (rows) та стовпчики (columns), кожен є записом, а стовпчик – поле з призначеним йому типом даних. У кожній комірці інформація записана згідно шаблону.

Нереляційна база даних (NoSQL) – зберігає дані без чітких зв’язків між собою та без чіткої структури. Замість структурованих таблиць, всередині бази знаходиться безліч різнорідних документів, в тому числі і зображення, відео та навіть публікації у соціальних мережах. На відміну від реляційних БД, NoSQL бази не підтримують SQL запити. 

Реляційні бази даних, або бази даних SQL

Особливості. Основна особливість – надійність та незмінність даних, низький ризик втрати інформації. При оновленні даних їхня цілісність гарантується, вони заміняються у одній таблиці.

Реляційні бази даних, на відміну від нереляційних, відповідають ACID –   це вимоги до транзакційних систем. Відповідність до них гарантує цілісність та збереження даних, а також передбачуваність роботи бази даних:

Atomicity, або атомарність – жодна транзакція не буде зафіксована у системі частково.

Consistency, або непротирічність – фіксуються тільки допустимі результаті транзакцій.

Isolation, або ізольованість – на результат транзакції не впливають транзакції, що відбуваються паралельно до неї.

Durability, або довговічність – зміни у базі даних зберігаються, не дивлячись на збої чи дії користувачів.

Під час роботи з такими СУБД потрібно враховувати, що будь які зміни у об’єктах необхідно відображувати у структурі таблиць, фізична структура даних не відповідає об’єктній моделі додатка.

Реляційні БД ідеально підходять для роботи зі структурованими даними, структура яких не вимагає частих змін.

Нереляційні бази даних, або бази даних NoSQL

Особливості. На відміну від реляційних, у нереляційних базах даних схема даних є динамічною та може змінюватись у будь який момент часу. До даних складніше отримати доступ. Проте такі СУБД відрізняються швидкістю та продуктивністю. Фізичні об’єкти у NoSQL зазвичай можна зберігати прямо у тому вигляді, у якому з ними потім працює додаток.

Бази даних NoSQL підходять для зберігання великих об’ємів неструктурованої інформації, а також для швидкої розробки та тестування гіпотез.

У них можна зберігати дані будь яких типів та додавати нові в процесі роботи.

Масштабованість. NoSQL бази мають розподілену архітектуру, тому легко масштабуються горизонтально та вирізняються високою продуктивністю. Технології NoSQL можуть автоматично розподіляти дані на різних серверах. Це підвищує швидкість читання даних у розподіленому середовищі.

Залишити відповідь