[GCP]BigQuery大数据产品系列分析介绍

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 介绍GCP大数据相关产品能力系列介绍

I. Google Cloud Product - BigQuery


BigQuery作为GCP的主力大数据分析产品, 其事实上一个云上Serverless database的GCP产品.  


其中BigQuery最核心组件是基于Dremel分析引擎:


- 概念-Concept: distributed search engine design

- 定义-Dremel provides a high-level, SQL-like language to express ad-hoc queries without translating them into MR job.

- 存储-Dremel uses a column-striped storage representation, which enables it to read less data from secondary storage and reduce CPU cost due to cheaper compression


其中有明显的设计差异, 例如


- extensive use of stateful caching (Dremel产品主要形态以Severless模式),

- Execution model-Volcano / Exchange Operator(并行数据库)

- separate instances where each is optimized for different use cases (Dremel属于sharding-everything架构,共享给所有用户)

- Nested type->column store

- use of indexable columnar formats optimized for lookups (Capacitor, unlike Artus, does not have indexes), etc.

- Storage Format, Capacitor and Parquet


以上这些差异使 Procella 适用于许多额外的工作负载 (e.g high QPS reporting and lookup queries)


- 查询-adhoc,trival-and-error analytics tens of seconds 35billion rows

     full scan全表扫描: 不需要Indices和pre-aggregation in-memory/flash,columar storage,parallel disk IO.

     虽然 MapReduce 适用于数据挖掘等长时间运行的批处理过程,但 BigQuery 是需要尽快获得结果的即席 OLAP/BI 查询的最佳选择。


BigQuery背后的技术-Dremel + Colossus + Borg + Jupiter


dremel_arch.png


Dremel: The Execution Engine


Dremel将你的SQL语句转化成执行树。执行树的叶子节点被称为'slots'-插槽。大规模数据计算并从Colossus读取数据,插槽可读取千亿行数据并对每行做正则表达式的check。


这执行树的分支被称为'mixers'-混合器, 它将用于聚合aggregation。 在shuffle过程中, 借助Google’s *Jupiter network*的技术优势可迅速准确地在多节点间迁移数据。混合器mixers与槽位slots都运行在Borg资源调度器内,并分配信息到硬件上。


Dremel 根据需求动态地将插槽slot分配给查询,从而在同时查询的多个用户之间保持公平。单个用户可以获得_数千个插槽slot_来运行他们的查询。


Dremel 在 Google 被广泛使用——从搜索到广告ads,从 youtube 到 gmail——内部客户使用导致其非常重视且不断改进 Dremel。 BigQuery 用户受益于性能、耐用性、效率和可扩展性的持续改进,而无需停机和与传统技术相关的升级。


Colossus: Distributed Storage


BigQuery 依赖于 Google 最新一代的分布式文件系统 *Colossus*。每个 Google 数据中心都有自己的 Colossus 集群,每个 Colossus 集群都有足够的磁盘来一次为每个 BigQuery 用户提供数千个专用磁盘。 Colossus 还处理复制、恢复(当磁盘崩溃时)和分布式高可用管理(因此没有单点故障)。 Colossus 的速度足以让 BigQuery 为许多内存数据库提供类似的性能,但利用了更便宜但高度并行化、可扩展、持久和高性能的基础架构。


BigQuery 利用 *ColumnIO 列式存储格式* 和压缩算法以最佳方式将数据存储在 Colossus 中,以读取大量结构化数据。Colossus 允许 BigQuery 用户无缝扩展到数十 PB 的存储空间,而无需支付附加费用更昂贵的计算资源——相比典型的大多数传统数据库。


Capacitor: 列式数据存储优化格式


BigQuery Storage Format= [Inside Capacitor, BigQuery’s next-generation columnar storage format]


Borg: 分布式资源调度, K8s的原型


为了给用户提供数以千计的专用于处理任务的 CPU 内核,BigQuery 充分利用了 Google 的大型集群资源管理系统 Borg。 Borg 集群运行在数十万台机器和数十万个内核上,因此使用 3300 个 CPU 的查询只使用了 BigQuery所保留的容量的一小部分,而 BigQuery 的容量只是 Borg 集群容量的一小部分。 Borg 将服务器资源分配给作业任务;在这种情况下,作业任务执行在 Dremel 集群上。


