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.