云数据仓库实践:AWS Redshift在大数据储存分析上的落地经验分享

这篇具有很好参考价值的文章主要介绍了云数据仓库实践:AWS Redshift在大数据储存分析上的落地经验分享。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

云数据仓库实践:AWS Redshift在大数据储存分析上的落地经验分享,数据库与数据仓库,数据仓库,aws,大数据,Redshift,原力计划

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。
🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。
🏆本文已收录于PHP专栏:数据库与数据仓库
🎉欢迎 👍点赞✍评论⭐收藏


🚀一、关于数据仓库

数据仓库是用于存储、管理和分析组织内部和外部数据的集中化系统。它的主要作用是将多个数据源中的结构化和非结构化数据整合到一个统一的位置,以便进行跨部门的数据分析和决策支持。数据仓库还具有以下几个重要的作用:

云数据仓库实践:AWS Redshift在大数据储存分析上的落地经验分享,数据库与数据仓库,数据仓库,aws,大数据,Redshift,原力计划

🔎1.1 数据整合与一致性

数据仓库将来自不同数据源的数据进行整合,并保持数据的一致性和准确性,确保用户可以从一个统一的位置访问和分析数据。

🔎1.2 支持复杂查询和分析

数据仓库提供强大的查询和分析功能,使用户能够进行复杂的数据挖掘、统计分析和报表查询,以发现数据中的模式、关联和趋势。

🔎1.3 提高决策支持能力

数据仓库为组织的决策层提供实时和历史数据的分析报告,支持企业管理者做出准确的决策和制定战略。

一些成熟的大数据仓库产品包括AWS RedshiftGoogle BigQueryMicrosoft Azure Synapse AnalyticsIBM Db2 Warehouse 等,他们的主要特点如下:

云数据仓库实践:AWS Redshift在大数据储存分析上的落地经验分享,数据库与数据仓库,数据仓库,aws,大数据,Redshift,原力计划
这些大数据仓库产品在架构、性能、可扩展性、集成能力、安全性等方面有所差异。具体选择哪种产品取决于组织的需求、预算、数据规模和技术栈等因素。在下表中,我们展示了这些产品的一些主要特点和区别。
云数据仓库实践:AWS Redshift在大数据储存分析上的落地经验分享,数据库与数据仓库,数据仓库,aws,大数据,Redshift,原力计划
我们实际真的的企业业务可能非常复杂,这就需要一款非常贴合场景的数据仓库产品来更好的做数据驱动。

云数据仓库实践:AWS Redshift在大数据储存分析上的落地经验分享,数据库与数据仓库,数据仓库,aws,大数据,Redshift,原力计划

当然国内也有用到的比较多的例如HiveClickHouse等数据产品,都能够解决一些特定领域的问题,今天本文重点论述一下aws上这一款云数据仓库Redshift,是众多使用aws作为云服务并且用到数据仓库的首选产品。

🚀二、AWS Redshift的特点

AWS Rdshift是亚马逊网络服务(Amazon Web Services)提供的一种完全托管的云数据仓库解决方案。它是基于列存储的关系型数据库,专门用于处理大规模数据集Redshift旨在通过实现高度可扩展的并行查询引擎,支持高性能的数据分析和报表查询。

云数据仓库实践:AWS Redshift在大数据储存分析上的落地经验分享,数据库与数据仓库,数据仓库,aws,大数据,Redshift,原力计划

以下是Redshift的主要特点和优势:

🔎2.1 高性能

Redshift利用列存储方式、压缩、并行化查询等技术,提供了出色的查询性能。它可以在大规模数据集上执行复杂的分析查询,支持高并发访问。

🔎2.2 弹性扩展

Redshift可以根据需求自动扩展存储和计算资源,以应对不同规模的数据工作负载。这种弹性扩展的能力使其适用于处理大量数据的情况。

🔎2.3 完全托管

Redshift是一种完全托管的云服务,AWS负责处理硬件和软件的配置、管理和维护。用户无需关心底层的基础设施管理,可以专注于数据分析和查询。

🔎2.4 安全性

