раздел 00 · подстраница 1

Спектр хранения: от переменной до облака

Все способы хранить данные стоят на одной шкале. Слева - быстро, просто, временно. Справа - надёжно, мощно, сложно. Понять, где вы находитесь на этой шкале, важнее, чем знать синтаксис любого конкретного формата.

Шкала целиком

память         диск (файлы)              сервер / облако
  |---------------|--------------------------|------------------>
переменная    txt  csv  json   sqlite   postgres   api / firebase
  быстро,                                          надёжно,
 исчезает                                      доступ отовсюду

Двигаясь слева направо, вы каждый раз получаете что-то новое и за что-то платите.

Что меняется при движении вправо

Долговечность. Переменная живёт, пока работает программа. Файл и база переживают перезапуск, выключение компьютера, обновление кода. Облако переживёт даже смерть вашего ноутбука.

Объём. В переменную влезает столько, сколько есть оперативной памяти. В файл - сколько на диске. В базу - миллионы записей с быстрым поиском по любому из них.

Доступ. К переменной и файлу имеет доступ только ваша программа на этой машине. К серверной базе и API - любой, кому вы дали адрес: ваш сайт, мобильное приложение, коллега.

Цена сложности. Переменная - одна строка кода. Файл - чуть больше. База требует понять, что такое таблицы и запросы. Сервер - что такое бэкенд и деплой. Каждая ступень добавляет понятий, которые надо удержать в голове.

Три честных вопроса для выбора

  1. Данные должны пережить перезапуск? Нет - переменная. Да - читайте дальше.
  2. Их немного и они простые (список, настройки, один объект)? Да - файл (JSON или CSV). Нет - база данных.
  3. К ним нужен доступ с других устройств или у нескольких людей сразу? Да - серверная или облачная база и API. Нет - хватит локального файла или SQLite.

Эти три вопроса закрывают почти все бытовые случаи. Подробное дерево решений - в разделе Шпаргалка.

Частая ошибка новичка

Самая типичная ошибка - прыгнуть сразу вправо. «Делаю todo-список, поставлю-ка PostgreSQL и подниму сервер». В итоге половина времени уходит не на саму задачу, а на настройку базы, которая для пяти задач не нужна.

Обратная ошибка тоже бывает: упереться в файл, когда данных уже десятки тысяч и поиск по ним тормозит. Тогда пора вправо. Умение чувствовать этот момент приходит с практикой - и весь курс про то, чтобы вы его чувствовали раньше.

Что дальше

Начнём с самого левого края шкалы - с переменных. Поймём, почему данные в них исчезают, и в каких случаях это совершенно нормально.