development

Cloud Firestore와 Firebase 실시간 데이터베이스의 차이점은 무엇입니까?

big-blog 2020. 5. 13. 20:47
반응형

Cloud Firestore와 Firebase 실시간 데이터베이스의 차이점은 무엇입니까?


Google은 새로운 앱용 문서 데이터베이스 인 Cloud Firestore를 출시했습니다.

설명서를 읽었지만 Firestore와 Firebase DB 사이에는 많은 차이점이 없습니다.

요점은 Firestore는 문서와 컬렉션을 사용하여 JSON 기반의 전통적인 noSQL 데이터베이스 인 Firebase에 비해 쿼리를 쉽게 사용할 수 있다는 것입니다.

차이점이나 사용법 또는 Firestore가 Firebase DB를 대체했는지 여부에 대해 조금 더 알고 싶습니다.


그래서 나는 이 질문에 관한 전체 블로그 게시물을 썼으며 더 완전한 답을 얻으 려면 그것을 확인하십시오 (또는 공식 문서 ).

그러나 빠른 요약을 원한다면 다음과 같습니다.

보다 나은 쿼리 및 구조화 된 데이터 -실시간 데이터베이스는 거대한 JSON 트리이지만 Cloud Firestore는 좀 더 구조화되어 있습니다. 모든 데이터는 문서 (기본적으로 키-값 저장소)와 컬렉션 (문서 컬렉션)으로 구성됩니다. 문서는 종종 다른 문서를 포함하거나 자체적으로 다른 문서를 포함 할 수있는 하위 콜렉션을 가리 킵니다.

이 구조화 된 데이터는 두 가지 방법으로 도움이됩니다. 먼저 모든 쿼리가 얕기 때문에 모든 데이터를 가져 오지 않고도 문서를 요청할 수 있습니다. 즉, 데이터베이스를 얕게 유지하는 것에 대해 걱정할 필요없이 데이터를 계층 적으로 저장할 수 있습니다. 둘째, 더 강력한 쿼리가 있습니다. 예를 들어, 데이터베이스의 다른 부분에서 데이터를 결합하고 비정규 화하는 "콤보"필드를 만들지 않고도 여러 필드를 쿼리 할 수 ​​있습니다. 경우에 따라 Cloud Firestore는 이러한 쿼리를 직접 실행하고 다른 경우에는 자동으로 인덱스를 생성하고 유지 관리합니다.

확장하도록 설계 -Cloud Firestore는 실시간 데이터베이스보다 확장 성이 뛰어납니다. 쿼리는 데이터 세트가 아닌 결과 세트의 크기에 따라 조정됩니다. 따라서 데이터 세트의 크기에 관계없이 검색 속도가 빠릅니다.

손쉬운 데이터 가져 오기 -실시간 데이터베이스와 마찬가지로 Cloud Firestore에서 리스너를 설정하여 변경 사항을 실시간으로 스트리밍 할 수 있습니다. 그러나 이러한 종류의 동작을 원하지 않고 단순한 "내 데이터 가져 오기"호출을 원할 경우 Cloud Firestore에도 해당 기능이 있으며 기본 사용 사례로 기본 제공됩니다. ( once실시간 데이터베이스 통화 보다 훨씬 낫습니다 )

다중 지역 지원 -기본적으로 데이터가 여러 데이터 센터에서 한 번에 공유되므로 안정성이 향상됩니다. 그러나 여전히 일관성이 뛰어나므로 항상 쿼리를 수행하고 최신 버전의 데이터를 얻을 수 있습니다.

다양한 요금 모델 -실시간 데이터베이스는 주로 스토리지 또는 네트워크 대역폭을 기준으로 요금을 청구하지만 Cloud Firestore는 주로 수행 한 작업 수를 기준으로 요금을 청구 합니다. 이게 더 나을까요? 앱에 따라 다릅니다.

뉴스 앱, 턴 기반 멀티 플레이어 게임 또는 자체 버전의 스택 오버플로와 같은 기능을 제공하기 위해 Cloud Firestore는 아마도 가격 측면에서 유리한 것으로 보일 것입니다. 여러 사람에게 1 초에 여러 업데이트를 전송하는 실시간 그룹 그리기 앱과 같은 경우 아마도 실시간 데이터베이스보다 비쌀 것입니다.

