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. |
Присутствие
Может быть полезно знать, находится ли клиент в сети или нет. 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 .