Каковы некоторые количественные преимущества использования Firebase над MongoDB? (не мнения)
Я знаю, что Firebase - это облачный сервис с собственным API, но я чувствую, что Mongo может дать мне больший контроль в долгосрочной перспективе.
Каковы некоторые количественные преимущества использования Firebase над MongoDB? (не мнения)
Я знаю, что Firebase - это облачный сервис с собственным API, но я чувствую, что Mongo может дать мне больший контроль в долгосрочной перспективе.
ОБНОВЛЕНИЕ: вот хорошая статья, как заменить Firebase в вашем приложении на Node.js + MongoDb. Он показывает, сколько работы вам придется сделать самостоятельно, и объясняет, ИМХО, почему запуск (небольшое приложение) должен начинаться с Firebase (если требуется обновление клиентов в режиме реального времени) и продолжаться с MongoDb (в любом случае самостоятельно письменное решение), если проект продолжает развиваться
ОБНОВЛЕНИЕ 2: после приобретения Google Firebase теперь предлагает различные привилегии в дополнение к его базовым функциям, которые вы бы постарались создать самостоятельно:
Для развития
Для роста
Яблоки и апельсины. Firebase - это бэкэнд-а-сервис, содержащий управление идентификацией, просмотры данных в реальном времени и базу данных документов. Он работает в облаке.
MongoDB, с другой стороны, представляет собой полноценную базу данных с богатым языком запросов. В принципе, он работает на вашей собственной машине, но есть облачные провайдеры.
Если вы ищете компонент базы данных, MongoDB намного более зрелый и многофункциональный.
Firebase предназначен для обновления в реальном времени. Он легко интегрируется с angular. Оба являются базами данных NoSQL. MongoDB также может сделать это с помощью Angular через интеграцию Socket.io. Meteor.js также использует MongoDB с открытым соединением сокета для обновлений в реальном времени.
MongoDB может запускаться локально или размещаться во многих различных облачных провайдерах. Firebase, на мой взгляд, отлично подходит для небольших приложений, очень быстро встает и работает. MongoDB идеально подходит для более надежных приложений, возможна интеграция в реальном времени, но требуется немного больше работы.
Я отвечу на этот вопрос в терминах библиотеки 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 используется во всем мире для быстрого соединения повсюду.
После использования Firebase значительная сумма, которую я нашел, чтобы что-то найти.
Если вы собираетесь использовать его для больших приложений реального времени, это не лучший выбор. Он имеет свой широкий спектр проблем, включая систему обработки ошибок и ограничения. Вы потратите значительное время, пытаясь понять Firebase, и это изломит. Это также довольно легко для проекта стать монолитной штукой, которая выходит из-под контроля. MongoDB - гораздо лучший выбор для бэкэнда для большого приложения.
Однако, если вам нужно сделать небольшое приложение или быстро прототипировать что-то, Firebase - отличный выбор. Это будет невероятно легкий способ попасть в землю.
Firebase - это набор функций.
Я считаю, что вы пытаетесь сравнить базу данных Firebase Realtime с Mongo DB. База данных Firebase Realtime хранит данные в формате JSON и синхронизирует все обновления данных всем клиентам, которые слушают данные. Он абстрагирует вас от любой сложности, необходимой для настройки и масштабирования любой базы данных. Я не буду рекомендовать firebase, где у вас много сложных сценариев, в которых требуется агрегирование данных (запросы, которые нужны SUM/AVERAGE). Хотя это в последнее время можно реализовать с помощью функций Firebase. Данные моделирования в Firebase сложны. Но это лучший способ заставить вас начать мгновенно. MongoDB - это база данных. Это дает вам множество мощных функций. Но MongoDB при установке на любой платформе вам нужно управлять им самостоятельно.
Когда я пытаюсь выбрать Firebase или MongoDB (или любой БД). Я пытаюсь ответить на следующее.
Firebase предоставляет несколько полезных функций, таких как отображение изменений в реальном времени, простая интеграция механизма аутентификации и множество других встроенных функций для быстрой веб-разработки. Firebase действительно делает веб-разработку настолько простой, что никогда не существует. База данных Firebase является форком MongoDB.
В чем преимущество использования Firebase перед MongoDB?
Вы можете воспользоваться всеми встроенными функциями Firebase по сравнению с MongoDB.
По моему опыту, работа с Firebase - огромное преимущество, если вы пытаетесь сделать приложение для управления пользователями, базой данных и сообщениями, поскольку все эти функции уже хорошо интегрированы.
Как и другие, если вы просто сосредоточены на аспекте базы данных/запроса, придерживайтесь монго.