限时领|《AI 百问百答》专栏课+实体书(包邮)! 了解详情
写点什么

Amazon Redshift Spectrum – EB 级的 S3 数据就地查询

  • 2019-12-26
  • 本文字数:1803 字

    阅读完需:约 6 分钟

Amazon Redshift Spectrum – EB 级的 S3 数据就地查询

现在,只需单击几下就可以启动基于云的计算和存储资源,而我们面临的新挑战是如何利用这些资源,尽可能快速高效地将原始数据转化为可执行的结果。


Amazon Redshift 允许 AWS 客户构建 PB 级的数据仓库,使来自各种内部和外部源的数据得以整合。由于 Redshift 针对大型表上的复杂查询(通常涉及多个 join)进行了优化,因此它可以毫不费力地处理大量零售、库存和财务数据。加载数据后,我们的客户可以使用由 Redshift 合作伙伴提供的大量企业报告和商业智能工具。运行数据仓库最具挑战性的方面之一是加载的数据是不断变化且可能是快速注入的。为了提供出色的查询性能,将数据加载到数据仓库涉及压缩、规范化和优化步骤。虽然这些步骤可以自动执行和扩展,但加载过程会带来开销和复杂性,还会妨碍那些非常重要的可行结果的生成。此外,数据格式带来了另一个有趣的挑战。某些应用程序会在数据仓库外部以原始形式处理数据,而另一些应用程序则会直接将向数据仓库发出查询。这种模型导致存储效率低下,因为数据必须存储两次,还可能意味着由于加载过程带来的延迟,一种处理形式的结果可能与另一种处理形式的结果不一致。


Amazon Redshift Spectrum


为了让您能够原汁原味地处理数据,同时利用 Amazon Redshift 的强大功能和灵活性,我们推出了 Amazon Redshift Spectrum。您可以使用 Spectrum 对存储在 Amazon Simple Storage Service (S3) 中的数据运行复杂查询,而无需加载或进行其他数据准备。您只需创建数据源,然后像往常一样向您的 Redshift 集群发出查询。在后台,基于您的查询需求,Redshift Spectrum 能够使用数千个实例来利用大规模并行处理,即使您的数据集增长到超过 EB 级,也可以确保您获得快速、一致的性能! 能够查询存储在 S3 中的数据意味着您可以利用 Redshift 查询模型的全部功能以及所有可用的报告和商业智能工具来独立地扩展计算和存储。查询可以引用 Redshift 表和 S3 中存储的数据的任何组合。当您发起查询时,Redshift 会进行解析并生成一个查询计划,该计划将利用面向列的格式以及按日期或其他键值分区的数据,从而最大限度地减少将要读取的 S3 数据量。然后,Redshift 从一个大型共享池中请求 Spectrum 工作线程,并指挥它们投射、筛选和聚合 S3 数据。系统将在 Redshift 集群中执行最终的处理,并将结果返回给您。由于 Spectrum 负责对存储在 S3 中的数据进行操作,因此您可以使用其他 AWS 服务(例如 Amazon EMR 和 Amazon Athena)来处理数据。您还可以部署混合模式,即将频繁查询的数据保存在 Redshift 本地存储中,而将其余数据保存在 S3 中,或者将 维度表与 事实数据表的最新部分一起保存在 Redshift 中,而将较旧的数据保存在 S3 中。为了提高并发级别,您还可以将多个 Redshift 集群指向同一个存储数据。Spectrum 支持开放的常用数据类型,包括 CSV/ TSV、 Parquet、 SequenceFile 和 RCFile。您可以使用 GZip 或 Snappy 压缩文件,更多的数据类型和压缩方法已经在计划中。


Spectrum 的实际应用


为了获得有关 Spectrum 的第一手经验,我加载了一个示例数据集并且运行了一些查询!我首先创建了外部模型和数据库:然后,我在数据库中创建了一个外部表:我运行了一个简单的查询,以便了解数据集的大小(61 亿行):然后,我运行了一个对所有行进行遍历的查询:如您所见,Spectrum 能够在大约 15 秒内浏览全部 60 亿行。我检查了集群的性能指标,看起来我还有足够的 CPU 处理能力来同时运行更多此类查询:


现已推出


现已推出 Amazon Redshift Spectrum,您可以立即开始使用!


Spectrum 定价是基于查询处理期间从 S3 中所抽取的数据量,并按每 TB 5 USD 的价格收费(您可以通过压缩数据和/或以列的方式存储数据,以便节省成本)。您需要支付常规费用来运行 Redshift 集群并将数据存储在 S3 中,但是当您未运行查询时,不会收取 Spectrum 费用。


