以数据洞察力为导向的企业每年增长 30% 以上。数据有助于公司排除决策错误。团队可以利用数据结果来决定构建哪些产品、增加哪些特性以及追求哪些增长。
然而,数据意识和洞察力驱动是有区别的。洞察力的发掘需要找到一种近实时的方式来分析数据,这恰好是云数据仓库所扮演的重要角色。
作为可扩展的数据仓库,云数据仓库通过存储和分析大量的结构化和半结构化数据,可以帮助企业发展这项洞察力。运行数据仓库不只是技术创新,从整个业务战略角度看,它可以为未来产品、营销和工程决策提供信息。
但是,对于选择云数据仓库的企业来说,这可能是个挑战。他们必须对成本、性能、处理实时工作负载的能力和其他参数进行评估,以确定哪个提供商最适合自己的需求。为此,我们分析了四个云数据仓库:亚马逊 Redshift、谷歌 BigQuery、Azure Synapse Analytis 和 Snowflake。本文介绍了每种云数据仓库的优缺点,并深入探讨了在选择云数据仓库时需要考虑的因素。
什么是数据仓库?
数据仓库是一种将来自不同来源的数据带到中央存储库的系统,以便为快速检索做好准备。数据仓库通常包括结构化和半结构化的数据,从事务系统、操作数据库或其他渠道获得。工程师和分析师会在商业智能和其他场景中使用这些数据。
数据仓库可以在内部实施,也可以在云端中实施,或者两者混合实施。内部部署需要物理服务器,用户必须购买更多的硬件,因此扩展成本更高,具有挑一定的挑战性。云上存储数据更便宜,并且几乎可以实现自动化扩展。
什么时候使用数据仓库?
许多任务都可以使用数据仓库。你可以将历史数据作为单一的事实来源存储在统一的环境中,整个企业的员工可以依赖该存储库完成日常工作。
数据仓库也能统一和分析来自 Web、客户关系管理(CRM)、移动和其他应用程序的数据流。如今,公司越来越多地使用软件工具。其中,从多种来源提取数据、把数据转换成可用的格式并存储在仓库中,是理解数据的关键。
此外,通过存储在仓库中的有价值的数据,你可以超越传统的分析工具,通过 SQL 查询数据获得深层次的业务洞察力。
举例来说,公司使用谷歌分析(Google Analytics,GA)来了解客户是如何与他们的应用程序或网站进行交互的。但是,谷歌分析的本质限制了用户所能发现的洞察力的深度。最好的方式是把谷歌分析与数据仓库连接起来,这些数据已经在 Salesforce、Zendesk、Stripe 或其他平台上存储。所有的数据存储在一起可以更容易地分析数据、比较不同的变量,并生成有洞察力的可视化数据。
只使用数据库可以吗?
传统观点认为,除非具有 TB 级或 PB 级的复杂数据集,否则使用 OLTP 数据库 如 PostgreSQL 就够了。但是,云计算使得数据仓库对于较小的数据量也变得具有成本效益。
举例来说,BigQuery 免费提供第一个 TB 级别的查询处理。此外,无服务器的云数据仓库使得分析工作更加简单。基于流行的云数据仓库工具还有一个巨大的生态系统,可用于数据整合、数据观察和商业智能,从而加速分析流程。
流行的云数据仓库
如今,许多新型的云数据仓库都是使用大厂提供的解决方案建立的,比如亚马逊 Redshift,谷歌 BigQuery,微软 Azure Synapse Analytics 和 Snowflake。
不同提供商的产品在成本或技术细节上存在差异,但也有一些共同点。比如,他们的云数据仓库非常可靠。尽管可能会出现断电或其他故障,但数据复制和其他可靠性功能能够确保数据得到备份并快速检索。
亚马逊、谷歌、微软和 Snowflake 也提供了高度可扩展的云数据仓库。他们的解决方案是采用大规模并行处理(Massively Parallel Processing,MPP),MPP 是一种能够同时处理多个操作的快速扩展或缩小存储和计算资源的存储结构。数据以柱状格式存储,以便进行更好的压缩和查询。
云计算替代品比内部部署的数据仓库具有更强的扩展性,速度更快,只需几分钟就能上线,并且总是更新。
Snowflake、Redshift、BigQuery、Azure 数据仓库产品一览:
Snowflake
Snowflake 是一个云数据仓库,运行在谷歌云、微软 Azure 和 AWS 云基础设施之上。Snowflake 的这项服务使用了主要的公共云,并非运行在自己的云上,因此可以更方便地跨云和地区移动数据。
Snowflake 几乎可以支持无限数量的并发用户,并且几乎不需要怎么维护和管理。该服务能够自动执行、更新元数据,清空和许多其他琐碎的维护任务。伸缩也是自动的,按秒计费。
用户可以使用 SQL 或者其他商业智能和机器学习工具来查询半结构化数据。Snowflake 还支持 XML、JSON、Avro 等文档存储格式的本地支持。其混合架构划分为三个不同的层:云服务层、计算层和存储层。
Snowflake 的三层架构。图片来源:Snowflake 文档
Snowflake 越来越受欢迎,并且拥有包括乐天在内的一些主要客户。这家日本电子商务集团使用 Snowflake 来扩展其数据资源。
乐天被称为“乐天奖励”的返现和购物奖励项目,使用了越来越多的 CPU 和内存,这些需求超出了现有数据仓库的能力。随后,乐天引入了 Snowflake,并为各个团队建立了专门的仓库。Snowflake 将存储和计算层分离,因此乐天可以将各个业务单元的工作负载隔离到不同的仓库中,来避免其互相干扰。由此,乐天使更多的运营数据可见,提高了数据处理的效率,降低了成本。乐天的分析副总裁 Mark Stange-Tregear 说:
“我知道我光为向销售团队提供报告就支付了多少钱,同时我也知道我们为财务分析提取数据的费用是多少。”
亚马逊 Redshift
亚马逊 Redshift 是一项由亚马逊提供的云数据仓库服务。这项服务可以处理各种大小的数据集,从数千兆字节到一百万兆字节甚至或更大。
在上传数据和分析之前,用户先启动一组节点,然后进行配置。Redshift 数据仓库服务是更广泛的亚马逊网络服务(Amazon Web Services,AWS)生态系统的一部分,提供了多种特性。举例来说,用户可以将数据输出到自己的数据湖,并与其他平台整合,如 Salesforce、Google Analytics、Facebook Ads、Slack、JIRA、Splunk 和 Marketo。仓库服务利用列式存储、数据压缩和区域映射,实现了高性能和高效的存储。
AWS Redshift 架,图片来源:Redshift 文档
Redshift 拥有数以万计的客户,包括辉瑞、Equinox、Comcast 等。亚马逊在 2020 年开始与必胜客合作。这家连锁餐厅将其在亚太地区门店产生的数据通过 Redshift 进行整合。这个数据仓库允许团队快速访问 PB 级的数据、运行查询,并可视化输出。之前话费数个小时才生成的商业智能报告现在几分钟内就能生成。“两个月内,我们可以通过绿色和红色指标来判断该地区是否达到了销售目标和业绩目标,”必胜客亚太区数字体验经理 Pin Yiing Gork 表示,“我们也能深入了解了任何潜在的问题,并确定了需要解决的问题。”
谷歌 BigQuery
BigQuery 是谷歌提供的无服务器多云数据仓库。该服务能对 TB 级到 PB 级的数据进行快速分析。
与 Redshift 不同,BigQuery 不需要前期配置,可以自动化各种后端操作,比如数据复制或计算资源的扩展,并能够自动对静态和传输中的数据进行加密。
BigQuery 的架构由以下几部分组成:Borg 是整体计算部分;Colossus 是分布式存储部分;Dremel 是执行引擎部分;Jupiter 是网络部分。
BigQuery 架构。图片来源:BigQuery 文档
BigQuery 可以很好地连接其他谷歌云产品。例如,丰田加拿大公司已经建立了在线比较工具 Build and Price,网站访问者可以定制选择车辆并获取即时报价。Google Analytics 360 收集第一方数据,并提取到 BigQuery。该仓储服务随后将机器学习模型应用于访问者的数据中,根据每个人购买的可能性向其分配一个倾向性分数。预测每八小时刷新一次。丰田的团队再将这些预测拉回到 Analytics 360 中。该团队使用倾向性分数创建了 10 个受众,并向每个群体投放个性化广告,争取将产品售卖给他们。
很多其他知名客户,比如道琼斯、Twitter、家得宝和 UPS 等也在使用 BigQuery。
Azure Synapse Analytics
Azure Synapse Analytics 是微软提供的一个基于云的数据仓库。该服务通过单一的用户界面,整合了数据仓库、数据集成和大数据分析。
在无代码环境下,用户可以通过构建 ETL/ELT 流程,摄取近 100 个本地连接器的数据。用户也能从集成的人工智能和商业智能工具中获益,包括 Azure 机器学习、Azure 认知服务和 Power BI。该产品可以方便地将智能工具应用到各种数据集,包括来自 Dynamics 365、Office 365 和 SaaS 产品中的数据。
用户可以使用预置或无服务器的按需资源来分析数据。从 T-SQL、Python 到 Scala 和 .NET,用户可以在 Azure Synapse Analytics 中使用各种语言来分析数据。
Azure Synapse Analytics 架构。图片来源:微软文档
微软的云数据仓库服务有很多客户,其中包括沃尔格林公司(Walgreens,美国最大的连锁药局)。这家零售和批发药店巨头已经将其库存管理数据迁移到了 Azure Synapse。现在,该公司不再使用内部数据仓库而是利用云计算,供应链分析师通过微软 Power BI 这样的工具查询数据和创建可视化。
直观的拖放界面使得数据的处理变得简单。成本也下降了。沃尔格林公司负责供应链和销售的 IT 经理 Anne Cruz 说:“与在内部建立一个新的数据仓库相比,Azure 的成本只有三分之一。”此外,用户不必再等到下午 1 点才能收到前一天的数据报告,而是在每个工作日的上午 9 点就能收到信息。
选择云数据仓库时需要考虑的因素
这些主流云数据仓库有相似之处,但也有很大的不同。用户很难决定使用哪种仓库服务。在分析使用哪个平台时,企业可从以下几个方面考虑,确保团队做好充足的准备。
用例。公司的独特情况和用例是评估数据仓库提供商的关键因素。举例来说,使用 JSON 的企业可能更喜欢 Snowflake,因为后者提供对该格式的本地支持,而没有专门的数据管理员的小型组织可能会避免使用 Redshift,因为它需要定期监测和配置。在这种情况下,具有即插即用设置的服务可能更适合他们。
支持实时工作负载。数据生成之后,很多公司都需要立即进行分析。例如,有些公司可能需要实时检测欺诈或安全问题,而另一些公司可能需要处理大量的流式物联网数据来进行异常检测。在这些情况下,评估不同的云数据仓库如何处理流数据摄取是很重要的。BigQuery 提供了一个流 API,用户可以通过几行代码来调用。Azure 提供了一些实时数据摄取选项,包括内置的 Apache Spark 流功能。Snowflake 提供了 Snowpipe 作为附加组件来实现实时摄取,而 RedShift 则需要使用 Kinesis Firehose 进行流数据摄取。
安全性。每一个云数据仓库提供商都非常重视安全性问题,但是用户在决定使用哪一个提供商时,应该注意一些技术上的差异。举例来说,加密有不同的处理方式:BigQuery 默认加密了传输中的数据和静态数据,而 Redshift 中需要显式地启用该特性。
计费提供商计算成本的方法不同。公司需要知道估算自己每个月要整合、存储和分析多少数据,以此来估计成本。基于这些,IT 团队就可以选择一个价格最合理的的云数据仓库提供商。
Redshift 根据你的集群中节点类型和数量提供按需定价。其他功能,如并发扩展和管理存储,都是单独收费的。BigQuery 为存储和分析提供单独的按需和折扣的统一价格,而其他操作包括流插入,将会产生额外的费用。
Azure Synapse 采用了数据仓库单元(Data Warehouse Unit,DWU),即综合的技术成本因素,用于计算资源的定价,而对存储单独收费。Snowflake 使用信用额度,根据用户使用虚拟仓库的数量和时间的长短进行收费,存储则是按每个月的 TP 单独计费。
生态系统同样重要的是,考虑现有应用程序和数据所在的生态系统。例如,数据已经在谷歌云中的企业可以通过在谷歌云上使用 BigQuery 或者 Snowflake 来实现额外的性能提升。由于数据传输路径共享相同的基础设施,因此可以更好地进行优化。此外,数据也不必通过公共互联网传输。
数据类型企业的工作涉及结构化、半结构化和非结构化的数据,大多数数据仓库通常支持前两种数据类型。根据他们的需求,IT 团队应确保他们选择的提供商提供存储和查询相关数据类型的最佳基础设施。
可扩展性选择提供商时,企业要考虑的另一个因素是存储和性能的可扩展性。Redshift 要求用户手动添加更多的节点,以增加存储和计算能力资源。但是,Snowflake 提供了自动扩展特性,可以动态地添加或删除节点。
维护数据仓库日常管理可以根据公司规模和数据需求自动或手动地进行。小型团队可能更喜欢 BigQuery 或 Snowflake 所提供的自我优化特性。手动维护数据仓库提供了更多的灵活性和更大的控制,使团队能够更好地优化他们的数据资产。Redshift 和其他几家提供商提供了这样的控制级别。
从 Redshift 和 BigQuery 到 Azure 和 Snowflake,团队可以使用各种云数据仓库,但是找到最适合自己需求的服务是一项具有挑战性的任务。团队必须考虑各种参数、技术规格和计费模式来作出最终的决定。
虽然过程略显费力,但回报很客观。云数据仓库使得产品、市场、销售和其他许多部门都能升级数据平台,并做出重要的洞察。更少的猜测和更多的数据驱动将为实现和保持竞争优势铺平道路。
原文链接:
https://dzone.com/articles/cloud-data-warehouse-comparison-redshift-vs-bigque
评论