Что такое Firestore?
Firestore — это облачная база данных NoSQL на основе документов/коллекций, которая обладает следующими функциями:
- Структурированное и гибкое хранилище
- Возможность синхронизации в реальном времени
- Высокий уровень безопасности с правилами безопасности Firebase
- Автоматическая масштабируемость
- Очень низкая задержка во всем мире
- Возможность выполнения сложных запросов
- Подходит для проектов малого и среднего бизнеса
Firestore в двух режимах Основной режим (специфический для Firebase) и Режим хранилища данных (Предоставляется для сервисов GCP Enterprise).
Структура данных в Firestore
Firestore использует простую, но мощную архитектуру:
Коллекция → Сборник документов
Документ → Структура, подобная JSON
Подколлекция → Коллекция внутри каждого документа
Поле → Поля каждого документа
Пример структуры:
пользователи (коллекция) └── userId123 (документ) ├── имя: "Али" ├── возраст: 28 └── посты (подколлекция) └── postId981 (документ) ├── заголовок: "Мой первый пост" └── лайки: 52
Примеры кода с использованием Firestore API
1. Использование с JavaScript (веб-приложение / Node.js)
Установка
Подключение к Firestore
Добавить документ
Чтение документа
2. REST API Firestore
Отправьте POST-запрос на создание документа
Проекты, которые можно реализовать с помощью Firestore
1. Приложения для чата и обмена сообщениями (приложение для чата в реальном времени)
Благодаря возможности мгновенной синхронизации Firestore является одним из лучших вариантов для создания чата.
2. Системы управления контентом (блог, CMS)
Особенно это актуально для небольших команд или стартапов, которые не хотят иметь дело с серверами.
3. Мобильные приложения (iOS / Android / Flutter)
Из-за:
Низкая задержка
Одновременная синхронизация
Внутренний автономный режим
4. Панели управления в реальном времени (панели администратора)
Такие как панель управления интернет-магазином, статистика пользователей, управление заказами.
5. Малый и средний интернет-магазин
Добавляйте товары, категории, корзины покупок, заказы и т. д.
6. Приложения Интернета вещей
Быстрое сохранение данных датчиков.
Примеры успешных проектов с использованием Firestore
Alibaba Cloud Mobile – Использование Firestore для управления данными в реальном времени
Кроссворд New York Times – Использовать для многопользовательской онлайн-игры
Todoist – Синхронизируйте задачи пользователя на нескольких устройствах
Шазам – Управление некоторыми облачными данными
Хотстар – Сохранение данных пользователя и настроек профиля
(Многие сервисы используют Firestore втайне, не объявляя об этом официально)
Преимущества Firestore
Автоматическая масштабируемость
Нет необходимости управлять сервером.
Высокая скорость чтения
Учитывая архитектуру Global Edge.
Безопасность с Правила безопасности в пожарном депо
Пример правила, согласно которому разрешение на чтение/запись есть только у владельца учетной записи:
На мобильных устройствах и в Интернете.
Мощные запросы
Фильтрация, сортировка, диапазонный запрос, индексация.
Проблемы и ограничения (о которых лучше знать перед использованием)
❌ Нет соединения (это NoSQL)
❌ Для сложных запросов требуются индексы.
❌ Стоимость рассчитывается на основе количества операций чтения/записи/хранения
❌ Не подходит для очень больших наборов данных (ТБ и более)
❌ Количество транзакций ограничено.
Firestore против базы данных в реальном времени
| Особенность | Пожарный склад | База данных в реальном времени |
|---|---|---|
| Структура данных | На основе документов | JSON-дерево |
| Запрос | Очень сильный | Очень ограниченный |
| Масштабируемость | Вершина | Середина |
| Цена | Обычный | Дешевле |
| Использует | Современные приложения | Простой чат, Интернет вещей |
Firestore — более новая и оптимизированная версия Realtime DB.
Лучшие практики Firestore для профессионального производства
1. Выберите правильную структуру данных
Желательно не создавать большие документы.
2. Используйте подколлекцию для сегментации данных
Пример: посты → комментарии → лайки
3. Кэшируйте сложные запросы
Чтобы снизить стоимость чтения.
4. Используйте облачные функции для внутренней обработки
Например, отправка уведомлений, создание индексов и обобщение данных.
5. Ведение журнала в Firestore
Чтобы избежать нежелательных затрат.
Пример полноценной блог-системы с Firestore
Предлагаемая структура:
Пример добавления поста:
Заключение
Firestore — мощная облачная база данных, работающая в режиме реального времени, подходящая для создания быстрых, масштабируемых и бессерверных сервисов.
Эта услуга подходит для:
✅ Веб-сайт
✅ Мобильное приложение
✅ Система управления контентом
✅ Чат-приложения
✅ Панели управления в реальном времени
✅ Проекты Интернета вещей
✅ Интернет-магазины
Если вы создаете продукт, требующий Мгновенная синхронизация, высокая скорость и управляемая стоимость Да, Firestore — один из лучших вариантов.