运行大型生产数据中心时可能会出现机器崩溃、电源故障、网络交换机死机以及无数其他问题。 Borg 绕着它走,软件层被抽象了。在 Google 规模上,每天都会有数千台服务器出现故障,而 Borg 保护内部免受这些故障的影响。有人在运行查询的过程中拔掉了数据中心的机架,而您永远不会注意到其中的差异。


Jupiter: The Network


除了明显的资源调度与计算资源需求, 大数据负载往往受到网络throughput的控制与节制。Google’s Jupiter网络支持整个对半带宽(bisection bandwidth)传输1Pb/s数据, 允许高效且迅速分发大负载数据。


Jupiter网络基础设施可能是GCP中单独最大的差异点。它提供足够带宽来支持100000台机器以10Gbs的带宽来互相访问。其网络带宽要求查询语句只使用少于整个系统容量的0.1%资源。全双工带宽(full-duplex bandwidth)意味着整个集群的地理位置不在重要。如果每个机器都能以10 Gbps网络带宽访问集群中其他机器,机架不在重要。


典型的存储和计算分离的解决方案包括将数据保存在像 Google Cloud Storage 或 AWS S3 这样的对象存储中,并将数据按需加载到 VM。这种方法通常比 HDFS 等共租户架构更有效,但会受到本地 VM 和对象存储吞吐量限制。Jupiter 允许我们完全绕过这个过程,并在几秒钟内直接从存储中读取 TB 的数据,用于每个 SQL 查询。


II.Google Cloud Product -  BigData Product Series


gcp_bigdata_arch.jpg


Dataplex - Data Lake Formation


利用 Dataplex 的智能数据结构摆脱数据孤岛,使组织能够通过一致的控制集中管理、监控和治理跨数据湖、数据仓库和数据集市的数据,提供对可信数据的访问并支持大规模分析。

image.png

集中式安全和治理


对数据授权和分类进行集中的政策管理、监控和审核。分布式数据所有权,可跨数据和相关工件(如机器学习模型)进行全球范围的监控和治理。


元数据管理


借助内置数据智能,对数据孤岛中的结构化、半结构化和非结构化数据自动执行数据发现、数据分类、架构检测、元数据收集和注册。您可以通过各种分析和数据科学工具轻松访问这些数据。


数据质量


自动处理分布式数据中的数据质量,实现对可信数据的开箱即用访问。使数据质量成为 DataOps 不可或缺的一部分。


数据生命周期管理


使用 Dataplex 数据湖和数据可用区,将跨多个存储服务的数据按逻辑整理为特定业务领域。只需点击一下,即可轻松管理、挑选、分层和归档数据。


专为分布式数据构建


统一数据,避免移动或重复。使数据保留在原地,最大限度地降低费用并提高性能。


BigLake - BigQuery统一存储引擎


  • 跨数据仓库和数据湖存储具有统一特征的数据的单个副本。
  • 针对分布式数据实现精细的访问权限控制和多云治理。
  • 与开源分析工具和开放数据格式(Iceberg/Linux DeltaLake/Hudi)无缝集成。
  • 提供统一Storage API, 扩展BigQuery的数据生态开放对接能力



III.Google Cloud Product -  Open Platform for Multi-Cloud


Google Cloud 在开放平台上的赌注开始通过 Anthos 和 BigQuery Omni 实现。


BigQuery Omni-Multi-Cloud Data Analytics


Google宣布了[BigQuery Omni],这是一种多云分析解决方案,可以在Google Cloud,AWS和Azure上运行BigQuery(即将推出)。 现在,无论数据存储在何处,客户都可以使用相同的BigQuery UI或API来运行SQL查询并构建BigQuery ML模型。 更重要的是,BigQuery Omni在Anthos上运行,并揭示了Kurian和Google Cloud的战略,以扩大其可寻址市场。 最初,Anthos是“简单”的混合和多云应用程序平台,利用其强大的Kubernetes主干网将本地和现有AWS / Azure应用程序迁移到GCP上。 Google希望通过BigQuery Omni将整个云基础设施商品化,并使用Anthos作为中间件来赢得市场份额。 从本质上讲,谷歌将赌注押在其卓越的容器和AI / ML技术上,以在不断发展的多云世界中竞争,就像它通过搜索使互联网时代的基础操作系统商品化一样。


