Firebase предлагает две облачные клиентские базы данных документов. Мы рекомендуем новым клиентам начать с Cloud Firestore :
Cloud Firestore — это рекомендуемая база данных документов корпоративного уровня, совместимая с JSON, которой доверяют более 250 000 разработчиков. Она подходит для приложений с богатыми моделями данных, требующими возможности запросов, масштабируемости и высокой доступности. Она также предлагает синхронизацию клиентов с низкой задержкой и доступ к данным в автономном режиме.
Realtime Database — это классическая база данных Firebase JSON. Подходит для приложений с простыми моделями данных, требующих простого поиска и синхронизации с низкой задержкой с ограниченной масштабируемостью.
Какие еще важные вещи следует учитывать?
После размышлений над предыдущими ключевыми соображениями вы, возможно, готовы выбрать базу данных . Если вы все еще взвешиваете преимущества и недостатки, в этом разделе рассматриваются другие различия между Cloud Firestore и Realtime Database .
Модель данных
Realtime Database и Cloud Firestore являются базами данных NoSQL.
Cloud Firestore | [ ПРЕДПОЧТИТЕЛЬНО] | Realtime Database |
---|---|---|
Хранит данные в виде коллекций документов.
Узнайте больше о модели данных Cloud Firestore . | Сохраняет данные в виде одного большого дерева JSON.
Узнайте больше о модели данных Realtime Database . |
Поддержка в режиме реального времени и офлайн
Оба решения имеют мобильные SDK, работающие в режиме реального времени, и оба поддерживают локальное хранение данных для приложений, готовых к работе в автономном режиме.
Cloud Firestore | [ ПРЕДПОЧТИТЕЛЬНО] | Realtime Database |
---|---|---|
Офлайн-поддержка для Apple, Android и веб-клиентов. | Офлайн-поддержка для клиентов Apple и Android. |
Присутствие
Может быть полезно знать, когда клиент находится в сети или офлайн. Firebase Realtime Database может регистрировать состояние клиентского соединения и предоставлять обновления каждый раз, когда состояние клиентского соединения изменяется.
Cloud Firestore | [ ПРЕДПОЧТИТЕЛЬНО] | Realtime Database |
---|---|---|
Не поддерживается изначально. Вы можете использовать поддержку присутствия в Realtime Database , синхронизировав Cloud Firestore и Realtime Database с помощью Cloud Functions См. Создание присутствия в Cloud Firestore . | Присутствие поддерживается. |
Запрос
Извлекайте, сортируйте и фильтруйте данные из любой базы данных с помощью запросов.
Cloud Firestore | [ ПРЕДПОЧТИТЕЛЬНО] | Realtime Database |
---|---|---|
Индексированные запросы с комплексной сортировкой и фильтрацией .
| Глубокие запросы с ограниченными возможностями сортировки и фильтрации .
|
Записи и транзакции
Cloud Firestore | [ ПРЕДПОЧТИТЕЛЬНО] | Realtime Database |
---|---|---|
Расширенные операции записи и транзакций.
| Базовые операции записи и транзакции.
|
Надежность и производительность
Cloud Firestore | [ ПРЕДПОЧТИТЕЛЬНО] | Realtime Database |
---|---|---|
Cloud Firestore — это региональное и многорегиональное решение, которое масштабируется автоматически.
| Realtime Database — это региональное решение.
|
Время безотказной работы
Cloud Firestore | [ ПРЕДПОЧТИТЕЛЬНО] | Realtime Database |
---|---|---|
Чрезвычайно высокая производительность безотказной работы.
| Высокая производительность безотказной работы.
|
Масштабируемость
Cloud Firestore | [ ПРЕДПОЧТИТЕЛЬНО] | Realtime Database |
---|---|---|
Масштабирование происходит автоматически.
| Масштабирование требует сегментирования.
|
Безопасность
Cloud Firestore | [ ПРЕДПОЧТИТЕЛЬНО] | Realtime Database |
---|---|---|
Некаскадные правила, объединяющие авторизацию и проверку.
| Язык каскадных правил, разделяющий авторизацию и проверку.
|
Ценообразование
Оба решения доступны в тарифных планах Spark и Blaze .
Cloud Firestore | [ ПРЕДПОЧТИТЕЛЬНО] | Realtime Database |
---|---|---|
Плата взимается в основном за операции, выполняемые в вашей базе данных (чтение, запись, удаление) , а также, по более низкой ставке, за пропускную способность и хранилище. Cloud Firestore поддерживает ежедневные лимиты расходов для проектов App Engine , чтобы вы не превышали приемлемые для себя расходы. Узнайте больше о тарифных планах Cloud Firestore . | Плата взимается только за пропускную способность и хранилище , но по более высокой ставке. Узнайте больше о тарифных планах Realtime Database . |
Использование Cloud Firestore и Realtime Database
Вы можете использовать обе базы данных в одном приложении или проекте Firebase. Обе базы данных NoSQL могут хранить одни и те же типы данных, а клиентские библиотеки работают схожим образом. Помните о различиях, описанных ранее, если вы решите использовать обе базы данных в своем приложении .
Узнайте больше о функциях, доступных в Realtime Database и Cloud Firestore .
Готовы выбрать базу данных?
Надеюсь, это сравнение помогло вам остановиться на решении для базы данных Firebase. Теперь вы можете узнать, как добавить базу данных в свои проекты Firebase.
- Для Cloud Firestore ознакомьтесь с разделом Начало работы с Cloud Firestore .
- Для Realtime Database прочтите раздел «Начало работы» для вашей платформы: Apple , Android , C++ , Unity , Web или REST .