我是靠谱客的博主 可耐小天鹅,最近开发中收集的这篇文章主要介绍「数据仓库」怎么选择现代数据仓库?数据量将tb级的数据从Postgres加载到BigQuery本地和云可伸缩性ETL vs ELT:考虑到数据仓库的发展定价结论,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

构建自己的数据仓库时要考虑的基本因素

daf667496305f08fec4a7c215dc00264.jpeg

我们用过很多数据仓库。当我们的客户问我们,对于他们成长中的公司来说,最好的数据仓库是什么时,我们会根据他们的具体需求来考虑答案。通常,他们需要几乎实时的数据,价格低廉,不需要维护数据仓库基础设施。在这种情况下,我们建议他们使用现代的数据仓库,如Redshift, BigQuery,或Snowflake。

大多数现代数据仓库解决方案都设计为使用原始数据。它允许动态地重新转换数据,而不需要重新摄取存储在仓库中的数据。

在这篇文章中,我们将深入探讨在选择数据仓库时需要考虑的因素。在这里,他们是:

  • 数据量

  • 专门负责人力资源的支持和维护

  • 可伸缩性:水平与垂直

  • 定价模型

数据量

您需要知道将要处理的数据量的估计。如果您使用的数据集的范围是数百tb或pb,那么强烈建议使用非关系数据库。这类数据库的架构支持与庞大的数据集的工作是根深蒂固的。

另一方面,许多关系数据库都有非常棒的经过时间验证的查询优化器。只要您的数据集适合于单个节点,您就可以将它们视为分析仓库的选项。

让我们看看一些与数据集大小相关的数学:

将tb级的数据从Postgres加载到BigQuery

  • Postgres、MySQL、MSSQL和许多其他RDBMS的最佳点是在分析中涉及到高达1TB的数据。如果超过此大小,则可能会导致性能下降。

  • Amazon Redshift、谷歌BigQuery、SnowflPBake和基于hadoop的解决方案以最优方式支持最多可达多个PB的数据集。

本地和云

要评估的另一个重要方面是,是否有专门用于数据库维护、支持和修复的资源(如果有的话)。这一方面在比较中起着重要的作用。

如果您有专门的资源用于支持和维护,那么在选择数据库时您就有了更多的选择。

您可以选择基于Hadoop或Greenplum之类的东西创建自己的大数据仓库选项。这些系统确实需要大量的安装、维护工程资源和熟练的人员。

但是,如果您没有任何用于维护的专用资源,那么您的选择就会受到一些限制。我们建议使用现代的数据仓库解决方案,如Redshift、BigQuery或Snowflake。作为管理员或用户,您不需要担心部署、托管、调整vm大小、处理复制或加密。您可以通过发出SQL命令开始使用它。

可伸缩性

当您开始使用数据库时,您希望它具有足够的可伸缩性来支持您的进一步发展。广义上说,数据库可伸缩性可以通过两种方式实现,水平的或垂直的。

水平可伸缩性指的是增加更多的机器,而垂直可伸缩性指的是向单个节点添加资源以提高其性能。

Redshift提供了简单的可伸缩选项。只需单击几下鼠标,就可以增加节点的数量并配置它们以满足您的需要。在一次查询中同时处理大约100TB的数据之前,Redshift的规模非常大。Redshift集群的计算能力将始终依赖于集群中的节点数,这与其他一些数据仓库选项不同。

这就是BigQuery这样的解决方案发挥作用的地方。实际上没有集群容量,因为BigQuery最多可以分配2000个插槽,这相当于Redshift中的节点。另外,由于这种多租户策略,即使当客户的并发性需求增长时,BigQuery也可以与这些需求无缝伸缩,如果需要,可以超过2000个插槽的限制。

BigQuery依赖于谷歌最新一代分布式文件系统Colossus。Colossus允许BigQuery用户无缝地扩展到几十PB的存储空间,而无需支付附加昂贵计算资源的代价。

ETL vs ELT:考虑到数据仓库的发展

Snowflake构建在Amazon S3云存储上,它的存储层保存所有不同的数据、表和查询结果。因为这个存储层被设计成完全独立于计算资源的可伸缩性,它确保了可以毫不费力地为大数据仓库和分析实现最大的可伸缩性。

除此之外,Snowflake还提供了几乎任何规模和并发性的多个虚拟仓库,可以同时对相同的数据进行操作,同时完全强制执行全局系统范围的事务完整性,并保持其可伸缩性。

定价