Redshift提供了一系列安全性功能,包括数据加密、访问控制和网络隔离。这有助于保护数据的机密性和完整性。

🔎2.5 一体化分析解决方案

Redshift可以与其他 AWS 服务(如S3Glue)以及第三方工具(如TableauPowerBI)无缝集成,为用户提供一体化的分析解决方案。

🚀三、RedShift的常见实践问题解答

🔎3.1 RedShift和MySQL有什么不同?

云数据仓库实践:AWS Redshift在大数据储存分析上的落地经验分享,数据库与数据仓库,数据仓库,aws,大数据,Redshift,原力计划

下面是使用Markdown表格展示Redshift和MySQL的不同之处:

方面 Redshift MySQL
架构 列存储 行存储
主要用途 数据仓库解决方案,大规模数据分析和报表查询 在线事务处理(OLTP)和常规关系型数据库需求
数据处理能力 处理大规模数据集和复杂查询,适用于数据分析和报表 低延迟和高并发处理能力,适用于在线交互式应用和事务处理
扩展性 自动扩展存储和计算资源,弹性扩展能力 需手动进行水平或垂直扩展
托管方式 由AWS完全托管,无需自行管理和维护 可自行部署在服务器上,也可选择云托管服务
数据一致性 较弱的数据一致性和事务支持 强大的事务支持和数据一致性保证

需要注意的是,RedshiftMySQL使用的查询语言不同。Redshift使用的是类似于PostgreSQLSQL方言,而MySQL使用的是标准的SQL语言。不过大部分情况下是通用的。

🔎3.2 RedShift实现怎删改查怎么写?

这个和主流的关系型数据库差不多。大家可以参见我这一篇文章AWS RedShift实战应用SQL大全及经验分享。

🔎3.3 怎么把MySQL的数据放进RedShift?

RedShiftAWS s3结合的非常好,可以利用mydumperMySQL数据导出后,处理成一定规则的数据文件,传输到s3,然后通过Copy命令直接拷贝到RedShift。拷贝的命令如下:

copy student_score from 's3://xxxx/student_score/'
access_key_id '' 
secret_access_key '' 
ACCEPTINVCHARS AS ' ' TRUNCATECOLUMNS IGNOREBLANKLINES delimiter '\t' 
gzip region 'us-east-1'
-- 其中注意delimiter要根据实际文件里面的分隔符来确定

🔎3.4 RedShift为什么很多时候会插入失败?

Redshift提倡大批次处理插入,如果批次太小很频繁可能会导致写入失败,这个时候建议先将数据放入缓冲区或者文件,然后文件积累到一定量,在通过上面说到的Copy命令到数据库,这才是一个最佳实践。

🔎3.5 RedShift如何进行查询优化?

首先查询的时候要保证表的量够小,所以要使用一些任务调度的方式,将大表转化成小表,尤其是行为数据这种表,实际上很多业务查询的时候用不到这一整张表,这个时候需要我们独立成特定的小表。另外注意要关注整个数仓的负载,当别的任务执行过多的时候,当前任务的算力必然会被分担。

🔎3.6 RedShift能做实时数仓与实时计算么?

云数据仓库实践:AWS Redshift在大数据储存分析上的落地经验分享,数据库与数据仓库,数据仓库,aws,大数据,Redshift,原力计划
当然这是可以的,不过要借助一些其他的工具和技术来实现。毕竟数据从产生到进入数据仓库还是要经过一系列的过程。下面是一些实践的用法:
云数据仓库实践:AWS Redshift在大数据储存分析上的落地经验分享,数据库与数据仓库,数据仓库,aws,大数据,Redshift,原力计划

🔎3.7 电商网站可以用Redshift存储数据么?

完全OK的,Redshift的查询是要先解释查询语句才能进行查询,查询的速度还是比较慢的,比MySQL或者说Clickhoue慢的多,当然这个说法不一定准确,但你应该能了解我的意思,所以给网站服务一般还是不能直接查Redshift,还是得依赖一些缓存作为支撑,不过这个取决于具体的业务设计。行为数据如何进库,参考我上面提到的方式。

