Когда ты только собрал свою первую «Змейку» и сохраняешь рекорд в браузере, хватает простого хранилища на устройстве. Но стоит добавить аккаунты, общую таблицу результатов или аналитику — и без базы данных уже не обойтись. Разберёмся, что такое база данных, чем три популярных варианта отличаются друг от друга и почему в курсе мы используем Supabase.
Содержание
- Что такое база данных простыми словами
- Три варианта: PostgreSQL, Supabase и SQLite
- Сравнение в одной таблице
- Почему в курсе используем Supabase
- Что происходит под капотом: как приложение общается с базой
- Практический блок: как понять, какая база данных тебе нужна
- Частые ошибки новичков
- Заключение + чек-лист
- Что такое Supabase простыми словами
- Источники
Что такое база данных простыми словами
База данных — это упорядоченное хранилище информации, к которому приложение может обращаться: что-то записывать, читать, изменять и удалять. Представь её как продвинутую таблицу или набор таблиц, связанных между собой.
Простой пример из «Змейки»: в одной таблице хранятся игроки, в другой — их рекорды. Каждый рекорд «знает», к какому игроку относится, потому что в нём указан идентификатор игрока из первой таблицы. Так работают реляционные базы данных: данные разбиты на таблицы, а между ними настроены связи.
В отличие от обычного файла, база данных умеет:
- быстро находить нужные записи среди миллионов;
- не допускать дублирования и противоречивости данных;
- разрешать одновременную работу многих пользователей;
- защищать информацию через права доступа.
Без базы данных сложно сделать что-то серьёзное: личные кабинеты, рейтинги, комментарии, заказы, аналитику.
Три варианта: PostgreSQL, Supabase и SQLite
Эти три названия часто путают, потому что они связаны. Разберём каждый.
PostgreSQL
PostgreSQL — это мощная открытая реляционная база данных. Она бесплатная, проверенная временем и используется в огромном количестве серьёзных проектов: от стартапов до крупных компаний.
Если представить базу данных как двигатель, то PostgreSQL — это один из самых надёжных и гибких двигателей на рынке. Он хранит таблицы, умеет сложные запросы, поддерживает расширения и хорошо масштабируется.
Но у PostgreSQL есть важный нюанс для новичка: чтобы ей пользоваться, нужно её где-то установить и настроить. Это значит — арендовать сервер, разобраться с доступами, резервными копиями, обновлениями и безопасностью. Сам по себе PostgreSQL не даёт готового интерфейса для входа пользователей, не шлёт письма для подтверждения почты и не предоставляет удобную панель управления.
SQLite
SQLite — это база данных, которая хранится в одном обычном файле прямо рядом с приложением. Её не нужно устанавливать на отдельный сервер, она не требует настройки прав доступа и работает локально.
SQLite отлично подходит для простых приложений на одном устройстве: заметок, калькуляторов, офлайн-игр. В самой первой версии «Змейки», которая живёт только в браузере пользователя, вместо базы данных чаще используют localStorage — браузерное хранилище. SQLite похожа по духу: всё хранится локально, без облака.
Главный минус SQLite — она не умеет одновременно работать с несколькими пользователями через интернет. Если ты хочешь, чтобы у твоей «Змейки» был общий рейтинг, а игроки могли входить под своими аккаунтами, SQLite не подойдёт.
Supabase
Supabase — это облачная платформа, которая берёт PostgreSQL и добавляет к нему удобную обёртку. Проще говоря, Supabase = PostgreSQL в облаке + готовые инструменты для разработчиков.
Среди этих инструментов есть две вещи, особенно важные для новичка:
- Готовая авторизация. Supabase позволяет добавить регистрацию и вход по почте, паролю, Google, GitHub и другим способам без написания сложного кода безопасности с нуля.
- Realtime и API. Данные из базы можно читать и записывать прямо из фронтенда через автоматически сгенерированный API, а обновления приходят в реальном времени.
То есть Supabase не заменяет PostgreSQL — он использует PostgreSQL под капотом, но берёт на себя рутину: сервер, обновления, резервные копии, доступы, панель управления.
Сравнение в одной таблице
| Критерий | SQLite | PostgreSQL | Supabase |
|---|---|---|---|
| Где хранятся данные | В файле на устройстве | На твоём сервере | В облаке Supabase |
| Нужен ли свой сервер | Нет | Да | Нет |
| Работа через интернет | Нет | Да, если настроить | Да, из коробки |
| Готовая авторизация | Нет | Нет | Да |
| Сложность для новичка | Низкая | Высокая | Средняя |
| Для каких проектов | Локальные приложения, прототипы | Серьёзные самостоятельные системы | Веб-приложения и мобильные приложения с аккаунтами |
Главная мысль: SQLite — для локального хранения, PostgreSQL — для мощных самостоятельных систем, Supabase — для быстрого старта веб-проекта с PostgreSQL под капотом.
Почему в курсе используем Supabase
В курсе «Собери своё первое приложение с ИИ — без кода» учебный проект — браузерная игра «Змейка». В первых модулях она работает локально: рекорд сохраняется прямо в браузере. Но в Модуле 5 мы выводим её на новый уровень: добавляем аккаунты игроков и общую таблицу рекордов.
Для этого идеально подходит Supabase. Вот почему:
- Не нужно настраивать сервер. Ты создаёшь проект в веб-интерфейсе Supabase и сразу получаешь рабочую базу данных.
- Готовая авторизация. Игроки могут регистрироваться и входить в игру без того, чтобы ты писал сложную систему безопасности вручную.
- Простое API. Через него приложение общается с базой данных: сохраняет рекорды, читает таблицу лидеров.
- PostgreSQL под капотом. Ты учишься работать с реальной профессиональной базой данных, просто через более дружелюбный интерфейс.
- Хорошая документация и сообщество. Это важно, когда ты только начинаешь и часто обращаешься к помощи ИИ-ассистента.
Supabase позволяет не отвлекаться на инфраструктуру и сосредоточиться на логике игры и опыте пользователя. Именно поэтому он входит в Модуль 5 как первый серьёзный бэкенд-инструмент курса.
Что происходит под капотом: как приложение общается с базой
Когда игрок завершает партию и набирает новый рекорд, происходит примерно следующее:
- Приложение проверяет, вошёл ли игрок в аккаунт.
- Если да, оно отправляет запрос в Supabase: «запиши новый результат для этого пользователя».
- Supabase проверяет права доступа: действительно ли этот пользователь может записывать именно свои данные.
- PostgreSQL внутри Supabase сохраняет запись в таблицу рекордов.
- Приложение может сразу же запросить обновлённую таблицу лидеров и показать её всем игрокам.
Всё это происходит через интернет, поэтому результаты видны не только на одном компьютере, а у всех пользователей игры.
Практический блок: как понять, какая база данных тебе нужна
Чтобы не запутаться в выборе, задай себе три вопроса.
1. Данные должны быть доступны только на одном устройстве?
Если да — можно обойтись локальным хранилищем браузера или SQLite. Это подходит для офлайн-игр, простых калькуляторов, заметок, которые не нужно синхронизировать.
2. Нужны аккаунты пользователей и общий доступ к данным?
Если да — нужна база данных в облаке. Supabase отлично подходит для старта, потому что даёт и базу, и авторизацию, и API.
3. Ты готов сам администрировать сервер?
Если готов и хочешь максимального контроля — PostgreSQL на собственном сервере или VPS. Если хочешь сосредоточиться на продукте, а не на инфраструктуре — Supabase.
Частые ошибки новичков
Ошибка 1. Думать, что Supabase — это отдельная база данных, не связанная с PostgreSQL.
На самом деле Supabase работает на PostgreSQL. Когда ты учишься писать запросы в Supabase, ты одновременно учишься работать с PostgreSQL.
Ошибка 2. Пытаться использовать SQLite для многопользовательского приложения.
SQLite замечательна, но не для онлайн-игр с общим рейтингом. Если данные должны быть общими для всех пользователей, нужна серверная база данных.
Ошибка 3. Бояться облачных платформ.
Облако не значит, что данные «где-то в непонятном месте». Это значит, что сервер и база данных уже настроены профессионалами, а ты платишь только за использование. У Supabase есть бесплатный тариф для старта, актуальные лимиты смотри на сайте сервиса.
Ошибка 4. Писать авторизацию с нуля на первом проекте.
Безопасная авторизация — сложная задача. Лучше использовать готовое решение вроде той, что есть в Supabase, а не изобретать свою.
Заключение + чек-лист
База данных — это основа любого приложения, где есть пользователи, рейтинги, заказы или аналитика. Для новичка важно понимать разницу между локальным хранилищем, мощной самостоятельной базой и облачной платформой.
- SQLite хороша для локальных проектов и прототипов.
- PostgreSQL — профессиональный выбор для серьёзных систем.
- Supabase берёт PostgreSQL и оборачивает его в удобную платформу с готовой авторизацией и API.
Именно поэтому в курсе skillmake в Модуле 5 мы подключаем Supabase к «Змейке»: это самый короткий путь от локальной игры к полноценному онлайн-приложению с аккаунтами и общей таблицей рекордов.
Чек-лист «Какую базу данных выбрать»
- Понял, что база данных — это не файл, а система для хранения и обработки информации.
- Разобрался, что SQLite — локальная, а PostgreSQL и Supabase — сетевые.
- Усвоил, что Supabase работает на PostgreSQL и добавляет готовую авторизацию.
- Определил, нужны ли моему проекту аккаунты и общие данные.
- Если да — создал проект в Supabase и подключил его к приложению.
- Не пытаюсь написать собственную авторизацию на первом проекте.
- Проверяю права доступа, чтобы пользователи не могли редактировать чужие данные.
Итог: не нужно знать все базы данных сразу. Начни с SQLite или localStorage для локальных экспериментов, а когда проект вырастет до аккаунтов и общих данных — переходи на Supabase. PostgreSQL под капотом Supabase останется с тами навсегда.
Что такое Supabase простыми словами
Supabase — это «база данных в облаке плюс всё вокруг неё» одним сервисом. Внутри — обычный PostgreSQL, но тебе не нужно его устанавливать и настраивать: регистрируешься, создаёшь проект — и через минуту у тебя есть база с веб-интерфейсом, готовая авторизация пользователей, хранилище файлов и API, которое генерируется автоматически под твои таблицы.
Для новичка это означает, что «серверную» часть приложения можно собрать вообще без сервера: браузерная игра обращается к Supabase напрямую. На практике мы используем его для общей таблицы рекордов, защищаем данные через RLS-политики и даже делаем мультиплеер на Supabase Realtime.
Источники
- PostgreSQL — официальный сайт: postgresql.org
- SQLite — официальный сайт: sqlite.org
- Supabase — официальная документация: supabase.com/docs
Читай дальше
Все статьиНе просто статьи — тебя доведут до результата
В практикуме за 1999 ₽ рядом живая команда практикующих разработчиков и маркетологов: ведём по шагам до твоего работающего приложения. Не «ролики и сам разбирайся» — помогаем на каждом затыке.
Перейти к практикуму