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

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*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 
目录
相关文章
|
14天前
|
分布式计算 Hadoop 大数据
Jupyter 在大数据分析中的角色
【8月更文第29天】Jupyter Notebook 提供了一个交互式的开发环境,它不仅适用于 Python 编程语言,还能够支持其他语言,包括 Scala 和 R 等。这种多语言的支持使得 Jupyter 成为大数据分析领域中非常有价值的工具,特别是在与 Apache Spark 和 Hadoop 等大数据框架集成方面。本文将探讨 Jupyter 如何支持这些大数据框架进行高效的数据处理和分析,并提供具体的代码示例。
23 0
|
7天前
|
存储 大数据 数据挖掘
【数据新纪元】Apache Doris:重塑实时分析性能,解锁大数据处理新速度,引爆数据价值潜能!
【9月更文挑战第5天】Apache Doris以其卓越的性能、灵活的架构和高效的数据处理能力,正在重塑实时分析的性能极限,解锁大数据处理的新速度,引爆数据价值的无限潜能。在未来的发展中,我们有理由相信Apache Doris将继续引领数据处理的潮流,为企业提供更快速、更准确、更智能的数据洞察和决策支持。让我们携手并进,共同探索数据新纪元的无限可能!
47 11
|
6天前
|
人工智能 分布式计算 DataWorks
大数据&AI产品月刊【2024年8月】
大数据& AI 产品技术月刊【2024年8月】,涵盖本月技术速递、产品和功能发布、市场和客户应用实践等内容,帮助您快速了解阿里云大数据& AI 方面最新动态。
|
15天前
|
分布式计算 数据可视化 大数据
Vaex :突破pandas,快速分析100GB大数据集
Vaex :突破pandas,快速分析100GB大数据集
|
13天前
|
大数据 机器人 数据挖掘
这个云ETL工具配合Python轻松实现大数据集分析,附案例
这个云ETL工具配合Python轻松实现大数据集分析,附案例
|
14天前
|
数据采集 人工智能 安全
AI大数据处理与分析实战--体育问卷分析
本文是关于使用AI进行大数据处理与分析的实战案例,详细记录了对深圳市义务教育阶段学校“每天一节体育课”网络问卷的分析过程,包括数据概览、交互Prompt、代码处理、年级和学校维度的深入分析,以及通过AI工具辅助得出的分析结果和结论。
|
16天前
|
消息中间件 前端开发 安全
第三方数据平台技术选型分析
这篇文章分析了第三方数据平台的技术选型,涵盖了移动统计平台、自助分析平台和BI平台的不同代表厂商,讨论了它们的数据源、使用要求和适用场景。
30 2
|
17天前
|
存储 JSON 关系型数据库
MySQL与JSON的邂逅:开启大数据分析新纪元
MySQL与JSON的邂逅:开启大数据分析新纪元
|
18天前
|
存储 SQL 分布式计算
Hadoop生态系统概述:构建大数据处理与分析的基石
【8月更文挑战第25天】Hadoop生态系统为大数据处理和分析提供了强大的基础设施和工具集。通过不断扩展和优化其组件和功能,Hadoop将继续在大数据时代发挥重要作用。
|
12天前
|
存储 分布式计算 数据处理
MaxCompute 的成本效益分析与优化策略
【8月更文第31天】随着云计算技术的发展,越来越多的企业选择将数据处理和分析任务迁移到云端。阿里云的 MaxCompute 是一款专为海量数据设计的大规模数据仓库平台,它不仅提供了强大的数据处理能力,还简化了数据管理的工作流程。然而,在享受这些便利的同时,企业也需要考虑如何有效地控制成本,确保资源得到最优利用。本文将探讨如何评估 MaxCompute 的使用成本,并提出一些优化策略以降低费用,提高资源利用率。
13 0

热门文章

最新文章

相关产品

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