我想跟踪用户名的超时变化。
我在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分钟查询一次用户源表,以查找新更改(按上次updated_at排序)并将其转储到DynamoDB。
3)让ETL进程将数据转储到S3,然后将其复制到Redshift中的临时表中并在那里进行查询更新
从长远来看,您能否提供一些可扩展且易于维护的建议?请记住,这些表可能非常庞大,我将跟踪许多表的SCD。
谢谢。
更新1:我与AWS支持人员聊天,他们向我展示了这,这是一个不错的解决方案:http : //docs.aws.amazon.com/redshift/latest/dg/merge-specify-a-column-list.html