Open2
BigQueryと重複

考えたいこと
- BigQueryの重複レコードを防ぐ方法
- Pub/Subの重複について
BigQueryは重複レコードを許してしまう。
※念の為書いておくが、INSERTが急に2行になるとかそういう訳では無い。
防ぎ方
※BigQueryにはユニーク制約がない。プライマリーキーはあるけどRDBみたいにユニーク制約はない。なのでそれでは防げない
distinct句やPartition By句
Viewを使うならViewにこれらの句を入れるなど。
ストリーミングINSERT
ベストエフォート型の重複排除を1分間サポート。
名前的に完全に防ぐことは無理なんだろうな。
Pub/Subの配信
At Least Once
同じメッセージが重複して配信される可能性がある。ようは増幅する。
理由としては、受信応答が何らかの原因で配信側に届かなかったりタイムアウトしてしまったりすると、再度配信が起こる。
Exactly Once
一回限りの配信の保証という項目があった。

このあたりを詳しく調べる。