Nice programing

BigQuery와 BigTable의 차이점은 무엇인가요?

nicepro 2020. 12. 7. 20:39
반응형

BigQuery와 BigTable의 차이점은 무엇인가요?


누군가가 BigQuery 대신 BigTable을 사용하는 이유가 있나요? 둘 다 읽기 및 쓰기 작업을 지원하는 것으로 보이며 후자는 고급 '쿼리'작업도 제공합니다.

제휴 네트워크를 개발해야하므로 (따라서 클릭 수와 '판매'를 추적해야합니다) bigQuery가 더 나은 API를 가진 bigTable 인 것처럼 보이기 때문에 그 차이에 상당히 혼란 스럽습니다.


차이점은 기본적으로 다음과 같습니다.

BigQuery는 많이 변경되지 않거나 추가하여 변경되는 데이터 세트를위한 쿼리 엔진입니다. 쿼리에 "테이블 스캔"이 필요하거나 전체 데이터베이스를 살펴볼 필요가있을 때 좋은 선택입니다. 합계, 평균, 개수, 그룹화를 생각하십시오. BigQuery는 많은 양의 데이터를 수집하고 이에 대해 질문해야 할 때 사용하는 것입니다.

BigTable은 데이터베이스입니다. 확장 가능한 대규모 애플리케이션의 기초가되도록 설계되었습니다. 데이터를 읽고 쓰는 데 필요한 모든 종류의 앱을 만들 때 BigTable을 사용하고 확장이 잠재적 인 문제가 될 수 있습니다.


이는 Google 클라우드가 제공하는 여러 데이터 저장소를 결정하는 데 도움이 될 수 있습니다 (면책 조항! Google Cloud 페이지에서 복사 됨).

GCP-GCP 데이터베이스 옵션 결정 순서도

요구 사항이 라이브 데이터베이스 인 경우 BigTable 이 필요합니다 (실제로 OLTP 시스템은 아님). 분석 목적에 더 가깝다면 BigQuery 가 필요합니다!

OLTPOLAP를 생각해보십시오 . 또는 Cassandra 대 Hadoop에 익숙한 경우 BigTable은 대략 Cassandra와 동일하고 BigQuery는 대략 Hadoop과 동일합니다 (동의, 공정한 비교는 아니지만 아이디어를 얻음).

https://cloud.google.com/images/storage-options/flowchart.svg

노트

것을 명심하시기 바랍니다 Bigtable을가 관계형 데이터베이스는 아니고, SQL 쿼리 또는 지원하지 않습니다 JOIN들 않으며 다중 행 트랜잭션을 지원합니다. 또한 소량의 데이터에는 좋은 솔루션이 아닙니다. RDBMS OLTP를 원하면 cloudSQL (mysql / postgres) 또는 스패너를 살펴 봐야 할 수 있습니다.

비용 관점

https://stackoverflow.com/a/34845073/6785908 . 여기에서 관련 부품을 인용합니다.

전체 비용은 데이터를 '쿼리'하는 빈도로 귀결됩니다. 백업이고 이벤트를 너무 자주 재생하지 않으면 저렴합니다. 그러나 매일 한 번 재생해야하는 경우 5 $ / TB 스캔을 매우 쉽게 트리거하기 시작합니다. 삽입물과 저장 공간이 얼마나 저렴한 지 너무 놀랐지 만 Google은 사용자가 특정 시점에 값 비싼 쿼리를 실행할 것으로 예상하기 때문에 이는 종종 발생합니다. 하지만 몇 가지를 중심으로 디자인해야합니다. 예를 들어 AFAIK 스트리밍 삽입은 테이블에 기록된다는 보장이 없으며 실제로 기록되었는지 확인하기 위해 목록 끝에서 자주 폴링해야합니다. 테일링은 시간 범위 테이블 데코레이터를 사용하여 효율적으로 수행 할 수 있지만 전체 데이터 세트를 스캔하는 데 비용을 지불하지 않습니다.

주문에 신경 쓰지 않는다면 무료로 테이블을 나열 할 수도 있습니다. 그러면 '쿼리'를 실행할 필요가 없습니다.

편집 1

클라우드 스패너 는 상대적으로 젊지 만 강력하고 유망합니다. 적어도 Google 마케팅은 기능이 두 세계 (기존 RDBMS 및 noSQL)에서 최고라고 주장합니다.

여기에 이미지 설명 입력

대답하기가 조금 늦었지만 나중에 다른 사람에게 도움이 될 수 있도록 추가하십시오.


사용할 항목 선택여기에 이미지 설명 입력

큰 테이블

Google BigTable is Google’s cloud storage solution for low latency data access. It was originally developed in 2004 and was built on Google File System (GFS). There is one paper about BigTable: Bigtable: A Distributed Storage System for Structured Data. Now It is widely used in many Google’s core services like Google Search, Google Maps, and Gmail. It is designed in NoSQL architecture, but can still use row-based data format. With data read/write under 10 milliseconds, it is good for applications that have frequent data ingestion. It can be scaleable to hundreds of petabytes and handle millions of operations per second.

BigTable is compatible with HBase 1.0 API via extensions. Any move from HBase will be easier. BigTable has no SQL interface and you can only use API go Put/Get/Delete individual rows or run scan operations. BigTable can be easily integrated with other GCP tools, like Cloud Dataflow and Dataproc. BigTable is also the foundation for Cloud Datastore.

Unlike other clouds, GCP compute and storage are separate. You need to consider the following three parts when calculating the cost. 1. The type of Cloud instance, and the number of nodes in the instance. 2. The total amount of storage your tables use. 3. The amount of network bandwidth used. Please note: some part of network traffic is free.

It’s good and bad. The good part is that you don’t need to pay for the compute cost if your system is idle and you pay only the storage cost. The bad part is that it is not easy to forecast your compute usage if you have very large dataset. 여기에 이미지 설명 입력

BigQuery

BigQuery is Google’s Cloud-based data warehousing solution. Unlike BigTable, it targets data in big picture and can query huge volume of data in a short time. As the data is stored in columnar data format, it is much faster in scanning large amounts of data compared with BigTable. BigQuery allows you to scale to petabyte and is great enterprise data warehouse for analytics. BigQuery is serverless. Serverless computing means computing resource can be spun up on-demand. It benefits users from zero server usage to full-scale usage without involving administrators and managing infrastructure. According to Google, BigQuery can scan Terabytes of data in seconds and Petabytes of data in minutes. For data ingestion, BigQuery allows you to load data from Google Cloud Storage, or Google Cloud DataStore, or stream into BigQuery storage.

However, BigQuery is really for OLAP type of query and scan large amount of data and is not designed for OLTP type queries. For small read/writes, it takes about 2 seconds while BigTable takes about 9 milliseconds for the same amount of data. BigTable is much better off for OLTP type of queries. Although BigQuery support atomic single-row operations, it lacks cross-row transaction support. 여기에 이미지 설명 입력

See these for more Info Link 1 Link 2`` Link 3


BigQuery and Cloud Bigtable are not the same. Bigtable is a Hadoop based NoSQL database whereas BigQuery is a SQL based datawarehouse. They have specific usage scenarios.

In very short and simple terms;

  • If you don’t require support for ACID transactions or if your data is not highly structured, consider Cloud Bigtable.
  • OLAP (온라인 분석 처리) 시스템에서 대화 형 쿼리가 필요한 경우 BigQuery를 고려하세요.

참고 URL : https://stackoverflow.com/questions/39919815/whats-the-difference-between-bigquery-and-bigtable

반응형