【发布时间】:2016-03-21 17:37:32
【问题描述】:
我想跟踪用户名更改超时。
我在 Redshift 中有以下用户表:
id username valid_from valid_to current
--------------------------------------------------------
1 joe1 2015-01-01 2015-01-15 No
1 joe2 2015-01-15 NULL Yes
我的源数据来自 RDS Postgres。我正在考虑如何处理这个问题的几个选项:
1) 创建 users_history 表并开始在 RDS Postgres db 中跟踪它。这需要我对我的应用程序进行更改,并且此表可能会变得很大
2) 有一个 ETL 过程并像每 5 分钟一样查询用户源表以查找新的更改(按 last updated_at 排序)并将其转储到 DynamoDB。
3) 让 ETL 进程将数据转储到 S3,然后将其复制到 Redshift 内的临时表中并在那里进行查询更新
从长远来看,您能否提供一些可扩展且易于维护的建议?请记住,这些表可能很大,我将跟踪许多表的 SCD。
谢谢。
更新 1:我与 AWS 支持人员聊天,他们向我展示了这个,似乎是一个很好的解决方案:http://docs.aws.amazon.com/redshift/latest/dg/merge-specify-a-column-list.html
【问题讨论】:
标签: postgresql amazon-redshift