– Jeff;


PS – 有些用户询问了 Spectrum 与 Athena 之间的关系,以及这两种工具对不同工作负载的适用性。幸运的是,最近更新的 Redshift 常见问题回答了此问题;请参阅应该何时使用 Amazon Athena 与 Redshift Spectrum?,以了解更多信息。


作者介绍:


Jeff Barr


Jeff Barr 是 AWS 的首席宣传官。他于 2004 年创办本博客,此后几乎未间断地撰写文章。


本文转载自 AWS 技术博客。


原文链接:https://amazonaws-china.com/cn/blogs/china/amazon-redshift-spectrum-exabyte-scale-in-place-queries-of-s3-data/


2019-12-26 13:38706

评论

发布
暂无评论
发现更多内容

你真的了解什么是「暴力解法」吗 ...

宫水三叶的刷题日记

面试 算法 LeetCode 数据结构与算法 贪心算法

阿里架构师道延:我对技术架构的理解与架构师角色的思考

阿里巴巴中间件

阿里云 架构 云原生 架构师

滴滴内部分享:如何提高代码的可读性,学习笔记

Java架构师迁哥

产品经理问我:手动创建线程不香吗,为什么非要用线程池呢?

Java鱼仔

Java 线程池

Serverless 躁动背后的 5 大落地之痛

阿里巴巴云原生

Serverless 微服务 开发者 云原生 k8s

阿里内网热搜开发者工具在线教程推荐

阿里巴巴云原生

Java 开发者 云原生 工具 Arthas

4种方法帮你解决IntelliJ IDEA控制台中文乱码问题

华为云开发者联盟

Web 虚拟机 编码 IntelliJ IDEA 控制台

Spring RSocket:基于服务注册发现的 RSocket 负载均衡

阿里巴巴云原生

Java 开发者 云原生 API 应用服务中间件

场景化面试:在读多写少的情况下,如何优化 MySQL 的数据查询方案

面试官问

MySQL 数据库 面试 主从同步 读写分离

区块链产品走向普及之不完全指南

CECBC

比特币 区块链

阿里内部人手一份!P8大佬也叫好的 高性能MySQL系列文档

Java架构之路

Java 程序员 架构 面试 编程语言

字节跳动,三面我败了!但是我把经验记录了下来,倒下了一个我,还有千千万万个程序员!

Java架构之路

Java 程序员 架构 面试 编程语言

架构师week13作业

Geek_xq

RPC框架-dubbo:架构及源码分析-初篇

程序员架构进阶

微服务 dubbo 七日更 28天写作 2月春节不断更

【得物技术】Keep-alive 原理及业务解决方案

得物技术

大前端 标签 页面 得物技术 keepalive

实习记录:PB协议编写

YUKI0506

区块链在医疗领域应用所要面临哪些挑战

CECBC

区块链 医疗

AI窥人(三):你想靠AI实现永生吗?

脑极体

都在说云原生,它的技术图谱你真的了解吗?

云原生

第四章作业

ALone

话题讨论 | 每逢佳节胖三斤,过完年你胖了吗?

石云升

话题讨论 减肥 2月春节不断更

为什么 Python 的 f-string 可以连接字符串与数字?

Python猫

Python 开源 编程语言 后端 C语言

在 Kubernetes 上弹性深度学习训练利器 -- Elastic Training Operator

阿里巴巴云原生

人工智能 云计算 容器 云原生 k8s

十年再出发,Dubbo 3.0 Preview 即将在 3 月发布

阿里巴巴云原生

Java 微服务 云原生 dubbo 应用服务中间件

连Python都不熟也能跑通AI人脸识别?“隐藏Boss”竟是它!

华为云开发者联盟

Python AI OpenCV 人脸识别 图像检测

架构师week13总结

Geek_xq

iOS进阶模块(逆向安防)

ios 逆向

不服不行!阿里曝光内部高并发实战手册,Github星标98K

Java架构之路

Java 程序员 架构 面试 编程语言

Linux 多线程详解 —— 什么是线程

赖猫

Linux 线程 Linux内核

新手如何靠区块链赚钱?

CECBC

区块链

ZEGO全新语音聊天解决方案,4步搭建爆火的语音聊天室

ZEGO即构

Amazon Redshift Spectrum – EB 级的 S3 数据就地查询_文化 & 方法_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章