BigQuery Omni Deep Dive


在探讨BigQuery Omni的战略含义之前,让我们深入了解BigQuery Omni的工作原理。 与[AWS Redshift]不同,BigQuery将存储和计算分离(类似于Snowflake的工作方式),利用便宜的存储成本并分别向用户收费以处理数据。 这种结构上的决定使BigQuery Omni成为该概念的自然扩展。


之前BigQuery仅限于存储在Google Cloud中的数据。 尽管Google 多年来收购了诸如Velostrata和Alooma之类的云迁移初创公司以促进从其他云平台迁移数据,但对于大多数企业而言,转换成本仍然很高,以至于不管开发人员的经验如何,都可以通过AWS Redshift或Azure Data Warehouse使用BigQuery来证明其合理性,使用或其他功能。


     Tips: 阿里云MaxCompute与BigQuery整体架构有类似, 云端存算分离有借鉴之处。


现在,BigQuery Omni在AWS内部的Anthos上运行,以直接访问S3和其他数据库中的数据。 由于BigQuery从存储开始就将计算和处理分离开来,因此现在可以将S3像存储在GCS中的数据一样对待,并在多个云上运行分析。 此处的最大优势是降低了网络出口费用的成本,并且消除了首先使用BigQuery的数据迁移负担。 借助Anthos,BigQuery Omni几乎充当了AWS本地解决方案,在AWS内部运行分析。


bigquery_onmi.jpeg


对于Google来说,好的一面(也许是Anthos和BigQuery Omni策略的理由)是,越来越多的公司开始采用多云和混合云解决方案。


Gartner最近对云采用情况进行的一项调查显示,使用公共云的受访者中有80%以上使用了不止一个云服务提供商。

- [Gartner, The Future of Cloud Data Management Is Multicloud]


像AWS和Azure这样的市场领导者没有动机去追求多云产品。 他们的目标是吞噬尽可能多的市场并将其锁定在他们的云平台中。 另一方面,Google别无选择,处于更好的位置,可以发挥中间件卡并向上发展。 尽管Google拥有自己的庞大基础设施,可以为数十亿用户提供搜索,地图和电子邮件服务,而不是试图从企业巨头手中抢走企业客户,但Google决定提供多云服务并将现有的数据孤岛视为潜在机会其产品的数据源将更具盈利性和竞争力。


从这个角度来看,Google Cloud的竞争对手可能实际上是IBM,而不是AWS和Azure。 IBM在2019年以340亿美元的价格收购了Red Hat,押注与流行的企业Kubernetes平台OpenShift相同的开放式混合云战略。 Google作为创建者显然在Kubernetes中具有优势(更不用说它在运行Borg方面的15年以上的经验了,Borg是Kubernetes所基于的Google原始容器管理系统),并且继续通过对Kubernetes,Istio和容器的积极贡献来扩大其领先地位。技术。 结合Kurian在Oracle上运行融合中间件产品的经验,Google似乎有条件将Anthos和BigQuery Omni成为云中的下一个大规模中间件产品。


Anthos-Open Platform based on K8s


