Search code examples
google-cloud-platformgoogle-bigquerygoogle-cloud-bigtable

Is there any relation between Google BigQuery and Google Bigtable


Based on many sources I understood that both(BigQuery and Bigtable) are considered as 2 different solutions for data sotrage.

For example here written that we can consider bigQuery as a data storage if we need any statistic(for example sums, averages, counts) about huge amount of data. In contrast, BigTable can be consideres like usual NoSql storage.

From another hand I've read snippet from the book where mentioned that:enter image description here

From this snippet I understood that BigQuery is a tool for querying from anywhere but not for data storage. Could you please clarify ?


Solution

  • BigQuery is a Data Warehouse solution in Google Cloud Platform. In BigQuery you can have two kinds of persistent table:

    1. Native/Internal: In this kind of table, you load data from some source (can be some file in GCS, some file that you upload in the load job or you can even create an empty table). After created, this table will store data on a specific BigQuery's storage system.
    2. External: This kind of table is basically a pointer to some external storage like GCS, Google Drive and BigTable

    Furthermore, you can also create temporary tables that exists only during the query execution.

    Both BigQuery and BigTable can be used as storage for data. The point is that BigQuery is more like an engine to run queries and make aggregations on huge amounts of data that can be on external sources or even inside BigQuery's own storage system. That makes it good for data analysis.

    BigTable is more like a NoSQL database that can deal with petabytes of data and gives you mechanisms to perform data analysis as well. As you can see in the image below, BigTable should be chosen intead of BigQuery if you need low-latency.

    enter image description here