Google только что выпустил Cloud Firestore, свою новую базу данных документов для приложений.
Я читал документацию, но не вижу большого различия между Firestore и Firebase DB.
Суть в том, что Firestore использует документы и коллекции, которые позволяют легко использовать запросы по сравнению с Firebase, которая является традиционной базой данных noSQL с базой JSON.
Я хотел бы узнать немного больше об их различиях, об использовании или о том, пришел ли Firestore на замену Firebase DB?
firebase
firebase-realtime-database
google-cloud-platform
google-cloud-firestore
Франсиско Дурдин Гарсия
источник
источник
Ответы:
Поэтому я написал целый пост в блоге об этом самом вопросе, и я рекомендую вам проверить его (или официальную документацию ) для более полного ответа.
Но если вы хотите быстрое (-иш) резюме, вот оно:
Более эффективные запросы и более структурированные данные. В то время как база данных в реальном времени представляет собой просто гигантское дерево JSON, Cloud Firestore немного более структурирован. Все ваши данные состоят из документов (которые в основном являются хранилищами ключей) и коллекций (которые являются коллекциями документов). Документы также часто указывают на вложенные коллекции, которые содержат другие документы, которые сами могут содержать другие документы и так далее.
Эти структурированные данные помогают вам двумя способами. Во-первых, все запросы являются мелкими , это означает, что вы можете запросить документ, не захватывая все данные внизу. Это означает, что вы можете хранить свои данные в иерархическом порядке так, чтобы вам было удобнее, не заботясь о том, чтобы ваша база данных была мелкой. Во-вторых, у вас есть более мощные запросы. Например, теперь вы можете выполнять запросы к нескольким полям, не создавая те «комбинированные» поля, которые объединяют (и денормализуют) данные из других частей вашей базы данных. В некоторых случаях Cloud Firestore просто запускает эти запросы напрямую, а в других случаях автоматически создает и поддерживает индексы для вас.
Разработано для масштабирования - Облачное хранилище пожаров сможет масштабироваться лучше, чем База данных в реальном времени. Важно отметить, что ваши запросы масштабируются до размера набора результатов, а не набора данных. Таким образом, поиск останется быстрым независимо от того, насколько большим может стать ваш набор данных.
Более простая ручная выборка данных. Как и база данных в реальном времени, вы можете настроить прослушиватели в Cloud Firestore для потоковой передачи изменений в режиме реального времени. Но если вы не хотите такого поведения и просто хотите вызвать «извлекать мои данные», Cloud Firestore также имеет это и встроен в качестве основного варианта использования. (Они намного лучше, чем
once
звонки в Realtime Database-land)Поддержка нескольких регионов - это в основном означает большую надежность, так как ваши данные распределяются между несколькими центрами обработки данных одновременно. Но у вас все еще есть строгая последовательность, то есть вы всегда можете сделать запрос и быть уверенным, что вы получаете последнюю версию своих данных.
Другая модель ценообразования. В то время как база данных реального времени в основном взимает плату в зависимости от пропускной способности хранилища или сети, Cloud Firestore в основном взимает плату в зависимости от количества выполняемых вами операций . Будет ли это лучше или хуже? Это зависит от вашего приложения.
Cloud Firestore, вероятно, будет выглядеть довольно выгодно с точки зрения цены для приложения новостей, пошаговой многопользовательской игры или чего-то вроде вашей собственной версии Stack Overflow. Для чего-то вроде приложения для группового рисования в реальном времени, когда вы отправляете несколько обновлений в секунду нескольким людям, оно, вероятно, будет дороже, чем База данных в реальном времени.
Почему вы все еще хотите использовать базу данных в реальном времени - это сводится к нескольким причинам. 1) Это целое «это, вероятно, будет дешевле для приложений, которые делают много частых обновлений», о которых я упоминал ранее, 2) Это было в течение долгого времени и было испытано в бою тысячами приложений, 3) У него улучшена задержка и когда вам нужно что-то с надежно низкой задержкой для ощущения в реальном времени, база данных в реальном времени может работать лучше.
Для большинства новых приложений мы рекомендуем вам посетить Cloud Firestore. Но если у вас есть приложение, которое уже есть в базе данных реального времени, я не рекомендую переключаться просто ради переключения, если только у вас нет веских причин для этого.
Надеюсь, это поможет!
источник
Вы можете прочитать всю статью здесь: https://medium.com/@beingrahul/firebase-cloud-firestore-vs-firebase-realtime-database-931d4265d4b0
Firebase Realtime database
он структурирован как дерево JSON, ноCloud Firestore
хранит данные в форматах документов (который представляет собой набор пар ключ-значение) и коллекции (который представляет собой набор документов).Больше структурных данных
База данных в реальном времени хранит данные в дереве JSON, а хранилище Fire Cloud хранит данные в документах, которые очень похожи на JSON.
В Cloud FireStore документы могут содержать вложенные коллекции и вложенные объекты (например, «телефон» на рисунке выше), оба из которых могут включать в себя примитивные поля, такие как строки (например, «имя», «электронная почта» и т. Д. На рисунке выше) или сложные объекты, такие как списки.
Лучший запрос
Масштабируемость
Облачный Firestore сможет масштабироваться лучше, чем База данных в реальном времени. Важно отметить, что производительность вашего запроса пропорциональна размеру вашего результирующего набора, а не вашего набора данных. Таким образом, поиск останется быстрым независимо от того, насколько большим может стать ваш набор данных.
Ручная выборка данных
Мы можем прослушивать данные в реальном времени в Cloud FireStore, например в базе данных Realtime, но в Cloud FireStore. Мы также можем извлекать данные вручную (если вы хотите получать какие-либо данные только один раз).
Безопасность
В базе данных реального времени нам нужно проверять данные отдельно, используя правило проверки, но в облачном FireStore проверка данных происходит автоматически.
Запись данных
Мы можем выполнить несколько операций в одной партии и завершить их атомарно, с любой комбинацией
set()
,update()
илиdelete()
методов.ценообразование
В базе данных реального времени взимается плата только за пропускную способность и хранилище, но с более высокой скоростью. Находясь в Cloud FireStore, взимает плату в основном с операций, выполняемых в вашей базе данных (чтение, запись, удаление), а также с более низкой скоростью, пропускной способностью и хранилищем.
источник
Причины выбрать Cloud Firestore вместо базы данных в реальном времени
Это улучшенная версия
Базы данных Firebase было достаточно для базовых приложений. Но он не был достаточно мощным, чтобы справляться со сложными требованиями. Вот почему Cloud Firestore представлен. Вот некоторые основные изменения.
ценообразование
В Cloud Firestore тарифы снизились, хотя он взимается главным образом с операций, выполняемых в вашей базе данных, а также с пропускной способностью и хранилищем. Вы также можете установить дневной лимит расходов. Вот полная информация о выставлении счетов.
Будущие планы Google
Когда они обнаружили недостатки в Базе данных в реальном времени, они создали другой продукт, а не улучшали старый. Несмотря на то, что нет надежных деталей, раскрывающих их текущее положение в Базе данных в реальном времени, пришло время подумать о том, что от нее можно отказаться.
источник
Предложить ссылку от Google, а также: База данных в реальном времени Firebase против FireStore
Извлечено из Google Docs, небольшая сумма здесь:
FireBase Real Time DB - это база данных NO SQL на базе JSON, предназначенная для мобильных приложений, региональная, и обычно используемая для хранения и синхронизации данных между пользователями / устройствами в режиме реального времени / с чрезвычайно низкой задержкой.
FireStore - это JSON, похожий на NOSQL DB, предназначенный для обеспечения высокого уровня параллелизма, глобального и простого автоматического масштабирования, разработанный для любых клиентов (не только мобильных приложений) с типичными сценариями использования, такими как отслеживание активов, аналитика в реальном времени, создание розничных каталогов продуктов, социальный пользователь профиль, игровые таблицы лидеров, приложения для чата и т. д.
источник