🔎3.8 Redshift支持多大规模的存储?

AWS官方宣传的是PB级别的存储,目前我们的规模在几百TB,每天支撑数百亿级别的数据清洗,数据分析,数据挖掘任务,还是比较可以的,对大量报表以及系统业务做到了不错的支撑。

🔎3.9 如何维护数据库的数据正确性?

如果要把业务数据库的数据放进Redshift,可以通过在业务库放一个last_update_time字段,通过这个字段的变化来增量同步数据进去,如果实在不放心,也可以每天进行一次全量数据覆盖,先删除再写入,这样配合起来用,同时也可以抽样进行两边的数据对比,进行一个数据监控。

🚀四、常见的一些数据库操作分享

🔎4.1 创建表

Redshift有自己独特的建表语句,大体上看上去,和常见的关系型数据库差不多,另外它可以定义索引,但是不具备索引约束

CREATE TABLE "public"."users" (
  "user_id" "int4",
  "name" "varchar",
  "gender" "int4",
  "age" "numeric"
)
WITH OIDS;

🔎4.2 数据的增删改查

增删改查和MySQL差不多

-- 增加数据
insert into users(user_id, name, gender, age) 
values (1, 'xiaomin', '男', '12');

--查询数据
select * from users where name='xiaoming';

--修改数据
update users set age=13 where name = 'xiaoming';

--删除数据
delete from users where name='xiaoming';

🔎4.3 判断语句

case when很多时候用来代替if,下面演示统计学生的name,如果为null或空字符串,用unkonw显示

select 
   case when name is null then 'unkown' 
        when name = '' then 'unkown'
        else name end as name 
from users

🔎4.4 类型转化

Redshift是强类型的,这点和MySQL还是有些区别,因为其底层是Java的,所以查询及匹配要求类型对应。

cast(create_time as timestamp) -- 字符串转化为时间戳
cast(student_id as interger) -- 将字符串转化为整形

🔎4.5 数值运算

下面演示了一个求客单价的逻辑,用户总用的消费金额/总共用户数得到客单价,最后再四舍五入规范一下数据。

-- 这里演示类型转化的除法运算,以及保留两位小数的用法
select 
  cast(total_amount as numeric)/cast(total_users as numeric) as avg_user_amount,
  round(avg_user_amount, 2) as avg_user_amount1
  from ···

🔎4.6 字符串操作

字符串拼接,下面用||将三个字符串进行顺序组合。

select id || '-' || name || '-' || age from id_name_age

字符串截取,下面演示了获取用户名前5个字符的写法。

select substring(name,0,5) from users

大小写转化,下面演示了将用户名转化为小写

select lower(name) as name, age from users

🚀五、总结

本文从主流的数据仓库出发进行讲解,然后重点分析了一下AWS Redshift这款产品的特点,及其在数据分析领域的优劣势。然后根据平时在工作用的实际应用实践,给出了常见的一些疑惑问题解答。最后通过一些日常使用的SQL分享,让大家来初识这一款数据仓库。如果想要深入学习大数据或者数据挖掘,可以继续去官网学习相关技术。

云数据仓库实践:AWS Redshift在大数据储存分析上的落地经验分享,数据库与数据仓库,数据仓库,aws,大数据,Redshift,原力计划

高山仰止,景行行止,学无止境,感谢阅读,我们下次见。文章来源地址https://www.toymoban.com/news/detail-713151.html

