MongoDB vs Firebase [폐쇄]


149

MongoDB보다 Firebase를 사용하면 어떤 양적 장점이 있습니까? (의견이 아님)

Firebase는 자체 API가있는 클라우드 기반 서비스라는 것을 알고 있지만 Mongo가 장기적으로 더 큰 통제력을 부여 할 수 있다고 생각합니다.


53
@David 그것은 의견에 근거한 것이 아닙니다. 영업입니다 하지 (의견을 기반으로 할 것이다) 더 나은 어떤 요구하지만, MongoDB를 통해 FB의 (있는 경우) 혜택을 요구하고있다. 의견을 우리는 여기에 기술이 선호 될 수 모두와 판사의 양쪽의 장점과 단점 당겨야합니다
키릴 Slatin

@itsclarke이 이것을 읽을 것을 권합니다 : crisp.chat/blog/…
Junior Mayhé

2
@KirillSlatin이 질문은 이제 종료되었습니다. Gorilla vs Shark 블로그 게시물 에서 이와 같은 질문을 이해하지 못하는 이유를 읽을 수 있습니다 . 그동안 없는 건설적인 이유는이 블로그에 언급 여전히 매우 광범위한이다, 더 이상 사용할 수 (답변의 모든 차이를 열거 지루한한다), 매우 시간 기반은 일반적으로 좋은하지 (기능은 변경이 추가 될 수 있음) 이 사이트에 적합합니다.
Erik A

답변:


123
  • 중포 기지는 이전 버전과의 연결을 통해 실시간 엔진입니다. 즉, 클라이언트가 특정 데이터의 이벤트에 가입하고 서버가 클라이언트에게 변경 사항을 적극적으로 알리는 크로스 플랫폼 앱을 구축 할 수 있습니다
  • 데이터 계층이 호스팅됩니다. 확장 성이 뛰어납니다. 좋은 킥 스타터 솔루션입니다. 인증 관리 포함
  • 지역 화재. 실시간 지리 좌표 솔루션.
  • Firebase의 명백한 단점은 다음과 같습니다.
    • 성장을 시작하자마자 지불해야합니다
    • 데이터 레이어를 호스팅 할 수 없습니다 (데이터 소유가 중요하거나 일부 분리 된 서브넷을위한 앱을 개발하는 경우)

편집 : 다음은 앱의 Firebase를 Node.js + MongoDb로 바꾸는 좋은 기사 입니다. 직접 수행해야하는 작업량과 IMHO, 시작 (소형 앱)이 Firebase (클라이언트에 실시간 업데이트가 필요한 경우)로 시작하고 MongoDb (어쨌든 자체)로 진행해야하는 이유를 설명합니다. 작성 솔루션) 프로젝트가 계속 발전하는 경우

편집 2 : Google Firebase 가 인수 한 후에 는 기본 기능 외에도 다양한 기능을 제공하여 직접 빌드하기가 어렵습니다.

  • 개발을 위해

    • 클라우드 메시징 : 플랫폼간에 안정적으로 메시지 전달 및 수신
    • 파일 저장 : 간편한 파일 저장 (iOS 포함)
    • 호스팅 : Firebase 서버에서 정적 파일 제공 (무료 계획에 포함)
    • 충돌보고 : 전체 로깅 서비스는 아니지만 중요한 도움
  • 성장을 위해

    • 원격 구성 : 앱을 즉석에서 사용자 정의 : A / B 테스트에 적합
    • 동적 링크 : 사용자를 앱 내부의 올바른 위치로 보냅니다.
    • 알림 : 적절한 순간에 사용자와 소통

39

사과와 오렌지. Firebase는 ID 관리, 실시간 데이터보기 및 문서 데이터베이스를 포함하는 서비스 백엔드입니다. 클라우드에서 실행됩니다.

반면 MongoDB는 풍부한 쿼리 언어를 갖춘 본격적인 데이터베이스입니다. 원칙적으로 자체 컴퓨터에서 실행되지만 클라우드 공급자가 있습니다.

