Cloud Firestore
Используйте нашу гибкую, масштабируемую облачную базу данных NoSQL, построенную на инфраструктуре Google Cloud , для хранения и синхронизации данных при разработке клиентской и серверной частей.
Cloud Firestore — это гибкая, масштабируемая база данных для мобильной, веб- и серверной разработки от Firebase и Google Cloud . Как и Firebase Realtime Database , она синхронизирует данные между клиентскими приложениями с помощью слушателей в реальном времени и предлагает поддержку работы в автономном режиме для мобильных и веб-приложений, позволяя создавать адаптивные приложения, работающие независимо от задержки сети или интернет-соединения. Cloud Firestore также обеспечивает бесшовную интеграцию с другими продуктами Firebase и Google Cloud , включая Cloud Functions.
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. В корпоративной версии Cloud Firestore можно использовать существующий код приложений MongoDB, драйверы, инструменты и открытую экосистему интеграций MongoDB . |
Как это работает?

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