Чим реляційні бази даних відрізняються від нереляційних? Які між ним є переваги і недоліки?
Реляційна база даних є структурованою, тобто дані організовані в таблицях. Часто дані в цих таблицях мають зв’язки один з одним або залежності. Нереляційна база даних є документоорієнтованою, тобто вся інформація зберігається в порядку списку.

Переваги реляційних баз даних:
- Чудово підходить для структурованих даних
- Чудово підходить для складних запитів
- Зручна навігація за даними
- Високий рівень інтеграції даних завдяки зв’язкам і обмеженням між таблицями
- Транзакції безпечні

Недоліки реляційних баз даних:
- Попереднє визначення схеми
- Немає адаптації до мінливих вимог: динамічні зміни елемента впливають на всі інші елементи в одній таблиці
- Обробка даних може бути повільною. Висока продуктивність можлива за допомогою дорогого обладнання

А тепер, я напишу про переваги та недоліки нереляційних БД.

Переваги нереляційних баз даних
- Гнучка модель даних
- Швидка адаптація до мінливих вимог: динамічні зміни елемента не впливають на інші елементи
- Зберігання величезної кількості неструктурованих даних 
- Висока ефективність

Недоліки нереляційних баз даних
- Важко перевірити цілісність і послідовність даних
Якщо в нереляцяйній базі знаходяться різні неструктуровані дані, як робити до них запити?
Парадоксально, але неструктуровані дані потребують певного базового рівня структури, перш ніж їх можна буде правильно проаналізувати. У деяких неструктурованих базах даних дані потрібно аналізувати шляхом витягнення (extraction).

Уявіть, що ви хочете запустити розпізнавання обличчя на фотографії. Спочатку ви повинні нанести на карту ключові контрольні точки, щоб створити ряд вимірювань (відстань між очима, ширина рота тощо). Потім цю карту можна використовувати для порівняння з ключовими точками з інших фотографій, доки ви не знайдете приклад того, де вимірювання потрапляють у прийнятні межі допуску.

Насправді ви застосували до файлу структуру, яка дозволяє порівнювати та аналізувати. Деякі бази, такі як-от MongoDB допомагають прискорити цей процес, застосовуючи «напівструктуру» до наборів даних під час їх зберігання. Усі оригінальні метадані зберігаються в документі NoSQL JSON, а додаткова напівструктура прискорює пошук і аналіз.
А чи можна json зберігати в реляційній базі даних? Які недоліки можуть бути?
JSON можна зберігати в реляційних БД. Наприклад, MySQL має підтримку типу JSONB, що зберігає дані JSON у таблиці у бінарному форматі. PostgreSQL має нативну підтримку як JSON, так і JSONB.

Одним з недоліків можна вважати те, що планувальник запитів БД має кращу інформацію про оптимізацію під час перегляду стовпців таблиці, ніж під час перегляду ключів у документі JSON. Інший недолік - доступ до глибоко вкладених елементів JSON може бути повільним, якщо даних багато.