데이터베이스 구성 요소를 찾고 있다면 MongoDB만이 훨씬 성숙하고 기능이 풍부합니다.


31

Firebase는 실시간 업데이트를 위해 설계되었습니다. 각도와 쉽게 통합됩니다. 둘 다 NoSQL 데이터베이스입니다. MongoDB는 또한 Angular를 통해 Socket.io 통합을 통해이를 수행 할 수 있습니다. Meteor.js는 또한 실시간 업데이트를 위해 개방 소켓 연결로 MongoDB를 사용합니다.

MongoDB는 로컬로 실행하거나 다양한 클라우드 기반 공급자에서 호스팅 할 수 있습니다. 내 생각에 Firebase는 작은 응용 프로그램에 적합하며 시작 및 실행이 매우 빠릅니다. MongoDB는보다 강력한 대형 앱에 이상적이며 실시간 통합이 가능하지만 조금 더 많은 작업이 필요합니다.


23

Firebase를 사용한 후 상당한 금액을 찾았습니다.

큰 실시간 앱에 사용하려는 경우 최선의 선택이 아닙니다. 잘못된 오류 처리 시스템 및 제한 사항을 포함하여 자체적으로 광범위한 문제가 있습니다. Firebase를 이해하는 데 상당한 시간이 걸리며 꼬임이 발생합니다. 또한 프로젝트가 통제 불능의 단일체가되는 것은 매우 쉽습니다. 큰 응용 프로그램의 백엔드가있는 한 MongoDB가 훨씬 더 나은 선택입니다.

그러나 작은 앱을 만들거나 빠르게 프로토 타입을 만들어야하는 경우 Firebase를 사용하는 것이 좋습니다. 지면을 칠 수있는 매우 쉬운 방법입니다.


22

Firebase의 Angular 라이브러리 인 AngularFire의 관점에서이 질문에 대답하겠습니다.

  1. TL; dr : 초능력. :-)

  2. AngularFire의 3 방향 데이터 바인딩. Angular는 뷰와 $ scope, 즉 뷰에서 사용자가 수행하는 작업이 로컬 변수에서 자동으로 업데이트되고 JavaScript가 로컬 변수를 업데이트하면 뷰가 자동으로 업데이트됩니다. Firebase를 사용하면 클라우드 데이터베이스도 자동으로 업데이트됩니다. $ http.get 또는 $ http.put 요청을 작성할 필요가 없으며 데이터가 업데이트됩니다.

  3. 5 방향 데이터 바인딩, 7 방향, 9 방향 등 AngularFire를 사용하여 틱택 토 게임을 만들었습니다. 두 명의 플레이어가 함께 플레이 할 수 있으며, 두 개의 뷰는 두 개의 $ scope 및 클라우드 데이터베이스를 업데이트합니다. 하나 이상의 Firebase 데이터베이스를 공유하는 3 명 이상의 플레이어와 게임을 할 수 있습니다.

  4. AngularFire의 OAuth2 라이브러리는 Facebook, GitHub, Google, Twitter, 토큰 및 비밀번호를 사용하여 쉽게 인증 할 수 있습니다.

  5. 이중 보안. 승인이 필요하도록 Angular 경로를 설정하고 Firebase에서 데이터를 읽고 쓸 수있는 사람에 대한 규칙을 설정할 수 있습니다.

  6. 백엔드가 없습니다. Node와 Express를 사용하여 서버를 만들 필요는 없습니다. 자신의 서버를 운영하는 것은 많은 작업이 될 수 있고, 보안에 대한 지식이 필요하고, 서버가 다운되면 누군가가 무언가를해야하는 등의 일이 될 수 있습니다.

  7. 빠른. 서버가 샌프란시스코에 있고 클라이언트가 산호세에 있다면 괜찮습니다. 그러나 방갈로르의 클라이언트는 서버 연결 속도가 느려집니다. Firebase는 전 세계에 배포되어 어디서나 빠르게 연결할 수 있습니다.