如果您使用像Hadoop这样的自托管选项,那么您的定价将主要由VM或硬件账单组成。AWS提供了一种EMR解决方案,在使用Hadoop时可以考虑这种方案。

再深入研究Redshift、BigQuery和Snowflake,他们都提供按需定价,但每个都有自己独特的定价模式。

亚马逊红移提供三种定价模式:

  • 按需定价:无需预先承诺和成本,只需根据集群中节点的类型和数量按小时付费。这里,一个经常被忽略的重要因素是,税率确实因地区而异。这些速率包括计算和数据存储。

  • 频谱定价:您只需为查询Amazon S3时扫描的字节付费。

  • 保留实例定价:如果您确信您将在Redshift上运行至少几年,那么通过选择保留实例定价,您可以比按需定价节省75%。

谷歌BigQuery提供可伸缩、灵活的定价选项,并对数据存储、流插入和查询数据收费,但加载和导出数据是免费的。BigQuery的定价策略非常独特,因为它基于每GB存储速率和查询字节扫描速率。此外,它提供了成本控制机制,使您能够限制您的每日成本数额,您选择。它还提供了一个长期定价模式。

Snowflake提供按需定价,类似于BigQuery和Redshift Spectrum。与BigQuery不同的是,计算使用量是按秒计费的,而不是按扫描字节计费的,至少需要60秒。Snowflake将数据存储与计算解耦,因此两者的计费都是单独的。

标准版的存储价格从40美元/TB/月开始,其他版本的存储价格也一样。另一方面,对于计算来说,标准版的价格为每小时2.00美元,企业版为每小时4.00美元。

结论

我们通常向客户提供的关于选择数据仓库的一般建议如下:

  • 当数据总量远小于1TB,每个分析表的行数远小于500M,并且整个数据库可以容纳到一个节点时,使用索引优化的RDBMS(如Postgres、MySQL或MSSQL)。

  • 当数据量在1TB到100TB之间时,使用现代数据仓库,如Redshift、BigQuery或Snowflake。也可以考虑使用Hadoop和Hive、Spark SQL或Impala作为解决方案,如果你有相关的专业知识,你可以分配专门的人力资源来支持它。

  • 当数据量超过100TB时,使用BigQuery、Snowflake、Redshift Spectrum或自托管的Hadoop等效解决方案。


本文https://architect.pub/choosing-between-modern-data-warehouses
讨论:知识星球【首席架构师圈】或者加微信小号【cea_csa_cto】或者加QQ群【792862318】
公众号

【jiagoushipro】
【超级架构师】
精彩图文详解架构方法论,架构实践,技术原理,技术趋势。
我们在等你,赶快扫描关注吧。
feb60165affc3cb9baf2c9eb77933bb0.jpeg
微信小号

【cea_csa_cto】
50000人社区,讨论:企业架构,云计算,大数据,数据科学,物联网,人工智能,安全,全栈开发,DevOps,数字化.

b0054d1f69efb2a0d10f50bd0b6effc1.jpeg

QQ群

【792862318】深度交流企业架构,业务架构,应用架构,数据架构,技术架构,集成架构,安全架构。以及大数据,云计算,物联网,人工智能等各种新兴技术。
加QQ群,有珍贵的报告和干货资料分享。

e2001432ab23d39e274c49466b35c466.jpeg

视频号【超级架构师】
1分钟快速了解架构相关的基本概念,模型,方法,经验。
每天1分钟,架构心中熟。

7ad54e605bf9630061ecf33480907445.jpeg

知识星球向大咖提问,近距离接触,或者获得私密资料分享。知识星球【首席架构师圈】
喜马拉雅路上或者车上了解最新黑科技资讯,架构心得。【智能时刻,架构君和你聊黑科技】
知识星球认识更多朋友,职场和技术闲聊。知识星球【职场和技术】
微博【智能时刻】智能时刻
哔哩哔哩【超级架构师】
抖音【cea_csa_cto】超级架构师
快手【cea_csa_cto】超级架构师
小红书【cea_csa_cto】超级架构师首席架构师智库



谢谢大家关注,转发,点赞和点在看。

最后

以上就是可耐小天鹅为你收集整理的「数据仓库」怎么选择现代数据仓库?数据量将tb级的数据从Postgres加载到BigQuery本地和云可伸缩性ETL vs ELT:考虑到数据仓库的发展定价结论的全部内容,希望文章能够帮你解决「数据仓库」怎么选择现代数据仓库?数据量将tb级的数据从Postgres加载到BigQuery本地和云可伸缩性ETL vs ELT:考虑到数据仓库的发展定价结论所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部