那么Anthos的下一步是什么? 显而易见的答案是扩展产品线以支持其他数据库:Cloud SQL,Dataproc,BigTable和Spanner。 就个人而言,我对Google如何使用Looker来吸引用户寻找AWS Quicksight或Azure PowerBI的替代解决方案感兴趣。 另一个有趣的途径是将Firebase扩展到移动开发,并利用现有的生态系统来扩展“中间件”市场。 最后,最大的问题是该策略是否还会加速AI / ML技术的广泛采用。 Google被广泛视为这一领域的领导者,将BigQuery Omni与现有的AI平台产品(即[kubeflow], [TensorFlow], AI集线器/托管的Jupyter Notebook([Vertex AI])和[Kaggle]相集成可能是帮助企业采用AI / ML。



相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
1月前
|
存储 机器学习/深度学习 SQL
大数据处理与分析技术
大数据处理与分析技术
125 2
zdl
|
1月前
|
消息中间件 运维 大数据
大数据实时计算产品的对比测评:实时计算Flink版 VS 自建Flink集群
本文介绍了实时计算Flink版与自建Flink集群的对比,涵盖部署成本、性能表现、易用性和企业级能力等方面。实时计算Flink版作为全托管服务,显著降低了运维成本,提供了强大的集成能力和弹性扩展,特别适合中小型团队和业务波动大的场景。文中还提出了改进建议,并探讨了与其他产品的联动可能性。总结指出,实时计算Flink版在简化运维、降低成本和提升易用性方面表现出色,是大数据实时计算的优选方案。
zdl
160 56
|
8天前
|
机器学习/深度学习 数据可视化 大数据
机器学习与大数据分析的结合:智能决策的新引擎
机器学习与大数据分析的结合:智能决策的新引擎
79 15
|
11天前
|
数据采集 分布式计算 大数据
MaxCompute MaxFrame 产品评测报告
MaxCompute MaxFrame是阿里云自研的分布式计算框架,专为Python开发者设计。它支持Python接口,充分利用MaxCompute的大数据资源,提升大规模数据分析效率。本文分享了MaxFrame在分布式Pandas处理和大语言模型数据预处理中的最佳实践,展示了其在数据清洗、特征工程等方面的强大能力,并提出了改进建议。
46 13
|
11天前
|
机器学习/深度学习 分布式计算 数据处理
MaxCompute MaxFrame 产品评测报告
MaxCompute MaxFrame 产品评测报告
23 4
|
14天前
|
SQL 分布式计算 DataWorks
DataWorks产品测评|基于DataWorks和MaxCompute产品组合实现用户画像分析
本文介绍了如何使用DataWorks和MaxCompute产品组合实现用户画像分析。首先,通过阿里云官网开通DataWorks服务并创建资源组,接着创建MaxCompute项目和数据源。随后,利用DataWorks的数据集成和数据开发模块,将业务数据同步至MaxCompute,并通过ODPS SQL完成用户画像的数据加工,最终将结果写入`ads_user_info_1d`表。文章详细记录了每一步的操作过程,包括任务开发、运行、运维操作和资源释放,帮助读者顺利完成用户画像分析。此外,还指出了文档中的一些不一致之处,并提供了相应的解决方法。
|
13天前
|
分布式计算 DataWorks 搜索推荐
用户画像分析(MaxCompute简化版)
通过本教程,您可以了解如何使用DataWorks和MaxCompute产品组合进行数仓开发与分析,并通过案例体验DataWorks数据集成、数据开发和运维中心模块的相关能力。
|
23天前
|
人工智能 分布式计算 DataWorks
大数据& AI 产品月刊【2024年11月】
大数据& AI 产品技术月刊【2024年11月】,涵盖本月技术速递、产品和功能发布、市场和客户应用实践等内容,帮助您快速了解阿里云大数据& AI 方面最新动态。
|
1月前
|
机器学习/深度学习 存储 大数据
在大数据时代,高维数据处理成为难题,主成分分析(PCA)作为一种有效的数据降维技术,通过线性变换将数据投影到新的坐标系
在大数据时代,高维数据处理成为难题,主成分分析(PCA)作为一种有效的数据降维技术,通过线性变换将数据投影到新的坐标系,保留最大方差信息,实现数据压缩、去噪及可视化。本文详解PCA原理、步骤及其Python实现,探讨其在图像压缩、特征提取等领域的应用,并指出使用时的注意事项,旨在帮助读者掌握这一强大工具。
74 4
|
1月前
|
关系型数据库 分布式数据库 数据库
PolarDB 以其出色的性能和可扩展性,成为大数据分析的重要工具
在数字化时代,企业面对海量数据的挑战,PolarDB 以其出色的性能和可扩展性,成为大数据分析的重要工具。它不仅支持高速数据读写,还通过数据分区、索引优化等策略提升分析效率,适用于电商、金融等多个行业,助力企业精准决策。
36 4

相关产品

  • 云原生大数据计算服务 MaxCompute