Подтвердить что ты не робот

MongoDB против Firebase

Каковы некоторые количественные преимущества использования Firebase над MongoDB? (не мнения)

Я знаю, что Firebase - это облачный сервис с собственным API, но я чувствую, что Mongo может дать мне больший контроль в долгосрочной перспективе.

4b9b3361

Ответ 1

  • Firebase - это движок реального времени с обратной связью. То есть Вы можете создать кроссплатформенное приложение, в котором клиенты подписываются на события с конкретными данными, а сервер активно информирует клиентов об изменениях
  • Уровень данных размещен для вас. Имейте в виду, что это очень масштабируемый. Это хорошее решение для кикстартера. Включая управление аутентификацией
  • Geo-Fire. Решение гео координат в реальном времени.
  • Очевидные недостатки Firebase:
    • Вы должны заплатить за это, как только вы начнете расти
    • Вы не можете разместить слой данных (если владение данными критично или вы разрабатываете приложение для какой-то отдельной подсети)

ОБНОВЛЕНИЕ: вот хорошая статья, как заменить Firebase в вашем приложении на Node.js + MongoDb. Он показывает, сколько работы вам придется сделать самостоятельно, и объясняет, ИМХО, почему запуск (небольшое приложение) должен начинаться с Firebase (если требуется обновление клиентов в режиме реального времени) и продолжаться с MongoDb (в любом случае самостоятельно письменное решение), если проект продолжает развиваться

ОБНОВЛЕНИЕ 2: после приобретения Google Firebase теперь предлагает различные привилегии в дополнение к его базовым функциям, которые вы бы постарались создать самостоятельно:

Ответ 2

Яблоки и апельсины. Firebase - это бэкэнд-а-сервис, содержащий управление идентификацией, просмотры данных в реальном времени и базу данных документов. Он работает в облаке.

MongoDB, с другой стороны, представляет собой полноценную базу данных с богатым языком запросов. В принципе, он работает на вашей собственной машине, но есть облачные провайдеры.

Если вы ищете компонент базы данных, MongoDB намного более зрелый и многофункциональный.

Ответ 3

Firebase предназначен для обновления в реальном времени. Он легко интегрируется с angular. Оба являются базами данных NoSQL. MongoDB также может сделать это с помощью Angular через интеграцию Socket.io. Meteor.js также использует MongoDB с открытым соединением сокета для обновлений в реальном времени.

MongoDB может запускаться локально или размещаться во многих различных облачных провайдерах. Firebase, на мой взгляд, отлично подходит для небольших приложений, очень быстро встает и работает. MongoDB идеально подходит для более надежных приложений, возможна интеграция в реальном времени, но требуется немного больше работы.

Ответ 4

Я отвечу на этот вопрос в терминах библиотеки AngularFire, Firebase для Angular.

  • Tl; dr: сверхдержавы.: -)

  • Угловое трехстороннее связывание данных. Angular связывает представление и область $, то есть то, что ваши пользователи делают в представлении, автоматически обновляется в локальных переменных, а когда ваш JavaScript обновляет локальную переменную, просмотр автоматически обновляется. С Firebase база данных облаков также автоматически обновляется. Вам не нужно писать запросы $http.get или $http.put, данные просто обновляются.

  • Пятисторонняя привязка данных и семипозиционная, девятисторонняя и т.д. Я сделал игру tic-tac-toe, используя AngularFire. Два игрока могут играть вместе, причем два представления обновляются двумя областями $и облачной базой данных. Вы можете создать игру с тремя или более игроками, все из которых будут иметь одну базу данных Firebase.

  • Библиотека AngularFire OAuth2 упрощает авторизацию с помощью Facebook, GitHub, Google, Twitter, токенов и паролей.

  • Двойная безопасность. Вы можете настроить маршруты Angular, требующие авторизации, и настроить правила в Firebase о том, кто может читать и писать данные.

  • Там нет заднего конца. Вам не нужно создавать сервер с Node и Express. Запуск вашего собственного сервера может быть большой работой, требуется знать о безопасности, требовать, чтобы кто-то что-то делал, если сервер не работает и т.д.

  • Fast. Если ваш сервер находится в Сан-Франциско, а клиент находится в Сан-Хосе, штраф. Но для клиента в Бангалоре подключение к вашему серверу будет медленнее. Firebase используется во всем мире для быстрого соединения повсюду.

