首页 > 其他分享 >「数据仓库」怎么选择现代数据仓库?

「数据仓库」怎么选择现代数据仓库?

时间:2023-02-26 14:00:34浏览次数:41  
标签:可伸缩性 Redshift 数据仓库 BigQuery 选择 现代 定价 Snowflake


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

「数据仓库」怎么选择现代数据仓库?_hive

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

标签:可伸缩性,Redshift,数据仓库,BigQuery,选择,现代,定价,Snowflake
From: https://blog.51cto.com/jiagoushipro/6086458

相关文章

  • 简单选择排序
    classSelectSort{publicvoidsort(int[]a){for(inti=0;i<a.length-1;i++){//一共进行n-1趟intmin=i;//记录最小元素位置......
  • 为什么会那么多人会选择Microsoft 365
    越来越多的中小型企业都选择了微软,Microsoft365就像一个生态系统,允许客户无缝集成多个产品,您只需单击一下即可从一个产品跳转到另一个产品。但管理它们能是一个很大的挑战......
  • 【基础算法】简单排序-选择排序
    【基础算法】简单排序-选择排序将待排序数组分成有序部分和无序部分,无序部分初始长度为0,每次遍历有序部分,找到有序部分最小(最大)的数,和无序部分第一个数进行交换,使其变成有......
  • 数字彩色图像的水印嵌入仿真,带GUI界面,可以选择图片和水印,可以选择不同的攻击方式验
    1.算法描述      随着互联网的普及和数字技术的广泛应用,数字产品变得极大丰富并且传播便捷,同时版权保护问题也日益突出。传统的信息安全技术在数字产品版权保护方面......
  • SkeyePlayer RTSP Windows播放器D3D,GDI的几种渲染方式的选择区别 (2)
    SkeyePlayerRTSPwindows播放器支持D3D和GDI两种渲染方式,其中D3D支持格式如下:DISPLAY_FORMAT_YV12DISPLAY_FORMAT_YUY2DISPLAY_FORMAT_UYVYDISPLAY_FORMAT_......
  • scoped属性和深度选择器
    1.scoped属性的作用:加上scoped属性的作用是---样式只对当前组件有效。对于某个组件,如果style加上scoped属性,即:给当前子组件的结构中都添加上一个data-v-xxx自定义属性,会发......
  • 选择最佳机器学习模型的10步指南
    机器学习可以用来解决广泛的问题。但是有很多多不同的模型可以选择,要知道哪一个适合是一个非常麻烦的事情。本文的总结将帮助你选择最适合需求的机器学习模型。完整文章:......
  • Java线上培训班咋样,是可以选择学习的吧
    学习Java这样专业的编程技术,还是给考虑参加培训才行,但很多同学本身是在校大学生以及在职人员,受到时间和地域的限制,无法做到脱产的面授学习,于是大家都将希望看向了Java线上......
  • Git从入门到实践,掌握现代软件开发必备工具!
    如何学习Git?学习Git需要耐心和练习。通过反复练习和尝试,你将更好地掌握Git的使用。在学习的时候可以参考一下方法! 学习目录:1、了解Git的基本概念Git是一个版本控......
  • 深入学习jquery源码之继承方案的选择
    prototype实现继承原型链继承的主要思想是:让子类型的引用指向父类型的实例。每次在函数(类)中定义了成员方法,都会导致实例有副本,因此可以借助prototype原型,进行改进先访问自己......