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

news2024/9/25 15:29:19

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

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】超级架构师首席架构师智库



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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/356252.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[SSD科普之1] PCIE接口详解及应用模式

PCI-Express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准,它原来的名称为“3GIO”,是由英特尔在2001年提出的,旨在替代旧的PCI,PCI-X和AGP总线标准。一、PCI-E x1/x4/x8/x16插槽模式PCI-E有 x1/…

day20_经典接口(Comparable丶Comparator)

由来 我们知道基本数据类型的数据(除boolean类型外)需要比较大小的话,之间使用比较运算符即可,但是引用数据类型是不能直接使用比较运算符来比较大小的。那么,如何解决引用类型比较大小的问题? java.lang…

基于Spring、Spring MVC、MyBatis的房屋销售购买系统

文章目录项目介绍主要功能截图:登录前台首页后台首页房屋区域管理出租房屋审核账号管理部分代码展示设计总结项目获取方式🍅 作者主页:Java韩立 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题…

vTESTstudio - VT System CAPL Functions - VT2004(续2)

不要沮丧,不必惊慌,做努力爬的蜗牛或坚持飞的笨鸟,我们试着长大,一路跌跌撞撞,哪怕遍体鳞伤。vtsSetPWMVoltageLow - 设置PWM输出上的低电压功能:指定数字输出信号(尤其是PWM信号)输…

2023年美赛C题Wordle预测问题一建模及Python代码详细讲解

相关链接 (1)2023年美赛C题Wordle预测问题一建模及Python代码详细讲解 (2)2023年美赛C题Wordle预测问题二建模及Python代码详细讲解 (3)2023年美赛C题Wordle预测问题三、四建模及Python代码详细讲解 &…

史密斯圆图

在射频、微波中,常常使用史密斯圆图来做阻抗匹配。在不涉及复杂的数学推导,仍能把圆图用起来。 比如,共轭匹配。 RL1jX,需要找到-jX来抵消jX,消掉虚部之后,只留下实部,最终等效为RL‘1。 史密…

Android 基础知识4-2.7 RelativeLayout(相对布局)

一、RelativeLayout的概述 RelativeLayout(相对布局)是一种根据父容器和兄弟控件作为参照来确定控件位置的布局方式。在很多时候,线性布局还不能满足我们的需求,比如,我们在一行(列)上显示多个控…

C#反射原理

一、前言反射(Reflection)的内容在博客中已经写了一篇,什么是反射,反射的使用,反射优缺点总结;在面试中突然被问道反射的原理,按照理解反射就是在Reflection命名空间和对象的Type对象获取类的方…

Innodb索引还不清楚?看这一篇就够啦

1. 索引是什么 1.1 初识索引 ------------------- | id | name | age | ------------------- | 1 | 帅哥1 | 30 | | 2 | 帅哥2 | 18 | | 3 | 帅哥3 | 25 | | 4 | 帅哥4 | 21 | | 5 | 帅哥5 | 29 | | 6 | 帅哥6 | 35 | -------------------…

基于飞桨PaddleClas完成半导体晶圆图谱缺陷种类识别

wolfmax老狼,飞桨领航团无锡团团长,飞桨开发者技术专家(PPDE),AICA六期学员,某半导体CIM软件集成商图像算法工程师,主要研究方向为图像检测、图像分割等算法。• 作者AI Studio主页https://aist…

Android开发:Activity启动模式

1.怎样设置Activity的启动模式 可以在清单文件中自己添加活动的启动模式, android : launchMode"standard", 不写的话系统默认就是标准模式. 2.启动模式 2.1.默认启动模式 标准启动模式就是栈, 打开一个活动就将活动压入栈中, 返回就将活动退出栈中. 不同的Activit…

老大react说:schedule,我们今年的小目标是一个亿

hello,这里是潇晨,今天来讲个故事 讲个故事: 从前,有家z公司,z公司的ceo叫react,它收下有个小弟或者叫小leader,schedule schedule每天负责消化老大react画的大饼,然后将拆解成一…

如何开始写Python爬虫?给入门Python小白一条清晰的学习路线

记录一下我自己从零开始写Python爬虫的心得吧! 我刚开始对爬虫不是很了解,又没有任何的计算机、编程基础,确实有点懵逼。从哪里开始,哪些是最开始应该学的,哪些应该等到有一定基础之后再学,也没个清晰的概…

Java程序怎么运行?final、static用法小范围类型转大范围数据类型可以吗?

文章目录1.能将int强制转换为byte类型的变量吗?如果该值大于byte类型的范围,将会出现什么现象?2. Java程序是如何执行的?3.final 在 Java 中有什么作用?4.final有哪些用法?5.static都有哪些用法?1.能将int强制转换为…

Rust学习入门--【16】Rust 借用所有权 Borrowing / 引用

系列文章目录 Rust 语言是一种高效、可靠的通用高级语言,效率可以媲美 C / C 。本系列文件记录博主自学Rust的过程。欢迎大家一同学习。 Rust学习入门–【1】引言 Rust学习入门–【2】Rust 开发环境配置 Rust学习入门–【3】Cargo介绍 Rust学习入门–【4】Rust 输…

KubeSphere 社区双周报 | OpenFunction 集成 WasmEdge | 2023.02.03-02.16

KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过 commit 的贡献者,并对近期重要的 PR 进行解析,同时还包含了线上/线下活动和布道推广等一系列社区动态。 本次双周报涵盖时间为:2023.02.03-2023.…

众德全自动批量剪辑工具,批量去重伪原创视频,全自动合成探店带货等视频

众德全自动批量剪辑工具已连续更新两年,服务了大大小小的自媒体公司工作室共200多个,成就了几百个草根创业者,实现月入10万,自从创办众德传媒之前,我一直坚信自媒体才是年轻草根创业者的出路,不需要技术门槛…

整合K8s+SpringCloudK8s+SpringBoot+gRpc

本文使用K8s当做服务注册与发现、配置管理&#xff0c;使用gRpc用做服务间的远程通讯一、先准备K8s我在本地有个K8s单机二、准备service-providerpom<?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.…

2023年PMP考试教材有哪些?(含pmp资料)

PMP考试教材是《PMBOK指南》&#xff0c;但这次的考试因为大纲的更新&#xff0c;而需要另外的敏捷书籍来备考。且官方发了通知&#xff0c;3、5月还是第六版指南&#xff0c;8月及8月之后&#xff0c;使用第七版教材。 新版考纲将专注于以下三个新领域: 人 – 强调与有效领导项…

java设计模式——观察者模式

概述 定义:又被称为发布-订阅(Publish/Subscribe)模式&#xff0c;它定义了一种一对多的依赖关系&#xff0c;让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时&#xff0c;会通知所有的观察者对象&#xff0c;使他们能够自动更新自己。 结构 在观察者模式…