Які є кількісні переваги використання Firebase над MongoDB? (не думки)
Я знаю, що Firebase - це хмарний сервіс із власним API, але я відчуваю, що Монго може дати мені більший контроль у довгостроковій перспективі.
Які є кількісні переваги використання Firebase над MongoDB? (не думки)
Я знаю, що Firebase - це хмарний сервіс із власним API, але я відчуваю, що Монго може дати мені більший контроль у довгостроковій перспективі.
Відповіді:
EDIT: ось приємна стаття, як замінити Firebase у вашому додатку на Node.js + MongoDb. Він показує, скільки роботи вам доведеться виконати самостійно, і пояснює, IMHO, чому запуск (невеликий додаток) повинен починатися з Firebase (якщо потрібні оновлення клієнтів у режимі реального часу) та продовжувати роботу з MongoDb (у будь-якому випадку самостійно - письмове рішення), якщо проект постійно розвивається
EDIT 2: після придбання Google Firebase тепер пропонує різні переваги на додаток до основних її функцій, які ви б намагалися створити самостійно:
Для розвитку
Для зростання
Яблука та апельсини. Firebase - це сервіс Backend as-a-Service, який містить управління ідентифікацією, переглядами даних у режимі реального часу та базою даних документів. Він працює в хмарі.
MongoDB, з іншого боку, - це повноцінна база даних з багатою мовою запитів. В принципі він працює на вашій власній машині, але є хмарні провайдери.
Якщо ви шукаєте лише компонент бази даних, MongoDB набагато зріліший і багатий на функції.
Firebase призначена для оновлення в режимі реального часу. Він легко інтегрується з кутовим. Обидва є базами даних NoSQL. MongoDB також може це зробити за допомогою Angular через інтеграцію Socket.io. Meteor.js також використовує MongoDB з відкритим з'єднанням для роз'ємів для оновлень у реальному часі.
MongoDB може працювати локально або розміщуватися на багатьох різних хмарних постачальниках послуг. Firebase, на мою думку, чудово підходить для менших додатків, дуже швидко вставати та працювати. MongoDB ідеально підходить для більш надійних великих додатків, можлива інтеграція в реальному часі, але це потребує трохи більше роботи.
Після використання Firebase значну кількість я прийшов знайти щось.
Якщо ви маєте намір використовувати його для великих додатків у режимі реального часу, це не найкращий вибір. У нього є широкий спектр проблем, включаючи погану систему поводження з помилками та обмеження. Ви витратите значний час на те, щоб зрозуміти Firebase, і це неприємно. Також досить просто проект стане монолітною справою, яка виходить з-під контролю. MongoDB - це набагато кращий вибір, що стосується резервного пакету для великого додатка.
Однак, якщо вам потрібно зробити невеликий додаток або швидко щось прототипувати, Firebase - чудовий вибір. Це буде неймовірно простий спосіб бігти по землі.
Я відповім на це запитання з точки зору AngularFire, бібліотеки Firebase для Angular.
Tl; dr: наддержави. :-)
Тристороння прив'язка даних AngularFire. Кутовий зв'язує подання та область $, тобто те, що ваші користувачі роблять у представленні, автоматично оновлюється в локальних змінних, а коли ваш JavaScript оновлює локальну змінну, перегляд автоматично оновлюється. З Firebase хмарна база даних також автоматично оновлюється. Вам не потрібно писати запити $ http.get або $ http.put, дані просто оновлюються.
П'ятистороння прив'язка даних та семистороння, дев’ятистороння і т. Д. Я зробив гру «тик-так-носок», використовуючи AngularFire. Два гравці можуть грати разом, при цьому два огляди оновлюють два діапазони $ та хмарну базу даних. Ви можете створити гру з трьома або більше гравцями, усі мають одну базу даних Firebase.
Бібліотека OAuth2 AngularFire спрощує авторизацію за допомогою Facebook, GitHub, Google, Twitter, жетонів та паролів.
Подвійна безпека. Ви можете налаштувати свої кутові маршрути, щоб вимагати авторизації, та встановити правила в Firebase про те, хто може читати та записувати дані.
Заднього кінця немає. Вам не потрібно робити сервер з Node та Express. Запуск власного сервера може бути багато роботи, вимагати знань про безпеку, вимагати, щоб хтось щось робив, якщо сервер виходить з ладу тощо.
Швидкий. Якщо ваш сервер знаходиться у Сан-Франциско, а клієнт - у Сан-Хосе, добре. Але для клієнта в Бангалорі підключення до вашого сервера буде повільніше. Firebase розгорнута по всьому світу для швидкого з'єднання скрізь.
На мій досвід, робота з Firebase є величезною перевагою, якщо ви намагаєтеся керувати користувачами, базою даних, додатком для обміну повідомленнями, оскільки всі ці функції вже добре інтегровані.
Як казали інші, якщо ви просто зосереджені на аспекті бази даних / запитів, дотримуйтесь монго.
Firebase - це набір функцій.
Я вважаю, що ви намагаєтеся порівняти базу даних Firebase Realtime з мондо-БД. База даних Firebase Realtime зберігає дані у форматі JSON та синхронізує всі оновлення даних усім клієнтам, які їх слухають. Він резюмує вас від усієї складності, необхідної для налаштування та масштабування будь-якої бази даних. Я не рекомендую Firebase, коли у вас є багато складних сценаріїв, де потрібна агрегація даних (запити, для яких потрібні матеріали SUM / AVERAGE). Хоча цього останнім часом можна досягти за допомогою функцій Firebase. Моделювання даних у Firebase складно. Але це найкращий спосіб почати миттєво. MongoDB - це база даних. Це дає багато потужних функцій. Але MongoDB при встановленні на будь-якій платформі вам потрібно керувати ним самостійно.
Коли я намагаюся вибрати між Firebase або MongoDB (або будь-якою БД). Я намагаюся відповісти на наступне.
Firebase надає деякі хороші функції, такі як відображення змін у режимі реального часу, легка інтеграція механізму аутентифікації та безліч інших вбудованих функцій для швидкої веб-розробки. Firebase, насправді робить веб-розробку такою простою, що ніколи не існує. База даних Firebase - це вилка MongoDB .
Яка перевага використання Firebase над MongoDB?
Ви можете скористатися всіма вбудованими функціями Firebase через MongoDB.