Cloud Firestore
Используйте гибкую масштабируемую облачную базу данных NoSQL от Google Cloud для хранения и синхронизации данных при разработке на стороне клиента и сервера.
Cloud Firestore – это гибкая масштабируемая база данных для разработки мобильных, веб- и серверных приложений от Google Cloud. Как и Firebase Realtime Database, этот сервис обеспечивает синхронизацию данных в клиентских приложениях с помощью прослушивателей в реальном времени и поддерживает офлайн-режим для мобильных и веб-приложений, чтобы вы могли создавать адаптивные приложения, которые работают независимо от задержки сети или подключения к интернету. Cloud Firestore также предлагает тесную интеграцию с другими продуктами Firebase и Google Cloud, в том числе с Functions Cloud Run.
Cloud Firestore предлагает две версии: Firestore Standard и Firestore Enterprise. Подробнее о версиях…
Основные функции
| Исключительная гибкость | Модель данных Cloud Firestore поддерживает гибкие иерархические структуры данных. Храните данные в документах, организованных в коллекции. Документы могут содержать сложные вложенные объекты, а также вложенные коллекции. |
| Выразительные запросы | В Cloud Firestore можно использовать запросы, чтобы получить отдельные документы или все документы в коллекции, которые соответствуют параметрам запроса. В запросах можно использовать несколько связанных фильтров, а также сочетать фильтрацию и сортировку. |
| Обновление в режиме реального времени | Как и Realtime Database, Cloud Firestore использует синхронизацию данных для обновления данных на любом подключенном устройстве. Однако он также предназначен для эффективного выполнения простых одноразовых запросов на выборку. |
| Поддержка в офлайн-режиме | Cloud Firestore кеширует данные, которые активно используются приложением, поэтому оно может записывать, считывать, прослушивать и запрашивать данные, даже если устройство находится в офлайн-режиме. Когда устройство снова подключится к интернету, Cloud Firestore синхронизирует все локальные изменения с Cloud Firestore. |
| Масштабируемость | Cloud Firestore использует все преимущества мощной инфраструктуры Google Cloud: автоматическую репликацию данных в нескольких регионах, гарантии полной согласованности, атомарные пакетные операции и поддержку транзакций ACID. Мы разработали Cloud Firestore для самых сложных рабочих нагрузок баз данных, которые используются в крупнейших приложениях мира. |
| Совместимость с MongoDB | Cloud Firestore предлагает API, совместимый с MongoDB. Вы можете использовать существующий код приложения MongoDB, драйверы, инструменты и экосистему интеграций MongoDB с открытым исходным кодом с Cloud Firestore в Firestore Enterprise. |
Принципы работы

Cloud Firestore – это облачная база данных NoSQL, к которой приложения для Apple, Android и веб-приложения могут обращаться напрямую с помощью нативных SDK. Cloud Firestore также доступна в нативных SDK для Node.js, Java, Python, Unity, C++ и Go, а также в REST API и RPC API.
В соответствии с моделью данных документов Cloud Firestore вы храните данные, содержащие поля, сопоставленные со значениями. Эти документы хранятся в коллекциях – контейнерах, которые можно использовать для организации данных и создания запросов. Документы поддерживают множество различных типов данных – от простых строк и чисел до сложных вложенных объектов. Вы также можете создавать подколлекции в документах и строить иерархические структуры данных, которые масштабируются по мере роста вашей базы данных. Модель данных Cloud Firestore поддерживает любую структуру данных, которая подходит для вашего приложения.
Кроме того, запросы в Cloud Firestore выразительны, эффективны и гибки. Создавайте неглубокие запросы, чтобы получать данные на уровне документа, не извлекая всю коллекцию или вложенные подколлекции. Добавьте сортировку, фильтрацию и ограничения в запросы или курсоры, чтобы разбить результаты на страницы. Чтобы данные в приложениях были актуальными и не приходилось каждый раз при обновлении запрашивать всю базу данных, добавьте прослушиватели в реальном времени. Добавив в приложение прослушиватели в реальном времени, вы будете получать уведомления со снимком данных каждый раз, когда данные, которые прослушивают ваши клиентские приложения, изменяются, извлекая только новые изменения.
Защитите доступ к данным в Cloud Firestore с помощью Firebase Authentication и Cloud Firestore Security Rules для Android, платформ Apple и JavaScript или с помощью управления учетными данными и доступом (IAM) для серверных языков.
Путь реализации
| Интегрируйте SDK Cloud Firestore | Быстро добавляйте клиентов с помощью Gradle, Swift Package Manager или скрипта. | |
| Защита данных | Используйте Cloud Firestore Security Rules или IAM для защиты данных при разработке мобильных/веб-приложений и серверов соответственно. | |
| Добавление данных | Создавать документы и коллекции в базе данных. | |
| Получить данные | Создавайте запросы или используйте прослушиватели в реальном времени, чтобы получать данные из базы данных. |
Дальнейшие действия
- Начните работу с Cloud Firestore: настройте базу данных, добавьте в нее данные и начните их считывать.
- Подробнее Cloud Firestore о модели данных…
- Подробнее о различиях между Realtime Database и Cloud Firestore…