Amazon Redshift 是否有自己的存储后端

Does Amazon Redshift have its own storage backend

我是 Redshift 的新手,想了解一下 Redshift 的运作方式:

Amazon Redshift 是否有自己的后端存储平台,或者它依赖于 S3 将数据存储为对象,Redshift 仅用于查询、处理和转换,并具有临时存储以从 S3 中获取特定的切片并进行处理是吗?

从某种意义上说,redshift 是否有自己的后端云 space,就像 oracle 或 Microsoft SQL 有自己的存储数据的物理服务器?

因为,如果我由于容量增加而从传统的 RDBMS 系统迁移到 Redshift,如果我单独选择 Redshift 就可以或者我应该选择 Redshift 和 S3 的组合。

这个问题似乎很基础,但我无法在 Amazon 网站或任何与 Redshift 相关的博客中找到答案。

看看你的问题,你可能会从架构方面的专业帮助中受益。

但是,为了让您入门,Redshift::

  • 有自己的数据存储,没有link到s3。
  • Amazon Redshift Spectrum 还允许您查询保存在 s3 中的数据(类似于 AWS 雅典娜)
  • 作为后端数据库替代 传统的 RDBMS,因为事务非常慢。
  • 是一个很棒的数据仓库工具,就用它吧!

是的,Amazon Redshift 使用自己的存储。

Amazon Redshift 的主要用例是运行对大量数据进行复杂查询。这就是"data warehouse".

的目的

普通数据库在超过 100 万行时开始性能下降,而 Amazon Redshift 可以处理 十亿行 。这是因为数据分布在多个节点,并以列格式存储,使其适合处理"wide"表(在数据仓库中很典型)。这就是 Redshift 速度的原因。事实上,正是 专用存储 和数据存储方式赋予了 Redshift 惊人的速度。

然而,权衡意味着虽然 Redshift 对于查询大量数据非常出色,但它并非设计用于频繁更新 数据。因此,它不应该代替应用程序用于事务的普通数据库。相反,Redshift 通常用于获取交易数据,将其与其他信息(客户、订单、交易、支持票、传感器数据、网站点击、跟踪信息等)结合起来,然后 运行 结合所有信息的复杂查询该数据。

Amazon Redshift 也可以使用 Amazon Redshift Spectrum,这与 Amazon Athena 非常相似。这两种服务都可以直接从 Amazon S3 读取数据。这种访问不如使用直接存储在 Redshift 中的数据高效,但可以通过使用列式存储格式(例如 ORC 和 Parquet)和分区文件来提高效率。当然,这仅适用于查询 数据,不适用于对数据执行事务(更新)。

较新的 Amazon Redshift RA3 节点 还能够将较少使用的数据卸载到 Amazon S3,并使用缓存来 运行快速查询。好处是它将存储与计算分开。

快速总结:

  • 如果您的应用程序需要数据库,请使用 Amazon RDS
  • 如果您要构建数据仓库,请使用 Amazon Redshift
  • 如果你有很多很少被查询的历史数据,将其存储在Amazon S3中并通过Amazon AthenaAmazon Redshift Spectrum[=进行查询43=]