Ответ 5

После использования Firebase значительная сумма, которую я нашел, чтобы что-то найти.

Если вы собираетесь использовать его для больших приложений реального времени, это не лучший выбор. Он имеет свой широкий спектр проблем, включая систему обработки ошибок и ограничения. Вы потратите значительное время, пытаясь понять Firebase, и это изломит. Это также довольно легко для проекта стать монолитной штукой, которая выходит из-под контроля. MongoDB - гораздо лучший выбор для бэкэнда для большого приложения.

Однако, если вам нужно сделать небольшое приложение или быстро прототипировать что-то, Firebase - отличный выбор. Это будет невероятно легкий способ попасть в землю.

Ответ 6

Firebase - это набор функций.

  • База данных реального времени
  • хостинг
  • Аутентификация
  • Хранение
  • Облачные сообщения
  • Удаленная конфигурация
  • Лаборатория тестирования
  • Отчеты о сбоях
  • Уведомления
  • Индексирование приложений
  • Динамические ссылки
  • Предлагает
  • AdWords
  • AdMob

Я считаю, что вы пытаетесь сравнить базу данных Firebase Realtime с Mongo DB. База данных Firebase Realtime хранит данные в формате JSON и синхронизирует все обновления данных всем клиентам, которые слушают данные. Он абстрагирует вас от любой сложности, необходимой для настройки и масштабирования любой базы данных. Я не буду рекомендовать firebase, где у вас много сложных сценариев, в которых требуется агрегирование данных (запросы, которые нужны SUM/AVERAGE). Хотя это в последнее время можно реализовать с помощью функций Firebase. Данные моделирования в Firebase сложны. Но это лучший способ заставить вас начать мгновенно. MongoDB - это база данных. Это дает вам множество мощных функций. Но MongoDB при установке на любой платформе вам нужно управлять им самостоятельно.

Когда я пытаюсь выбрать Firebase или MongoDB (или любой БД). Я пытаюсь ответить на следующее.

  • Есть много запросов к агрегации, которые выполняются. (Как в случай средства отчетности или инструмент BI). Если "Да" не подходит для Firebase
  • Нужно ли выполнять транзакцию. (Если да, то я бы не нравится идти с огненной базой) (Tranactions несколько легки, хотя после введения функций, но это также накладные расходы, если транзакции должны быть сохранены)
  • Какую временную шкалу я должен получить и запустить. (Firebase очень легко настроить и интегрировать).
  • У меня есть опыт для расширения базы данных и устранения проблем с БД вещи. (Firebase больше похожа на SAAS, поэтому не нужно беспокоиться о масштабируемости).

Ответ 7

Firebase предоставляет несколько полезных функций, таких как отображение изменений в реальном времени, простая интеграция механизма аутентификации и множество других встроенных функций для быстрой веб-разработки. Firebase действительно делает веб-разработку настолько простой, что никогда не существует. База данных Firebase является форком MongoDB.

В чем преимущество использования Firebase перед MongoDB?

Вы можете воспользоваться всеми встроенными функциями Firebase по сравнению с MongoDB.

Ответ 8

По моему опыту, работа с Firebase - огромное преимущество, если вы пытаетесь сделать приложение для управления пользователями, базой данных и сообщениями, поскольку все эти функции уже хорошо интегрированы.

Как и другие, если вы просто сосредоточены на аспекте базы данных/запроса, придерживайтесь монго.