云数据仓库解决方案:BigQuery架构解析

在当今的商业环境中,数据已成为企业决策的核心。Google的BigQuery作为一种云数据仓库解决方案,以其高性能、可扩展性和成本效益受到企业的青睐。本文将深入探讨BigQuery的架构、优势以及在实际业务场景中的应用,特别是客户细分的用例。

数据驱动决策是指基于数据而非直觉进行决策的过程。与直觉相比,数据驱动的方法可以减少偏见,提供更准确的结论。在进行数据驱动决策时,需要遵循以下步骤:

首先,明确业务问题。这是确定正确业务问题的关键步骤,它为整个决策过程设定了优先级和目标。例如,Redeem公司希望根据每位用户的收入对餐厅和酒店进行分类,以制定合适的策略来最大化收入。

其次,确定数据来源和变量。在明确了业务问题后,下一步是确定数据来源和整合机制,将数据存储在一个地方。Redeem公司从应用程序捕获相关变量(收入、用户签到次数、客户和用户详细信息),并将这些数据保存在GoogleBigQuery表中。

接着,进行数据清洗和组织。在查询和生成洞察之前,确保数据的清洁至关重要。错误可能由多种原因引起,例如数据输入时的手动错误、编码和解码错误等。除了清洗数据外,组织数据也很重要,这意味着创建一个数据字典来解释所有变量。

然后,查询BigQuery表。BigQuery提供了类似SQL的语法来查询表。可以对列进行聚合,可以连接表,并执行许多其他任务。BigQuery的响应速度极快,可以在几秒钟内获取结果。例如,可以从收入表中选择收入总和。

最后,洞察是数据驱动生命周期的最终步骤。洞察是最终业务决策的关键。例如,如果用户点击某个项目的次数多于其他项目,这可以帮助为其他与该项目非常相似的产品提供推荐。这种在洞察之后做出的决策有助于增加销售。

BigQuery是Google的云数据仓库系统,其无服务器架构将计算与存储分离。这意味着存储和计算能力可以独立扩展。这种架构为用户提供了灵活性和控制,无论是在存储还是成本方面。用户无需担心底层结构,因为Google云管理着一切。它帮助用户专注于业务问题,而无需具备数据库的技术专长。数据存储在Google分布式文件系统中,该系统高度可靠,并可根据负载自动扩展。用户可以通过BigQuery客户端(Web UI、REST API、CLI和客户端语言)进行查询。数据从存储中查询出来,然后进入计算部分,在那里执行所有的聚合和计算。Google的高可靠性网络连接了存储和计算两部分。

如果深入研究,会发现各种底层技术如Dremel、Colossus、Jupiter和Borg在幕后运行。

Dremel是执行引擎,它将SQL查询转换为树。通过树的槽(树的叶子)从存储(Colossus)中读取数据。聚合通过混合器(分支)进行。Jupiter是叶节点和Colossus之间的连接,是一个可靠的网络系统。它还动态提供槽,以便单个用户可以为查询获得多个槽。

Colossus是Google的分布式文件系统。它为用户提供足够的磁盘空间。它还处理磁盘崩溃期间的复制和恢复。它以列式和压缩格式存储数据,这有助于空间优化和降低运行成本。

Jupiter是计算和存储之间的可靠网络,有助于通信。它提供了非常高的带宽,有助于高效快速地分发大型工作负载。

Borg是一个大规模的集群管理系统。它保护免受机器崩溃、电源故障等故障的影响。

传统数据库结构类似于数据库,具有表格和列;同样,BigQuery遵循结构。

项目:它是顶级容器,类似于传统数据库系统中的数据库。要创建它,请登录到GCP帐户。可以免费使用沙箱。登录后,点击新项目,输入项目名称并创建。

数据集:由于公司内部有不同部门,可以有不同目的。一个项目可以有多个数据集。

表格:表格是数据的列式表示。一个数据集可以有多个表格。

客户对任何组织都非常重要。作为企业,独特地满足客户的需求,创造收入和利润。客户的需求各不相同,客户细分过程的一部分是将相似的客户分组。

Redeem是一家提供餐厅和酒店用户现金回馈的公司。公司通过向餐厅/酒店提供客户来创造收入。识别哪些客户获得更多签到非常重要。这有助于制定新的定价政策。

业务问题制定:如何了解提供非常好业务的客户(餐厅/酒店)并将它们分类?

-- 计算唯一客户数量 SELECT COUNT(DISTINCT customer_id) FROM `redeemanalytics.Analytics.Customer`; -- 计算每位用户的收入 SELECT customer_id, SUM(revenue) / COUNT(user_id) AS revenue_per_user FROM `redeemanalytics.Analytics.Revenue` GROUP BY customer_id; -- 基于中位数对客户进行分类 SELECT customer_id, revenue_per_user, (revenue_per_user - MEDIAN(revenue_per_user) OVER ()) / MEDIAN(revenue_per_user) OVER () AS score FROM `redeemanalytics.Analytics.Revenue`;
  • GCP-BigQuery是一种基于云的数据仓库无服务器自管理解决方案。它可以根据负载需求进行扩展。
  • 它对于企业做出数据驱动决策非常有用。
  • 了解了客户细分的用例,借助BigQuery。
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485