Fireloop는 무엇입니까? 이것은 firebase로 나머지 API를 작성하는 방법입니까?
ashishSober

실제로 나는 angularfire가 훌륭하다고 생각합니다 .U가 그것을 가져 와서 자신의 데이터베이스 시스템과 함께 사용할 수있는 방법이 있습니까?,이 경우 Mongo와 함께 사용하면 3 개의 데이터 웨이 바인딩을 사용할 수 있습니다. 또한 즉시 값을 업데이트 할 수 있도록
Kross

"Firebase는 전 세계 어디에서나 빠르게 연결될 수 있도록 배포됩니다."
레스터

13

필자의 경험에 따르면 Firebase로 작업하는 것은 사용자 관리, 데이터베이스, 메시징 종류의 앱을 수행하려는 경우 이러한 모든 기능이 이미 잘 통합되어 있기 때문에 큰 이점이 있습니다.

다른 사람들이 말했듯이 데이터베이스 / 쿼리 측면에만 집중한다면 mongo를 고수하십시오.


13

Firebase는 일련의 기능입니다.

  • 실시간 데이터베이스
  • 호스팅
  • 입증
  • 저장
  • 클라우드 메시징
  • 원격 구성
  • 테스트 랩
  • 충돌보고
  • 알림
  • 앱 인덱싱
  • 동적 링크
  • 초대
  • 애드워즈
  • AdMob

Firebase 실시간 데이터베이스와 Mongo DB를 비교하려고한다고 생각합니다. Firebase 실시간 데이터베이스는 데이터를 JSON 형식으로 저장하고 모든 데이터 업데이트를 데이터를 수신하는 모든 클라이언트에 동기화합니다. 데이터베이스를 설정하고 확장하는 데 필요한 모든 복잡성을 제거합니다. 데이터 집계가 필요한 복잡한 시나리오가 많은 경우 firebase를 권장하지 않습니다 (SUM / AVERAGE 종류의 쿼리가 필요한 쿼리). 최근에는 Firebase 기능을 사용하여이를 달성 할 수 있습니다. Firebase의 데이터 모델링은 까다 롭습니다. 그러나 바로 시작할 수있는 가장 좋은 방법입니다. MongoDB는 데이터베이스입니다. 이것은 많은 강력한 기능을 제공합니다. 그러나 모든 플랫폼에 MongoDB를 설치하면 직접 관리해야합니다.

Firebase 또는 MongoDB (또는 모든 DB) 중에서 선택하려고 할 때. 나는 다음에 대답하려고 노력한다.

  1. 실행되는 많은 집계 쿼리가 있습니까 (보고 도구 또는 BI 도구의 경우처럼). 그렇다면 Firebase를 사용하지 마십시오
  2. 많은 트랜잭션을 수행해야합니까? (그렇다면 firebase와 함께 가고 싶지 않습니다.)
  3. 작업을 시작하고 실행하는 데 필요한 타임 라인 (Firebase는 설정 및 통합이 매우 쉽습니다).
  4. DB를 확장하고 DB 관련 문제를 해결하는 데 전문 지식이 있습니까? (Firebase는 SAAS와 유사하므로 확장성에 대해 걱정할 필요가 없습니다)

13

Firebase는 실시간 변경 반영, 인증 메커니즘의 쉬운 통합 및 빠른 웹 개발을위한 기타 내장 기능과 같은 몇 가지 좋은 기능을 제공합니다. Firebase는 웹 개발을 매우 단순하게 만들어 결코 존재하지 않습니다. Firebase 데이터베이스는 MongoDB의 포크입니다 .

MongoDB보다 Firebase를 사용하면 어떤 이점이 있습니까?

MongoDB를 통해 Firebase모든 내장 기능을 활용할 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.