• RedShiftへデータをロードする方法は、次のように数多く存在します。
  • EC2からS3へデータをアップロードし、S3上からRedShiftへデータをロード
  • ログ収集ツールfluentdを使って、S3上からRedShiftへデータをロード
  • fluentdを使って、手軽にデータをRedShiftにロード

 

awscli syncパターン

EC2からS3へデータをアップロードし、S3上からRedShiftへデータをロードします。
Amazon Redsihftへデータをロードする方法として、最も一般的です。

メリット
・ローカルディレクトリとS3の内容を同期させることができる
・AWSコマンドラインインターフェイスが実行できる場合は、プラットフォームに依存しない
・後の処理を実行するタイミングを容易に調節できる

デメリット
・ローカルサーバーが複数の場合は、システム構成が複雑になる
・障害対策を独自で実装しなくてはならない

 

 

 

fluentd・S3中継パターン

ログ収集ツールfluentdを使って、S3上からRedShiftへデータをロードする。

メリット
・プラグインを用意すれば、簡単に使用できる
・複数のサーバーを使用する場合でも、容易にシステムの構築・運用できる
・S3上のディレクトリの整理も可能となる

デメリット
・fluentdの使用方法に注意する必要がある
・S3のディレクトリ構造次第で、問題が発生する可能性がある
・RedShiftへのデータのロード方法を別途用意しなくてはならない

 

 

 

fluentd・ダイレクトパターン

fluentdを使って、手軽にデータをRedShiftにロードする。
fluentd・S3中継パターンと同じような構成であるが、一括処理でRedShiftにデータをロードするために、あまりS3を意識することがない。

メリット
・簡単にRedShiftへデータを投入することができる
・プラグインを用意すれば、簡単に使用できる

デメリット
・設定によってはロードが多発して、パフォーマンスが低下することもある

 

 

 

本サイト上に掲載されているまとめ記事が、毎週ステップメールで受け取ることもできます。

 

 

参考文献