TGViewer
Baba Нюра's Wisdom Baba Нюра's Wisdom @babanyurawisdom · 226 subscribers
Post #450 162
РЕЛЯЦИОННЫЕ И НЕРЕЛЯЦИОННЫЕ БАЗЫ ДАННЫХ

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

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

Первое, что вам придётся решить: какую базу взять для проекта? Для начала определяемся — реляционная или нет.

Реляционная модель хранит данные в таблицах. Таблица — это фиксированная структура. Давайте сразу посмотрим пример. Многие ведут список расходов:
Дата | Сумма | Валюта | Категория | Описание
01/11 | 7.32 | USD | Еда | Кофе и бейгл в Panera Bread
01/11 | 57.95 | USD | Красота | Покрасить брови
30/10 | 1000 | руб | Блог | Реклама
28/10 | 18.22 | USD | Подписки | Book of The Month

У таблицы есть колонки — каждая несёт определённый смысл и тип. Например, в «Сумме» мы ожидаем видеть только числа отражающие денежный размер покупки. Каждая строка описывает одну конкретную трату. Всё чётко и понятно.

Введём еще одну таблицу «Категория»:
Название | Лимит в месяц | Валюта
Еда | 700 | USD
Блог | 4000 | руб
Красота | 500 | USD
Подписки | 50 | USD

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

У нас могут быть правила. Например, лимит трат. Превысили лимит в категории «Красота» — извините, подстричься уже в следующем месяце. Было бы здорово, если бы система просто блокировала проведение такой операции. Это подводит нас к одному из важнейших свойств реляционных баз — согласованности. Если у нас есть какие-то ограничения, то реляционная БД гарантирует, что после любой транзакции они будут соблюдены. Про ACID поговорим подробнее позже.

Если структура фиксированная, можно ли её менять? Можно — добавить колонку или создать новую таблицу, а потом связать её с существующими. Но это далеко не самая простая и дешевая операция.

Чтобы удобно работать с такими структурированными данными, появился язык SQL (Structured Query Language). С его помощью можно работать с любой реляционной БД — это своего рода стандарт. Язык несложный и напоминает естественные фразы. Например: «хочу получить все транзакции за октябрь по категории Красота»:
SELECT * FROM TRANSACTIONS
WHERE DATE >= '2025-10-01' AND DATE <= '2025-10-31' AND CATEGORY = 'Красота'

Примеры реляционных БД:
Microsoft SQL, MySQL, Oracle, PostgreSQL.

Что делать, если в ваших данных нет структуры или она постоянно меняется? Например, с сайта приходят анкеты в виде XML. Структура вроде есть, но "слабая": какие-то вопросы можно пропустить, где-то можно дать несколько ответов, часть пунктов скоро потеряет актуальность. Чёткая таблица уже не подходит — вам бы просто сохранить XML как документ. Для таких задач используют нереляционные БД.

Они бывают разными по способу хранения:
◾ Ключ–значение
◾ Документы
◾ Графы
◾ Временные ряды
◾ и т. д.
Разнообразие огромное: под любую задачу найдётся нереляционная база, которая справится с хранением.

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

Примеры нереляционных БД:
MongoDB, Cassandra, Redis, Neo4j, Milvus.

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

Знаете ещё какие-нибудь важные различия между реляционными и нереляционными БД? Пишите в комментариях!

#бабанюра_программирует
Telegram Baba Нюра's Wisdom АРКТИКА И АНТАРКТИКА ИЗ МИРА IT Сегодня на повестке — аутентификация и авторизация. Оба процесса случаются с вами ежедневно. Есть ещё и третий участник: идентификация. Как Арктика и Антарктика... и Антарктида в придачу. Голые определения: 🆔 Идентификация…
  • 👍 1
More from @babanyurawisdom
  1. Sep 29, 2026ВЕДИ СЕБЯ КВАЗИСЛУЧАЙНО. ЧАСТЬ II Вчера мы закончили на вопросе: есть ли алгоритмы построе…
  2. Sep 28, 2026ВЕДИ СЕБЯ КВАЗИСЛУЧАЙНО. ЧАСТЬ I Если вас попросят загадать случайное число, то ваш мозг л…
  3. Sep 25, 2026ПОДАРОК СО СМЫСЛОМ Снова в том возрасте, когда уместно дарить родителям подарки, сделанные…
  4. Sep 23, 2026САПОЖНИК БЕЗ САПОГ Не так давно на работе закончилось очередное ревью. Можно поздравить с…
  5. Sep 22, 2026КЮРАСАО Вторая страна для изучения после ЧМ-2026 — Кюрасао. Я по себя называю её исключите…
  6. Sep 21, 2026Post #832
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →