关闭

马云曾说: “未来二三十年内最昂贵最值钱的不是石油也不是房子,而是数据”。常听到: 大数据的应用能帮助企业瞄准客户需求、找出潜在客户,但是即使拥有庞大的数据资料,若没有做有效的资料处理,那么数据的价值也无法突显。面对这个问题,企业可以利用PaaS服务-BigQuery来进行大型数据集的交互式分析。根据官方的介绍: “BigQuery具备高扩充性与成本效益的无伺服器多云端资料仓储系统,专为增进企业灵活性而设计。 ” 简单来说,BigQuery就是一款云端的企业数据仓储。

企业数据仓储-Enterprise Data Warehouse (EDW)是现今许多公司统一管理企业内所有资料的数据仓库。 EDW就像一个统一集中的大数据仓库,将来自不同系统的企业数据(如ERP、CRM)储存在一起。

要更有效了解BigQuery,必须先了解数据仓储(Data Warehouse)的架构,其架构主要包含3部分:数据来源(Raw data layer)、仓库(Warehouse)、以及透过分析工具呈现出来的介面(Analytical tools)。

极密曝光!GCP架构实战!- 大数据分析BigQuery

首先,上图为资料仓储的一层架构。资料库会直接与使用者分析介面连接。这样的架构面临的问题是无法展现灵活的分析效能。假设资料库里有500GB的资料,直接做查询时,处理时间会过长。当输入不够精确,也无法筛选出有效资料。因此,一层架构的设计很少应用在大规模数据平台上。

极密曝光!GCP架构实战!- 大数据分析BigQuery

两层架构则在EDW与使用者介面中间添加了数据市集Data Mart Layer。这里可以把数据市集当作是数据仓储的一个子集,数据市集面向的都是特定的业务主题,通常只包含一个主题领域,是一个规模较小的数据库。这样的结构解决了第一层架构面临到查询缓慢的问题。由于数据市集限制了使用者能够查询的资料。一方面,每个单位部门可以更便利查到所需的数据,另一方面,这样的限制也让整体系统的安全性提高。
 

极密曝光!GCP架构实战!- 大数据分析BigQuery

三层架构的设计上则再进一步添加Online Analytical Processing (OLAP) layer,线上分析处理是用来快速解决多维分析问题的一种方法。我们常见的关联式资料库属于二维形式,而其中的OLAP cube由多为资料组成。透过OLAP操作的四种类型包含:Roll-up、Drill-down、Slice and dice和Pivot (rotate),达到多维资料的快速查询功能。因此,OLAP特别针对读取做优化,也能做到资料的更新、删除。目前几乎所有数据仓储都有提供OLAP服务。
 

极密曝光!GCP架构实战!- 大数据分析BigQuery

资料来源:​​https://cloud.google.com/architecture/bigquery-data-warehouse
 

而BigQuery就是与EDW 具有相同特征的数据仓库。因为属于云端的完全托管服务,所以也算是云数据仓库Cloud data warehouse (CDW)。

 

BigQuery

BigQuery的主要特色为全托管(fully managed)且无伺服器(serverless)。服务运行的软硬体皆由GCP负责管理。服务不会轻易中断,达到高可用性的特色。使用者不用担心硬体资源,机器资源可弹性增减,花费也取决于您的实际使用量。

极密曝光!GCP架构实战!- 大数据分析BigQuery

资料来源:https://cloud.google.com/bigquery 
 

BigQuery支援多种汇入来源: 本地、Google 云端硬碟、Cloud Storage,BigQuery Data Transfer Service (DTS)、Data Fusion 外挂程式等多种方式将资料上传到资料仓库。而支援的资料格式有: Avro、CSV、JSON、ORC 或 Parquet 格式。

极密曝光!GCP架构实战!- 大数据分析BigQuery

资料来源:https://cloud.google.com/blog/products/data-analytics/new-blog-series-bigquery-explained-overview


BigQuery的整体架构如上图,将储存和计算分离,功能各自独立。解耦合结构降低系统出错的发生频率,让企业可以根据业务弹性选择储存与处理方案,同时也可以分别管控使用费用。于BigQuery上传资料时,资料会加密来确保资料安全性。上传的资料也会分别存放在不同的资料中心,和拥有不同的加密金钥。在操作方面,使用Standard SQL语法,对于开发人员来说是无阵痛期的。 BigQuery也支援资料表之间的Join动作,可以做即时分析(real-time analytics)。

此外,BigQuery运算速度快,主要有两个原因,一个是使用Columnar storage(数据按列储存),搜寻时不必扫描全部,即可快速找到资料。另一个原因则为Tree architecture,指的是Query会分散由数千台伺服器处理调度查询。BigQuery自2010年创立至今,除了作为大数据仓储的查询服务,还有提供其他多元的服务,像是BigQuery ML:让使用者建构机器学习模型、BigQuery GIS:支援地理空间资料格式的分析技术等。
 



撰写人
极密曝光!GCP架构实战!- 大数据分析BigQuery

助理工程师
许媁涵 Annie Hsu