Каковы количественные преимущества использования Firebase перед MongoDB? (не мнения)
Я знаю, что Firebase - это облачная служба с собственным API, но мне кажется, что Mongo может дать мне больший контроль в долгосрочной перспективе.
Каковы количественные преимущества использования Firebase перед MongoDB? (не мнения)
Я знаю, что Firebase - это облачная служба с собственным API, но мне кажется, что Mongo может дать мне больший контроль в долгосрочной перспективе.
Ответы:
РЕДАКТИРОВАТЬ: вот хорошая статья, как заменить Firebase в вашем приложении на Node.js + MongoDb. Он показывает, сколько работы вам придется выполнять самостоятельно, и объясняет, IMHO, почему запуск (небольшое приложение) должен начинаться с Firebase (если требуются обновления для клиентов в реальном времени) и переходить к MongoDb (в любом случае самостоятельно -письменное решение), если проект продолжает развиваться
РЕДАКТИРОВАТЬ 2: после приобретения Google Firebase теперь предлагает различные льготы помимо своих основных функций, которые вам будет сложно создать самостоятельно:
Для развития
Для роста
Яблоки и апельсины. Firebase - это Backend-as-a-Service, содержащий управление идентификацией, представления данных в реальном времени и базу данных документов. Он работает в облаке.
С другой стороны, MongoDB - это полноценная база данных с богатым языком запросов. В принципе, он работает на вашем собственном компьютере, но есть облачные провайдеры.
Если вы ищете компонент базы данных, только MongoDB будет более зрелым и многофункциональным.
Firebase предназначена для обновлений в реальном времени. Легко интегрируется с angular. Обе базы данных NoSQL. MongoDB также может сделать это с помощью Angular через интеграцию с Socket.io. Meteor.js также использует MongoDB с открытым сокетом для обновлений в реальном времени.
MongoDB можно запускать локально или размещать у многих различных облачных провайдеров. Firebase, на мой взгляд, отлично подходит для небольших приложений, очень быстро устанавливается и запускается. MongoDB идеально подходит для более надежных больших приложений, интеграция в реальном времени возможна, но требует немного больше работы.
После значительного использования Firebase я кое-что нашел.
Если вы собираетесь использовать его для больших приложений в реальном времени, это не лучший выбор. У него есть свой собственный широкий спектр проблем, включая плохую систему обработки ошибок и ограничения. Вы потратите много времени, пытаясь понять Firebase и ее изгибы. Проект также довольно легко превратиться в монолитную вещь, выходящую из-под контроля. MongoDB - гораздо лучший выбор в качестве серверной части для большого приложения.
Однако, если вам нужно создать небольшое приложение или быстро создать прототип, Firebase - отличный выбор. Это будет невероятно простой способ взяться за дело.
Я отвечу на этот вопрос с точки зрения AngularFire, библиотеки Firebase для Angular.
Tl; dr: суперсилы. :-)
Трехсторонняя привязка данных AngularFire. Angular связывает представление и $ scope, то есть то, что ваши пользователи делают в представлении, автоматически обновляется в локальных переменных, а когда ваш JavaScript обновляет локальную переменную, представление автоматически обновляется. С Firebase облачная база данных также обновляется автоматически. Запросы $ http.get или $ http.put писать не нужно, данные просто обновляются.
Пятисторонняя привязка данных, семисторонняя, девятисторонняя и т. Д. Я сделал игру в крестики-нолики, используя AngularFire. Два игрока могут играть вместе, при этом два представления обновляют две области $ и облачную базу данных. Вы можете создать игру с тремя или более игроками, использующими одну базу данных Firebase.
Библиотека OAuth2 AngularFire упрощает авторизацию с помощью Facebook, GitHub, Google, Twitter, токенов и паролей.
Двойная безопасность. Вы можете настроить свои маршруты Angular так, чтобы они требовали авторизации, и настроить правила в Firebase о том, кто может читать и записывать данные.
Нет бэкенда. Вам не нужно делать сервер с Node и Express. Запуск собственного сервера может потребовать много работы, требовать знания о безопасности, требовать, чтобы кто-то что-то сделал, если сервер выйдет из строя и т. Д.
Быстро. Если ваш сервер находится в Сан-Франциско, а клиент - в Сан-Хосе, прекрасно. Но для клиента в Бангалоре подключение к вашему серверу будет медленнее. Firebase развернута по всему миру для быстрого подключения везде.
Firebase - это набор функций.
Я считаю, что вы пытаетесь сравнить базу данных Firebase Realtime с Mongo DB. База данных Firebase Realtime хранит данные в формате JSON и синхронизируется со всеми обновлениями данных для всех клиентов, слушающих данные. Он избавляет вас от всей сложности, необходимой для настройки и масштабирования любой базы данных. Я не буду рекомендовать firebase там, где у вас много сложных сценариев, в которых требуется агрегирование данных (запросы, требующие типа SUM / AVERAGE). Хотя в последнее время это стало возможным с помощью функций Firebase. Моделирование данных в Firebase непросто. Но это лучший способ мгновенно начать работу. MongoDB - это база данных. Это дает вам множество мощных функций. Но при установке MongoDB на любую платформу вам нужно управлять им самостоятельно.
Когда я пытаюсь выбрать между Firebase или MongoDB (или любой БД). Я пытаюсь ответить следующее.
По моему опыту, работа с Firebase является огромным преимуществом, если вы пытаетесь управлять пользователями, базами данных, приложениями для обмена сообщениями, поскольку все эти функции уже хорошо интегрированы.
Как уже говорили другие, если вы просто сосредоточены на аспекте базы данных / запросов, придерживайтесь mongo.
Firebase предоставляет несколько хороших функций, таких как отражение изменений в реальном времени, простая интеграция механизма аутентификации и множество других встроенных функций для быстрой веб-разработки. Firebase действительно делает веб-разработку настолько простой, которой никогда не было. База данных Firebase - это ответвление MongoDB .
В чем преимущество использования Firebase перед MongoDB?
Вы можете использовать все встроенные функции Firebase поверх MongoDB.