そのためストリーミング処理をしてニアリアルタイム処理するといったものはそもそも要件として存在しないため、バッチで安定的にデータの取り込みを行い、クエリ時の負荷を下げるためにデータの取り込み時に重複排除をする仕組みを構築しました。その概要が以下の図です。 ファイルからデータ連携されたデータを重複ありの状態で受付け、1 時間に 1 回重複排除したデータを行動ログテーブルにマージする、というのが大まかな手法の説明です。このコンポーネントは atlas-consumer-s3 と呼ばれます。 2. 旧来の仕組みの課題 上記の仕組みで大きな障害も発生せずに運用できていましたが、以下のような課題を抱えていました。 2-1. 原因不明の不具合によりデプロイ時に Kinesis からの 1 日分の読み直し作業が発生する 2-2. 新規カラム追加の実装/作業が煩雑 2-3. データの整合性の検証が不十分 2