왜 실시간 데이터베이스를 사용하고 싶을까요? 몇 가지 이유가 있습니다. 1) 이전에 언급 한 "전체 업데이트가 많은 앱의 경우 아마도 저렴 할 것입니다."2) 오랫동안 사용되어 왔으며 수천 개의 앱에서 전투 테스트를 거쳤습니다 (Cloud Firestore는 여전히 베타 버전입니다) ), 3) 지연 시간이 단축되었으며 실시간 느낌을 위해 지연 시간이 안정적으로 낮은 것이 필요할 때 실시간 데이터베이스가 더 잘 작동 할 수 있습니다.

대부분의 새로운 앱의 경우 Cloud Firestore를 확인하는 것이 좋습니다. 그러나 이미 실시간 데이터베이스에있는 앱이 있다면 강력한 이유가 없다면 전환을 위해 전환하는 것이 좋습니다.

희망이 도움이됩니다!


https://medium.com/@beingrahul/firebase-cloud-firestore-vs-firebase-realtime-database-931d4265d4b0 에서 전체 기사를 읽을 수 있습니다.

Firebase Realtime database이는 JSON 트리로 구성되지만 Cloud Firestore문서 (키-값 쌍의 집합) 및 컬렉션 (문서 모음) 형식으로 데이터에 저장됩니다.

더 많은 구조 데이터

실시간 데이터베이스는 JSON 트리에 데이터를 저장했지만 Cloud firestore는 JSON과 매우 유사한 문서에 데이터를 저장했습니다. 여기에 이미지 설명을 입력하십시오

Cloud FireStore에서 문서는 하위 컬렉션과 중첩 된 객체 (위의 그림에서 'phone'과 같은)를 묶을 수 있으며, 둘 다 문자열 (예 : 'name', 'email'등)과 같은 기본 필드 또는 위와 같은 복잡한 객체를 포함 할 수 있습니다. 기울기.

더 나은 쿼리

  • In the Realtime database, We can only sort or filter on a property in a single query, not both sort and filter on a property while In the Cloud FireStore, You can chain filters and combine filtering and sorting on a property in a single query.
  • If you want to fetch data in descending order then Cloud fireStore is very useful for you but for the Realtime database, there is no query feature available. 여기에 이미지 설명을 입력하십시오
  • You can also chain multiple “where” methods to create more specific queries (logical AND) in Cloud FireStore. 여기에 이미지 설명을 입력하십시오

Scalability

Cloud Firestore will be able to scale better than the Realtime Database. It’s important to note that Your query performance is proportional to the size of your result set, not your data set. So searching will remain fast no matter how large your data set might become.

Manual fetching of data

We can listen data realtime in the Cloud FireStore like Realtime database but in the Cloud FireStore, We can also fetch data manualy(If you want to any data only one time).

Security

In the Realtime Database, We need to validate data separately using the validate rule but in the Cloud FireStore, data validation happens automatically.

Writing the data

We can execute multiple operations as a single batch and complete them atomically , with any combination of the set(), update() or delete() methods. 여기에 이미지 설명을 입력하십시오

Pricing

In the Realtime database, Charges only for bandwidth and storage, but at a higher rate. While in the Cloud FireStore, Charges primarily on operations performed in your database (read, write, delete) and, at a lower rate, bandwidth and storage.


Reasons to choose Cloud Firestore over Realtime Database

It is an improved version

Firebase database was enough for basic applications. But it was not powerful enough to handle complex requirements. That is why Cloud Firestore is introduced. Here are some major changes.

  • The basic file structure is improved.
  • Offline support for the web client.
  • Supports more advanced querying.
  • Write and transaction operations are atomic.
  • Reliability and performance improvements
  • Scaling will be automatic.
  • Will be more secure.

Pricing

In Cloud Firestore, rates have lowered even though it charges primarily on operations performed in your database along with bandwidth and storage. You can set a daily spending limit too. Here is the complete details about billing.

Future plans of Google

실시간 데이터베이스의 결함을 발견했을 때 기존 제품을 개선하는 대신 다른 제품을 만들었습니다. 실시간 데이터베이스에 대한 현재의 입장을 밝히는 믿을만한 세부 사항은 없지만 포기할 것이라고 생각할 때입니다.



참고 URL : https://stackoverflow.com/questions/46549766/whats-the-difference-between-cloud-firestore-and-the-firebase-realtime-database

반응형