为什么BigQuery有自己的存储空间?

时间:2019-01-17 11:33:36

标签: google-bigquery

BigQuery(BQ)拥有自己的存储系统,该存储系统与Google Cloud Store(GCS)完全分开。

我的问题是:为什么BQ不像Hadoop Hive那样直接处理存储在GCS上的数据?这种设计的好处和必要性是什么?

2 个答案:

答案 0 :(得分:3)

这是因为BigQuery使用面向列的数据库系统,并且具有后台进程,这些进程会不断检查数据是否以最佳方式存储。因此,数据由BigQuery管理(这就是为什么它拥有自己的存储),并且只向用户公开最高层。

有关更多详细信息,请参见此article

  

当您将位加载到BigQuery中时,服务将承担全部   负责管理数据,并且仅公开逻辑   数据库基元给你

答案 1 :(得分:3)

BigQuery通过拥有自己的独立存储而获得了许多好处。

例如,BigQuery能够通过在存储在其上的磁盘上移动数据并对其进行重新排序,并添加更多磁盘并随着数据库变得越来越大而重复该过程,从而不断优化其数据存储。

BigQuery还利用一个独立的计算层来查询存储层,从而使存储层可以扩展,同时需要较少的整体硬件来运行查询。这样,BigQuery便可以根据需要调用更多处理能力,但是当未执行来自特定数据库的查询时,则没有闲置的硬件。

有关BigQueries结构和优化的更深入说明,您可以签出this article I wrote for The Data School.