赤方偏移(redshift)の悪夢 2024/04/20

ツツジがきれいに咲いていました。

ツツジがきれいに咲いていました。いい季節になりましたね。花粉、黄砂とマスクが必要ではあるのですが、お散歩にいきたいです。

PK(プライマリキー)の制約をつけたはずなのに...

同一データが2件入っていたわけです。「あれ、PKじゃないの?」というふうになったわけなのですが、トランザクションちっくな処理には向いていないんだね。

Redshiftは、OLAP(OnLine Analytical Processing)向けであり、OLTP(Online Transaction Processing)は別に用意して、そこからデータをかき集めてみせるがRedshiftな使い方なのでしょう。

以下、ドキュメントから

一意性、プライマリキー、および外部キーの制約は情報提供のみを目的としており、テーブルに値を入れるときに Amazon Redshift によって強要されるわけではありません。

しんどい

データの重複をふせぐ「最後の砦」にはなりえないことがわかったいま、2重にデータが入らないようにするのをプログラムでするのはしんどいです。あとSELECTした結果から、重複行をつぶすののまたしんどいですね。。。
保証できないのはそれはそれでかなりつらい.
どこかのタイミングでトランザクションなデータを処理するのをRDSなりオーロラなにり移さないといけないのではないでしょうか...

その他

データの“赤方偏移”がもたらす巨大なインパクト~Amazon Redshift担当者に聞くDWH戦略

: