我可以在 RedShift 中创建快速插入暂存表吗?

Posted

技术标签:

【中文标题】我可以在 RedShift 中创建快速插入暂存表吗?【英文标题】:Can I create fast-for-insert staging table in RedShift? 【发布时间】:2014-11-06 12:17:16 【问题描述】:

我们正在尝试将分析数据即时存储到 RedShift。然而,由于存储性质,单次插入在 RedShift 中运行缓慢。

一种解决方案是在我们的应用程序中收集这些插入,然后将它们作为批量上传到 RedShift。然而,这将需要在我们的应用程序中进行一些令人讨厌的架构更改,因此我正在寻找其他方法。

例如,有没有办法在 RedShift 中创建快速暂存表 - 这样它不使用压缩列 (?) 存储并允许快速插入,前提是我们不打算将多条记录,然后合并到主表中,比如插入一千条记录后?

【问题讨论】:

【参考方案1】:

不幸的是,您使用了错误的架构树。对于快速的单个事件插入/更新,您可能需要考虑在 Amazon DynamoDB 中捕获您的数据,然后将该数据批量拉入 Redshift 进行分析。下面是a link,介绍如何将数据从 DynamoDB 加载到 Redshift。

【讨论】:

是的,你是对的——这是我告诉我的建筑师的第一件事。但是他们坚持认为,由于平台限制,我只能在 Cassandra 和 Redshift 之间进行选择。我什至无法在文件中本地聚合我的插入... 这个blog post 至少可以帮助你实现微批处理。

以上是关于我可以在 RedShift 中创建快速插入暂存表吗?的主要内容,如果未能解决你的问题,请参考以下文章

将 Postgres RDS 模式复制到 Redshift

在 Redshift 中插入列的子字符串

您可以在 PHP/MySQL 数据库表的每一行中创建/插入表吗?

redshift 是不是序列化写操作?

我可以一次在程序中创建具有不同名称的表吗[关闭]

我可以在一个表中创建几个表吗,mysql? [关闭]