現在、Redshift へのデータのロードに取り組んでいます。ここにはさまざまなシナリオがあります。OLTP データベースがオンプレミスの SQL Server である場合、S3 経由で Redshift にデータをロードするのに役立つ Attunity などのツールを検討できます。Attunity は CDC においてスマートであり、トランザクション ログを読み取って変更を識別し、それに応じてターゲットに変更を適用できます。しかし、この種のツールは、ETL プロセス中に変換ロジックを適用するには不十分です。Attunity は SSIS や ODI に代わるものではありませんが、さまざまなソースからのデータの抽出と読み込みに適しています。したがって、変換を行うには、適切な ETL ツールが必要です。Redshift 内のステージング領域で Attunity を使用してデータをロードできます。ステージング領域から、別の ETL ツールまたはトリガーを使用してターゲット テーブルにデータをロードできます。Redshiftではトリガーがサポートされていないため、では、その ETL ツールは何でしょうか? ここでは、AWS Data Pipeline 以外は見つかりませんでした。ただし、Attunity と AWS Data Pipeline の 2 つのツールを使用すると、コストが高くなる可能性があります。他の代替方法はありますか?Data Pipeline がオンプレミスの SQL Server に接続できるとは考えていません。Amazonエコシステム専用です。
次に、オンプレミスの SQL Server が Amazon RDS にデプロイされたと考えてみましょう。その後、状況が異なる場合があります。Attunity と AWS Data Pipeline の 2 つのツールを使用して、上記と同じ ETL プロセスに従うことができます。しかし今回は、AWS Data Pipeline という 1 つのツールのみを使用する方が簡単です。AWS Data Pipeline は、すべてのシナリオを処理するのに十分な能力を備えていますか? トランザクションログを読み取れることがわかりません。しかし、増分負荷には他のアプローチを適用できるはずです。非常に一般的なアプローチは、各ソース テーブルで最終更新日列を考慮することです。次に、最後のロード時間から変更された RDS Sql Server テーブルの行を特定できます。ただし、変更されたデータを RDS から Redshift に直接取得することはできません。S3 または DynamoDB のいずれかを使用する必要があります。S3 をルートとして使用するように AWS Data Pipeline を作成できます。また頭痛のようです。もっと簡単な方法が他にあるかもしれません。繰り返しますが、AWS Data Pipeline は競争の激しい市場ではまったく新しいものです。このツールの非常に大きな制限は、AWS 以外のさまざまなソース (Salesforce、Oracle など) からデータをロードできないことです。AWS エコシステム内で問題なく、最小限のコストで完璧に機能する使いやすいツールは他にありますか?