在数据分析的动态环境中,选择分析平台可以显着影响您的企业利润。在这篇教育文章中,我们将探索三个重量级分析竞争者:Snowflake、BigQuery 和 ClickHouse。我们将深入研究他们的成本模型并揭示有价值的策略,以帮助您掌握经济高效的分析艺术 - 这是一个探索可以改变您的数据游戏的见解的旅程!
为了在数据分析中做出经济有效的决策,理解分析数据库管理系统 (DBMS) 背后的成本模型至关重要。一个常见的起点是检查基于云的业务的成本结构。
因此,首先,我们来谈谈基于云的分析数据库以及它们在云中运行时如何处理成本。想象一下:现在是 2013 年之前,建立数据仓库可能需要长达几个月的时间来处理多个供应商、硬件瓶颈和配置问题。随后, 2013 年推出了 Amazon Redshift ,您只需一张信用卡即可在 20 分钟内启动数据仓库,这是一个巨大的飞跃。这为其他基于云的数据仓库(如BigQuery 、 Snowflake和运行 Snowflake 的云服务)铺平了道路。
大多数开发人员一开始收到云账单就了解成本效率的重要性。例如,您可以在 BigQuery 上运行长时间运行的查询,最终会花费数百甚至数千美元。取自以下 tweet/X 帖子;这并不是一个孤立的事件。
我们最近举办了一次网络研讨会,进一步详细讨论了这个主题,Robert Hodges(Altinity Inc. 首席执行官)深入分析了每个选项的成本,并在最后向您展示了替代的 DIY 解决方案。阅读完本文后,请随意观看该网络研讨会的点播录像!
因此,让我们深入了解这些数据库的工作原理,更重要的是,它们如何定价其服务。
我们将从 Snowflake 开始,但在讨论其架构之前,我们先谈谈业务。 Snowflake 作为一家上市公司,让我们有机会了解其财务状况。在最近的一份报告中,他们的总收入高达 20 亿美元。有趣的是提供服务的成本约为 7.17 亿美元。这个成本,也称为销售成本,是 Snowflake 运作的成本。
了解运行 Snowflake 云服务的成本就像一场隐藏的寻宝活动。如果你仔细算一下数字,你会发现这大约占他们总收入的三分之一,甚至更多一点。因此,简单来说,如果所有成本都直接用于支付他们的云费用,而不是其他任何费用,那么他们向您收取费用时会将费用提高大约三倍。
但当然,事情没那么简单!运行 Snowflake 这样的强大引擎的实际成本不仅仅是运行虚拟机和在 Amazon S3 中存储数据。现在,如果我们再次计算一下,他们的成本加成是多少?更像是5倍。
这是一个可以放在后兜里的漂亮基准。如果某样东西的加价超过 5 倍,那么它在 Snowflake 的定价世界中就占据了很大的地位。另一方面,如果低于 5 倍,您就会寻找更经济实惠的选择。这就像拥有一个秘密解码器环来破译成本之谜。
为了掌握经济高效的分析,让我们剖析 Snowflake、BigQuery 和 ClickHouse 的成本模型。
现在,让我们来分析一下 Snowflake 的成本。他们使用“虚拟数据仓库”模型,您的数据驻留在 S3 对象存储中。当您运行 SQL 查询时,您将创建由积分支持的虚拟数据仓库,本质上是从存储中提取数据的托管处理单元。这些虚拟机的定价范围约为 2-4 美元/小时(如其定价中所列)。请记住:这不是最节俭的选择。
如果不是因为这个有趣的转折,我们的 Snowflake 成本分析就结束了:Snowflake 最近的一个错误揭示了虚拟数据仓库的积分通常转化为 c5d2x 大型实例,每小时花费约 38 美分。值得注意的是,Snowflake 并没有大幅提高对象存储的价格,其定价为每月每 TB 23-40 美元,与亚马逊的 S3 成本类似。相反,真正的标记发生在计算中,其成本可能比存储贵 5 到 10 倍。
让我们仔细看看 BigQuery,云数据库分析领域的另一个重量级产品。 BigQuery 提供了一种独特的定价模型,称为“无服务器”或“按需”。在此设置中,您将数据存储在独特的分布式存储系统上,而不是大多数云服务使用的典型对象存储上。然而,定价相当有竞争力,与对象存储费率类似,至少对于未压缩数据而言是这样。存储价格为每月每 GB 0.016-0.023 美元,现在更加经济实惠。
问题在于:当您运行查询时,BigQuery 会根据需要动态分配计算资源。在查询处理期间扫描的每 TB 数据将收取 6.25 美元的费用。这种定价结构意味着,即使是看似无害的查询,如果涉及从分布式存储扫描大量数据,也会增加成本。
现在,将 BigQuery 成本与标准云资源进行比较并不简单。您的实际费用取决于各种因素,例如运行查询的频率和数据存储方法。例如,如果您偶尔运行查询,BigQuery 可能会更具成本效益。但如果您全天候 (24/7) 运行查询,则成本可能会很高。因此,了解您的工作量并仔细评估您的实际成本至关重要。
我们之前讨论的模型通常依赖于对象存储或非常类似的东西来进行数据处理。然而,还有另一种云数据库操作方法,该方法最初由Redshift于十年前引入。我们将其称为“即买即用”模式。
事情是这样的:您租用一台虚拟机 (VM ),例如 dc28x large,它附带附加的 SSD 块存储。例如,在 Amazon us-west-2 中,该虚拟机每小时的费用约为 4.80 美分。现在,让我们来分解一下实际成本。该虚拟机可能对应于 i38x 大型实例,这是一种较旧的 Amazon 实例类型,配有本地 SSD 存储。此类实例的成本约为每小时 2.50 美元,提供几乎相同数量的 RAM。
就标记而言,与您自己设置类似的虚拟机相比,Redshift 的成本要高 92%,而提供的存储空间要少 66%。有趣的是,与其他一些服务(例如 Snowflake)相比,Redshift 的加价相对较低,后者往往对计算资源收取更高的费用。
为了改进以前的模型以提高成本效率,我们首先向您介绍 ClickHouse。它是一个免费、知名、开源、实时分析数据库。 ClickHouse 的架构围绕能够无缝数据复制的互连服务器,尤其是复制表。该系统采用高效的列式存储,其中数据驻留在压缩数组中,不仅降低了存储成本,还提高了查询性能。
最初,ClickHouse 仅限于块存储,但它已经发展到支持 S3 兼容的对象存储,使其具有多功能性并且可以与任何配备 S3 API 的对象存储解决方案集成。为了有效管理复制共识,ClickHouse 依赖 ClickHouseKeeper 或 ZooKeeper。
您可以阅读有关 Clickhouse 的更多信息
现在,让我们将其设想为一种云服务范例,我们将其称为“现代化的即买即用”。下图左边是传统的Redshift架构,右边是我们拥抱创新的架构。我们用更快的基于 Intel 的 m6is 替换了旧的 i3 实例,从而显着提高了速度。改变游戏规则的是 EBS(弹性块存储)gp3 存储的使用,可以控制带宽和吞吐量。再加上类似于 Redshift 的高效虚拟机,每小时的成本约为 2.64 美分。
真正的魔力发生在存储和计算的分离上。这种灵活的方法使您可以轻松调整 CPU 和 VM 类型,同时保持相同的存储,从而允许按比例增加或减少成本。我们在 Altinity.Cloud 管理 ClickHouse 应用程序的经验反映了这种效率。
在下图中,您将看到以下内容的全部按需成本:
总而言之,我们探索了三种云托管分析数据库模型及其成本影响。在我们的比较中,我们创建了一个钱包大小的表格,以清楚地表明这些模型如何相互比较。
“Buy-the-Box”方法提供了具有成本效益的计算,但由于块存储的使用而导致存储价格更高。另一方面,Snowflake 和 BigQuery 提供经济的存储,但在不同方面可能成本高昂。 Snowflake 在计算方面往往相对昂贵,而 BigQuery 的按需查询模型在处理大量数据扫描时可能会变得昂贵。每个模型都有其优点和缺点,因此必须使其与您的特定分析需求保持一致。 “即买即用”适合具有不可预测工作负载的面向客户的分析,而虚拟数据仓库模型和 BigQuery 在特定场景中表现出色,但需要仔细的成本管理以避免意外。此概述可帮助您有效地浏览景观。
在分析方面,成本效率至关重要。了解 Snowflake、BigQuery 和 ClickHouse 等流行平台的成本模型对于做出明智的决策至关重要。通过评估每个平台的优势和劣势并考虑其成本结构,组织可以根据其特定需求制定经济高效的分析解决方案。利用开源解决方案和教育资源可以进一步优化成本,确保组织在关注预算的同时实现其分析目标。
本文源自Altinity.com网络研讨会。