当前位置: 首页 > 科技观察

比较四种典型的云数据仓库:Snowflake、Redshift、BigQuery、Azure

时间:2023-03-19 10:04:47 科技观察

【.com快译】毫无疑问,数据不仅可以帮助企业消除决策中的各种猜测,数据驱动的证据来决定哪些要构建的产品、要添加的功能以及要改进的计划和目标。然而,数据感知并不简单等同于洞察力驱动,这往往需要找到一种近乎实时的数据分析方法。今天,云数据仓库作为一个可扩展的数据仓库,使企业能够通过存储和分析大量结构化和半结构化数据来发现和发现洞察驱动力,进而为各种产品、营销策略和工程决策提供服务,提供全面的商业信息。当然,为云数据仓库选择提供商通常是一项具有挑战性的工作。用户必须根据自己的需求,综合评估数据仓库的成本、性能、处理实时负载的能力等方面。在这里,我们将分析目前流行的四大云数仓:Snowflake、AmazonRedshift、GoogleBigQuery、AzureSynapseAnalytics,综合比较它们的优缺点,深入探讨选择云数仓需要考虑的因素。什么是数据仓库?数据仓库是一个系统,它可以将来自不同来源的数据导入中央存储库,并为随后的快速检索做好准备。数据仓库通常包含从交易系统、操作数据库和其他来源提取的结构化和半结构化数据。数据工程师和分析师可以将此数据用于商业智能等各种目的。数据仓库可以部署在本地、云端或两者的混合。在本地解决方案中,用户经常抱怨购买更多硬件,因为他们需要物理服务器。这使得数据仓库的可扩展性更加昂贵和具有挑战性。相比之下,其基于云的在线存储解决方案成本低,具有自动扩展能力。何时使用数据仓库数据仓库可用于多项任务。例如,您可以使用它将历史数据存储在充当单一事实来源的统一环境中,以便整个组织的用户都可以依赖此存储库来执行日常任务。同时,数据仓库可以统一和分析来自Web、客户关系管理(CRM)、移动设备和其他应用程序的数据流。通过将它们转换成可用的格式,用户可以采用各种分析工具,充分利用各种SQL查询服务,提高对存储数据的业务理解和洞察力。例如,通过使用GoogleAnalytics(GA),企业可以了解客户如何与其应用程序或网站进行交互。为突破深度洞察的局限,GA还可以连接Salesforce、Zendesk、Stripe等平台上已有的数据仓库,将所有数据存储在一处,通过分析比较不同变量产生洞察数据电源和可视化视图。仅仅使用数据库还不够吗?传统观点认为,除非你有TB或PB级的复杂数据集,否则你可能只使用像PostgreSQL这样的OLTP数据库就可以了。然而,云计算使数据仓库对于较小的数据量具有成本效益。例如,BigQuery对于第一个TB的查询处理是免费的。此外,无服务器云数据仓库的总拥有成本也将使分析变得更加容易。BigQuery的定价方案目前流行的云数据仓库目前,业界有很多新兴的云数据仓库提供商,其中Snowflake、AmazonRedshift、GoogleBigQuery和MicrosoftAzureSynapseAnalytics是最主流、最靠谱的四家。尽管它们在成本或技术细节上有所不同,但它们都具有共同的特征,例如高可扩展性。例如,它们都采用大规模并行处理(MPP)的方法来同时处理多个操作的存储结构。这不仅加速了存储和计算资源的扩展和收缩,而且实现了数据列格式的存储,带来了更好的压缩和查询特性。即使在发生中断或故障时,它们也能保证可靠的数据复制、备份和快速检索。此外,与本地部署的数据仓库相比,云解决方案在商业智能方面更具可扩展性,可以加速分析操作、快速上线,并提供数据集成、可观察性和整个生态系统。数据仓库对比列表SnowflakeSnowflake是一个云数据仓库,可以运行在谷歌云、微软Azure和AWS架构上。由于它不运行在自己的云基础设施上,而是使用主流的公有云服务商,因此可以让用户更容易地跨云平台和跨区域移动数据。Snowflake支持几乎无限数量的并发用户,并且可以在几乎零维护和管理的情况下运行。相关的元数据更新和清理、按需扩展、按秒计费以及许多其他琐碎的维护任务都可以自动化。用户还可以使用SQL或其他商业智能(BI)和机器学习(ML)工具来查询半结构化数据。同时,Snowflake还提供了对XML、JSON、Avro等文档存储格式的原生支持。如下图所示,其混合架构分为三个不同的层:云服务层、计算层和存储层。Snowflake的三层架构作为Snowflake的主要客户,日本乐天电子商务集团利用它来扩展其数据资源。该公司曾经有一个名为RakutenRewards的现金返还和购物奖励计划。随着CPU和内存输入量的不断增加,其用户需求逐渐超过了现有的数据仓库容量。引入Snowflake后,Rakuten为每个团队设置了专门的仓库。由于Snowflake可以将存储层和计算层分开,将来自不同业务部门的工作负载隔离到不同的仓库中,避免相互干扰。最终,Rakuten不仅降低了总体成本,提高了数据处理效率,还获得了对其数据运营的更多可见性。AmazonRedshift是亚马逊提供的云数据仓库服务——Redshift,可以处理从GB到PB大小的数据集。在使用过程中,用户需要启动一组节点并进行配置,以便上传和分析数据。作为AmazonWebServices(AWS)生态系统的一部分,Redshift数据仓库服务提供从数据湖中导出用户数据以及与其他平台集成的服务,例如Salesforce、GoogleAnalytics、FacebookAds、Slack、Jira、Splunk和Marketo)集成和其他服务。此外,Redshift仓库服务使用列式存储、数据压缩和区域映射来实现高性能和高效存储。AWSRedshift架构目前,Redshift拥有包括Pfizer、Equinox和Comcast在内的数万家客户。2020年,全球知名连锁餐厅必胜客使用Redshift整合亚太地区门店产生的数据,使其团队能够快速访问、查询和可视化PB级数据。过去需要数小时才能生成的商业智能报告现在可以在几分钟内完成。GoogleBigQueryBigQuery是谷歌提供的无服务器多云数据仓库。该服务可以快速分析从TB到PB的数据。与Redshift不同,BigQuery无需预先配置即可自动执行数据复制和计算资源扩展等后端操作。同时,它可以自动加密各种静态和传输中的数据。如下图所示,BigQuery架构由多个组件组成。其中,Borg是整体计算部分;Colossus负责分布式存储;它的执行引擎叫做Dremel;木星是它的网络。BigQuery架构由于BigQuery可以与其他GoogleCloud产品协同工作,因此其用户包括DowJones、Twitter、TheHomeDepot和UPS等知名公司。例如,ToyotaCanada构建了一个名为Build&Price的比较工具,允许网站访问者定制车辆并获得即时报价。这些数据由GoogleAnalytics360收集并提取到BigQuery中。然后,其仓储服务对该数据应用机器学习(ML)模型,并根据每位访客购买的可能性为他们分配一个倾向评分。这些预测分数每八小时刷新一次,并持续导入到Analytics360。由此,丰田根据倾向得分创建了群组,然后向每个群组投放个性化广告。AzureSynapseAnalytics是微软提供的云数据仓库——AzureSynapseAnalytics,通过统一的用户界面(UI)将数据仓库、数据集成和大数据分析结合起来。通过在无代码环境中构建的ETL/ELT流程,用户不仅可以从近百个本地连接器中提取数据,还可以实现Azure机器学习、认知服务和PowerBI。此外,这个智能工具可以轻松应用于数据集,包括Dynamics365、Office365和各种SaaS产品。在AzureSynapseAnalytics中,用户可以使用T-SQL、Python、Scala和.NET等语言,以预配置或无服务器的方式按需分析数据资源。AzureSynapseAnalytics架构目前,微软的云数据仓库服务拥有众多客户。其中,零售和批发医药巨头Walgreens已将其库存管理数据迁移到AzureSynapse,供应链分析师可以直接在其界面上拖放和调用PowerBI工具来查询和创建可视化数据,从而减少总投资成本。选择云数据仓库用例时要考虑的因素用户独特的操作环境和用例通常是评估数据仓库提供商的关键因素之一。例如,使用JSON的企业可能更喜欢Snowflake,毕竟它为该格式提供了本机支持。没有专门数据管理员的小型组织可能会避免使用Redshift,因为它需要定期监控和配置。在这方面,具有即插即用设置(plug-and-play)的服务可能更适合他们。支持实时工作负载许多公司需要在数据生成后立即对其进行分析。例如,一些公司可能需要实时检测各种欺诈或安全问题,而另一些公司可能需要处理海量物联网(IoT)数据流以进行异常检测。在这方面,IT团队应该重点评估云数据仓库如何处理数据流的摄取。例如:BigQuery提供了流式API,用户只需要几行代码就可以完成调用。Azure提供了一些选项,例如内置的ApacheSpark流式处理,用于实时数据摄取。Snowflake包括Snowpipe作为实时摄取的附加组件。RedShift需要使用KinesisFirehose来摄取数据流。安全性尽管每个云数据仓库提供商都非常重视安全性,但它们在技术上有所不同,尤其是在处理加密的方式上。例如,BigQuery可以默认加密传输中的数据和静态数据;此功能需要在Redshift中明确启用。计费由于供应商以不同的方式对服务计费,公司需要估计并了解他们希望每月花费多少数据来集成、存储和分析。因此,IT团队可以选择具有成本效益的云数据仓库提供商。例如:Redshift将计算资源和存储捆绑在一起,因此用户需要在接受预购存储和内存容量的前提下选择其简单的定价方案。谷歌根据字节读取、流式插入和存储空间收取服务费。但由于读取的字节数有波动的趋势,BigQuery采用的计费方式是颗粒状的,但其成本却难以预测。AzureSynapse使用数据仓库单元(DWU)的概念来为计算资源定价,以便用户单独为存储付费。Snowflake会根据用户使用虚拟仓库的次数和时长进行计费;而在存储方面,会根据每月使用的TB数单独计费。生态系统生态系统对于应用程序和数据的保留也非常重要。例如:数据已存储在GoogleCloud中的企业可以通过使用BigQuery或Snowflake获得额外的性能提升。同时,由于它们共享相同的基础设施,它们的数据不仅不会在公共互联网上移动,而且其传输路径也会得到更好的优化。数据类型企业经常使用结构化、半结构化和非结构化数据,大多数数据仓库只能支持前两种数据类型。因此,IT团队应确保所选的云仓基础设施能够根据实际需要存储和查询特殊类型的数据。可扩展性既然是云数据仓库,那么评估中就需要考虑存储和性能的可扩展性。对此,Redshift需要用户手动添加更多的节点来增加存储和计算资源。Snowflake具有自动扩缩容功能,可以动态增加或删除每个节点。维护根据公司规模和数据的不同需求,数据仓库应提供自动或人工方式来实现日常管理和维护。小型团队可以选择BigQuery或Snowflake提供的自动优化服务。Redshift等云数据仓库提供了更多的灵活性和可控性,以及手动级别的维护方式,让用户团队可以更好地优化他们的数据资产。总结我们从各种参数、技术规格和定价模型等方面综合比较了四种典型的云数据仓库Snowflake、Redshift、BigQuery和AzureSynapseAnalytics。希望基于以上考虑,您和您的团队能够根据公司业务的实际需求,选择合适的服务商及其产品,让云数仓服务于您公司的产品、营销、销售、和其他部门,推进数据洞察,减少盲目猜测,为激烈的竞争优势铺平道路。原标题:CloudDataWarehouseComparison:RedshiftvsBigQueryvsAzurevsSnowflakeforReal-TimeWorkloads,作者:MarianaPark