Где данные живут надолго — на сервере, для всех пользователей; и что на самом деле стоит за выбором «реляционная или документная база».
⏱ ≈ 9 минут🗄️ постоянное хранилище🎯 цель: понимать, что предлагает агент, выбирая базу
Зачем это вам
Когда агент спрашивает «какую базу взять?» или молча делает выбор сам — вы должны понимать ставку. Реляционная база (PostgreSQL) — безопасный дефолт для большинства приложений; если агент тянет что-то экзотическое без объяснений, стоит спросить «почему не Postgres?».
Понимание схемы (структуры данных) помогает и в другом: когда агент говорит «нужна миграция» — это значит «я меняю структуру таблиц на продакшне», а это операция, требующая аккуратности. Знать, о чём речь, — уже половина контроля.
Центральный склад приложения
Что такое база данных и зачем она нужна
База данных (database) — это программа, которая хранит данные надолго, на сервере, и умеет быстро находить нужное среди миллионов записей.
В прошлых уроках мы говорили про состояние (живёт в памяти, стирается при перезагрузке) и хранилище браузера (живёт на устройстве конкретного пользователя). База данных — это третий уровень, и самый важный: центральный склад на сервере, одна для всех пользователей, переживает перезапуски сервера и бэкапится.1
Управляет базой СУБД (система управления базами данных, или DBMS). Именно она принимает запросы, ищет данные и следит за целостностью. Примеры СУБД: PostgreSQL, MySQL, MongoDB.
Все современные базы делятся на две большие семьи:
Семья
Как хранит
Сильна когда
Примеры
SQL / реляционная
Связанные таблицы со строками и столбцами; строгая схема; язык запросов SQL
Данные структурированы и важны связи между сущностями: пользователи, заказы, платежи
PostgreSQL, MySQL, SQLite
NoSQL
Гибкая структура: документы (похожи на JSON), пары «ключ–значение» и другие форматы2
Неоднородная или часто меняющаяся структура; очень большой масштаб простых операций; кэш
MongoDB (документы), Redis (ключ–значение)
Важно развенчать ложную дилемму: «SQL или NoSQL» — не религиозный выбор. Для большинства приложений вайб-кодера реляционная база (PostgreSQL) — отличный дефолт. NoSQL берут под конкретные задачи. А в одном проекте часто есть и то, и другое: Postgres для данных и Redis для кэша.
📌 Не «что круче», а «что подходит данным». Структурированные, связанные данные — реляционная база по умолчанию. Если агент предлагает что-то другое, просто спросите: зачем?
Аналогия, которую можно пересказать
Excel со связями vs папка карточек
SQL — это строгие листы Excel со ссылками друг на друга: лист «Клиенты», лист «Заказы», и каждый заказ ссылается на клиента по ID. У каждой строки одинаковый набор столбцов — это и есть схема. NoSQL — папка с карточками-анкетами: каждая карточка самостоятельный объект целиком, и карточки могут отличаться набором полей.
«Центральный склад на сервере»— база данных: хранит надолго, одна для всех, с быстрым поиском
«Листы Excel со ссылками»— SQL / реляционная: связанные таблицы, строгая схема
«Папка карточек-анкет»— NoSQL / документная: гибкие самостоятельные документы
«Шапка таблицы»— схема: какие поля, какого типа, что обязательно
Таблицы со связями — про порядок и целостность; карточки — про гибкость. Ни один подход не лучше: они для разных задач.
Запомните одно
Главный вопрос: насколько мои данные структурированы и связаны?
Если у вас есть связанные сущности — пользователи, заказы, платежи — реляционная база справится с этим лучше всего, и PostgreSQL — хороший дефолт.
NoSQL — это осознанный выбор под конкретную потребность, а не мода и не признак современности. Когда агент предлагает Mongo или Redis — хорошо знать, зачем именно это нужно в вашем конкретном случае.
Что это даёт на практике
Фраза агента → что он имеет в виду
«Возьмём PostgreSQL»
Надёжная реляционная (табличная) база данных — хороший дефолт для большинства приложений с пользователями, заказами и другими связанными данными.
«Это будет в Mongo»
Документная NoSQL-база; данные лягут как гибкие JSON-подобные объекты. Разумно спросить: почему не реляционная база?
«Опишем схему»
Заранее зафиксируем структуру таблиц — какие поля есть, какого они типа, что обязательно. Это фундамент, менять потом сложнее.
«Добавим индекс»
Ускорим поиск по этому полю — как алфавитный указатель в книге. Без индекса база перебирает все строки подряд.
База данных (database) — программа-хранилище данных на сервере: надолго, для всех пользователей, с быстрым поиском.
SQL / реляционная база — данные в связанных таблицах со строгой схемой; запросы пишутся на языке SQL.
NoSQL — базы с гибкой структурой: документные, ключ–значение и другие. Примеры: MongoDB, Redis.
Схема (schema) — описание структуры данных: какие поля, какого типа, что обязательно заполнить.
Проверьте себя
Четыре вопроса с мгновенной проверкой
1. Чем база данных отличается от хранилища браузера?
Верно. База — центральный склад на сервере: надолго, для всех, с быстрым поиском. Хранилище браузера (localStorage и др.) — только на устройстве одного пользователя и под угрозой очистки.
2. Что лучше всего описывает SQL / реляционную базу?
Верно. Реляционная база — это таблицы (строки и столбцы) со строгой схемой и связями между ними. Язык запросов — SQL. PostgreSQL, MySQL, SQLite — все из этой семьи.
3. Агент предлагает PostgreSQL для приложения с пользователями, заказами и платежами. Это разумно, потому что…
Верно. Пользователи → заказы → платежи — классические связанные сущности. Реляционная база создана именно для этого: поддерживать связи и целостность данных. PostgreSQL — надёжный, проверенный выбор.
4. «SQL или NoSQL — что правильно?» — лучший ответ:
Верно. «SQL или NoSQL» — не религия. В одном проекте часто есть и то, и другое: Postgres для данных, Redis для кэша. Главный вопрос — насколько данные структурированы и связаны.
Куда мы идём
Программа курса — 7 блоков
1Как устроен вебСайт/приложение, HTTP, URL, DOM✓ есть
2Где живут данныеСостояние, хранилище, база данныхВы здесь · урок 3 из 5✓ идём
3Как приложения общаютсяAPI, JSON, RESTдалее
4Фронтенд-слойReact / Next / Vite, компонентыдалее
5Секреты и безопасностьГде вайб-кодеры горят чаще всегодалее