到了这里,关于云数据仓库实践:AWS Redshift在大数据储存分析上的落地经验分享的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Apache Spark 的基本概念和在大数据分析中的应用

    Apache Spark是一个开源的大数据分析框架,可以快速高效地处理大规模的数据集。Spark具有以下特点: 快速性: Spark使用内存计算,能够在迭代算法、交互式数据挖掘和实时流处理等场景中表现出色。 灵活性: Spark支持多种编程语言和数据源,包括Java、Scala、Python、R等,可以

    2024年02月10日
    浏览(41)
  • 介绍 Apache Spark 的基本概念和在大数据分析中的应用

    Apache Spark是一种基于内存计算的大数据处理框架,它支持分布式计算,并且能够处理比传统处理框架更大量的数据。以下是Apache Spark的一些基本概念和在大数据分析中的应用: RDD (Resilient Distributed Dataset):RDD是Spark的核心概念,它是一个分布式的、不可变的数据集。RDD可以从

    2024年02月13日
    浏览(45)
  • 介绍 Apache Spark 的基本概念和在大数据分析中的应用。

    Apache Spark 是一个快速的开源大数据处理引擎,可以用于大数据处理、机器学习、图形计算等领域。它可以在多种计算环境中运行,包括独立模式、YARN、Mesos、Kubernetes等云计算平台。 Spark基于RDD(Resilient Distributed Datasets)模型,RDD是一个不可变的分布式对象集合,可通过并行

    2024年02月10日
    浏览(36)
  • Kotlin & Compose Multiplatform 跨平台(Android端、桌面端)开发实践之使用 SQLDelight 将数据储存至数据库

    取标题的时候我还在想,我应该写 Compose 跨平台呢还是写 Kotlin 跨平台。 毕竟对于我的整体项目而言,确实是 Compose 跨平台开发,但是对于我这篇文章要说的东西,那其实也涉及不到多少 Compose 相关的内容,更多的应该是 Kotlin Multiplatform 相关的内容。 二者取舍不下,干脆都

    2024年02月15日
    浏览(38)
  • 使用 Amazon Redshift Serverless 和 Toucan 构建数据故事应用程序

    这是由 Toucan 的解决方案工程师 Django Bouchez 与亚马逊云科技共同撰写的特约文章。 带有控制面板、报告和分析的商业智能(BI,Business Intelligence)仍是最受欢迎的数据和分析使用场景之一。它为业务分析师和经理提供企业的过去状态和当前状态的可视化,帮助领导者制定将影

    2024年02月12日
    浏览(33)
  • ApacheCon - 云原生大数据上的 Apache 项目实践

    Apache 软件基金会的官方全球系列大会 CommunityOverCode Asia(原 ApacheCon Asia)首次中国线下峰会将于 2023 年 8 月 18-20 日在北京丽亭华苑酒店举办,大会含 17 个论坛方向、上百个前沿议题。 字节跳动云原生计算团队在此次 CommunityOverCode Asia 峰会中深度参与并进行相关主题演讲,由

    2024年02月13日
    浏览(32)
  • 银行数据仓库体系实践(1)--银行数据仓库简介

            数据仓库之父比尔(Bill Inmon)在1991年出版的“Building the Data Warehouse”(《建立数据仓库》)一书中所提出的定义被广泛接受:数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的

    2024年01月17日
    浏览(38)
  • 数据仓库建设实践——如何通过数据仓库建设提升效率并确保数据质量

    作者:禅与计算机程序设计艺术 随着互联网经济的快速发展,全球消费者对汽车的需求越来越旺盛。在全球范围内,公共汽车运营商(PSA)正在竞争激烈,包括美国的Tesla、上海的东风、中国的福特等。全球公共汽车市场规模每年呈现爆炸性增长态势。其中,美国曾经的领先地

    2024年02月11日
    浏览(67)
  • 【AWS】如何用SSH连接aws上的EC2实例(虚拟机)?

    目录 0.环境 1.连接结果示例 2.SSH连接思路 3.具体步骤 1)安装并运行ssh服务 2)启动ssh服务 3)在AWS上找到正在运行的EC2实例,并且根据提供的ssh连接语句进行连接 windows 11 64位 前提: 有aws账户(IAM),已经存在一个EC2实例(虚拟机) 首先,需要有AWS账户以及正在运行的EC2实

    2024年02月10日
    浏览(31)
  • 重置aws上的ssh默认登录端口

    aws上的ec2机器,默认ssh的登录都是22,为了防止被黑,记录下修改该默认端口的方法 修改/etc/ssh/sshd_config文件,将Port 22注释去掉 在上面的文件中,加入一行,你想要增加的端口号,格式和22一致 注意: 针对centos7的内核加入了安全机制, 可以通过semanage port -l | grep ssh命令查看

    2024年01月18日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包