Firebase предлагает две облачные базы данных документов, доступные для клиентов. Новым клиентам мы рекомендуем начать с Cloud Firestore :
Cloud Firestore — это рекомендуемая корпоративная база данных, совместимая с JSON, которой доверяют более 600 000 разработчиков. Она подходит для приложений со сложными моделями данных, требующими возможности выполнения запросов, масштабируемости и высокой доступности. Кроме того, она обеспечивает синхронизацию данных с низкой задержкой и доступ к данным в автономном режиме.
Realtime Database — это классическая JSON-база данных Firebase. Она подходит для приложений с простыми моделями данных, требующими простого поиска и синхронизации с низкой задержкой при ограниченной масштабируемости.
Какие еще важные моменты следует учесть?
После рассмотрения всех вышеперечисленных ключевых моментов вы, возможно, готовы выбрать базу данных . Если вы все еще взвешиваете преимущества и недостатки, в этом разделе рассматриваются другие различия между 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 поддерживает ежемесячные бюджеты и оповещения , чтобы вы не тратили больше, чем вам комфортно. Подробнее о тарифных планах 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 .