翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
オンプレミスの ThoughtSpot Falcon データベースを Amazon Redshift に移行する
Battulga Purevragchaa と Antony Prasad Thevaraj、Amazon Web Services
概要
オンプレミスのデータウェアハウスは、特に大規模なデータセットの場合、管理に多大な時間とリソースを必要とします。これらのウェアハウスの構築、維持、拡張にかかる財務コストも非常に高くなります。コストを管理し、抽出、変換、ロード (ETL) の複雑さを低く抑え、データの増加に応じてパフォーマンスを向上させるには、どのデータを読み込み、どのデータをアーカイブするかを常に選択する必要があります。
オンプレミスの ThoughtSpot Falcon データベース
このパターンでは、ThoughtSpot Falcon データベースをオンプレミスのデータセンターから AWS クラウド上の Amazon Redshift データベースに移行する手順とプロセスを説明しています。
前提条件と制限
前提条件
- アクティブな AWS アカウント 
- オンプレミスのデータセンターでホストされている ThoughtSpot Falcon データベース 
製品バージョン
- ThoughtSpot バージョン 7.0.1 
アーキテクチャ

この図表は、次のワークフローを示しています:
- データはオンプレミスのリレーショナルデータベースでホストされます。 
- AWS Schema Conversion Tool (AWS SCT) は、Amazon Redshift と互換性のあるデータ定義言語 (DDL) を変換します。 
- テーブルを作成したら、AWS Database Migration Service (AWS DMS) を使用してデータを移行できます。 
- データは Amazon Redshift に読み込まれます。 
- Redshift Spectrum を使用しているか、既に Amazon S3 でデータをホストしている場合、データは Amazon Simple Storage Service (Amazon S3) に保存されます。 
ツール
- AWS DMS – AWS データ移行サービス (AWS DMS) は、データベースを迅速かつ安全に AWS に移行するのに役立ちます。 
- Amazon Redshift – Amazon Redshift は、高速でフルマネージドのペタバイト規模のデータウェアハウスサービスで、既存のビジネスインテリジェンスツールを使用してすべてのデータを簡単かつコスト効率よく効率的に分析できます。 
- AWS SCT – AWS Schema Conversion Tool (AWS SCT) は、既存のデータベーススキーマをあるデータベースエンジンから別のデータベースエンジンに変換します。 
エピック
| タスク | 説明 | 必要なスキル | 
|---|---|---|
| 適切な Amazon Redshift 設定を特定する。 | 要件とデータ量に基づいて、適切な Amazon Redshift クラスター設定を特定します。 詳細については、Amazon Redshift ドキュメントの「Amazon Redshift クラスター」を参照してください。 | DBA | 
| Amazon Redshift を調べて、要件を満たしているかどうかを評価する。 | Amazon Redshift に関するよくある質問 | DBA | 
| タスク | 説明 | 必要なスキル | 
|---|---|---|
| Amazon Redshift クラスターを作成します。 | AWS マネジメントコンソールにサインインし、Amazon Redshift コンソールを開いて、仮想プライベートクラウド (VPC) で Amazon Redshift クラスターを作成します。 詳細については、Amazon Redshift のドキュメントの「VPC でクラスターを作成する」を参照してください。 | DBA | 
| Amazon Redshift データベース設計の PoC を実施する。 | Amazon Redshift のベストプラクティスに従い、データベース設計の概念実証 (PoC) を実施します。 詳細については、Amazon Redshift のドキュメントの Amazon Redshift の概念実証の実施を参照してください。 | DBA | 
| データベースユーザーを作成する。 | Amazon Redshift データベースにユーザーを作成し、スキーマとテーブルにアクセスするための適切なロールを付与します。 詳細については、Amazon Redshift のドキュメントの「GRANT」を参照してください。 | DBA | 
| ターゲットデータベースに構成設定を適用する。 | 要件に従って、Amazon Redshift データベースに構成設定を適用します。 データベース、セッション、およびサーバーレベルのパラメータを有効にする方法の詳細については、Amazon Redshift ドキュメントの「設定リファレンス」を参照してください。 | DBA | 
| タスク | 説明 | 必要なスキル | 
|---|---|---|
| Amazon Redshift で DDL を使用してテーブルを手動で作成する。 | (オプション) AWS SCT を使用する場合、テーブルは自動的に作成されます。ただし、DDL の複製時に障害が発生した場合は、テーブルを手動で作成する必要があります。 | DBA | 
| Redshift Spectrum の外部テーブルを作成する。 | Amazon Redshift Spectrum の外部スキーマを使用して外部テーブルを作成します。外部テーブルを作成するには、外部スキーマの所有者またはデータベーススーパーユーザーである必要があります。 詳細については、Amazon Redshift のドキュメントの「Amazon Redshift Spectrum の外部テーブルの作成」を参照してください。 | DBA | 
| タスク | 説明 | 必要なスキル | 
|---|---|---|
| AWS DMS を使用してデータを移行する。 | Amazon Redshift データベースにテーブルの DDL を作成したら、AWS DMS を使用してデータを Amazon Redshift に移行します。 詳細な手順については、AWS DMS のドキュメントの「Using an Amazon Redshift database as a target for AWS DMS」を参照してください。 | DBA | 
| COPY コマンドを使用してデータをロードする。 | Amazon S3 から Amazon Redshift  詳細については、Amazon Redshift ドキュメントの「COPY コマンドを使用し、Amazon S3 からロードする」を参照してください。 | DBA | 
| タスク | 説明 | 必要なスキル | 
|---|---|---|
| ソースレコードとターゲットレコードを検証する。 | ソースシステムからロードされたソースレコードとターゲットレコードのテーブル数を検証します。 | DBA | 
| Amazon Redshift のパフォーマンスチューニングのベストプラクティスを実装します。 | Amazon Redshift テーブル設計のベストプラクティスを実装する。 詳細については、ブログ記事「Top 10 performance tuning techniques for Amazon Redshift | DBA | 
| クエリのパフォーマンスを最適化する。 | Amazon Redshift は、SQL ベースのクエリを使用してシステム内のデータとオブジェクトを操作します。データ操作言語 (DML) は、データの表示、追加、変更、削除に使用できる SQL のサブセットです。DDL は、テーブルやビューなどのデータベースオブジェクトを追加、変更、削除するために使用する SQL のサブセットです。 詳細については、Amazon Redshift のドキュメントの「クエリパフォーマンスのチューニング」を参照してください。 | DBA | 
| WLM を実装する。 | ワークロード管理 (WLM) を使用して複数のクエリキューを定義し、ランタイムにクエリを適切なキューに配信することができます。 詳細については、Amazon Redshift ドキュメントの「ワークロード管理の実装」を参照してください。 | DBA | 
| 同時実行スケーリングを使用する。 | 同時実行スケーリング機能を使用すると、実質的に無制限の同時ユーザーと同時クエリをサポートし、一貫して高速なクエリパフォーマンスを実現できます。 詳細については、Amazon Redshift のドキュメントの「同時実行スケーリングを使用する」を参照してください。 | DBA | 
| テーブル設計に Amazon Redshift のベストプラクティスを使用する。 | データベースをプランニングする際、テーブル設計に関して、全体的なクエリパフォーマンスに多大な影響を与える重要な決定があります。 最適なテーブル設計のオプションを選択する方法については、Amazon Redshift のドキュメントの「Amazon Redshift テーブル設計のベストプラクティス」を参照してください。 | DBA | 
| Amazon Redshift でマテリアライズドビューを作成する。 | マテリアライズドビューには、1 つ以上のベーステーブルで実行された SQL クエリに基づいて事前計算された結果が含まれています。 詳細については、Amazon Redshift のドキュメントの「Amazon Redshift でのマテリアライズドビューの作成」を参照してください。 | DBA | 
| テーブル間の結合を定義する。 | ThoughtSpot で複数のテーブルを同時に検索するには、2 つのテーブル間で一致するデータを含む列を指定して、テーブル間の結合を定義する必要があります。これらの列は、結合の  Amazon Redshift または ThoughtSpot の  | DBA | 
| タスク | 説明 | 必要なスキル | 
|---|---|---|
| Amazon Redshift 接続を追加する。 | Amazon Redshift 接続をオンプレミスの ThoughtSpot Falcon データベースに追加します。 詳細については、ThoughtSpot ドキュメントの「Add a Redshift connection | DBA | 
| Amazon Redshift 接続を編集する。 | Amazon Redshift 接続を編集してテーブルと列を追加できます。 詳細については、ThoughtSpot ドキュメントの「Edit a Redshift connection | DBA | 
| Amazon Redshift 接続を再マッピングする。 | Amazon Redshift 接続を追加したときに作成されたソースマッピングの .yaml ファイルを編集して、接続パラメータを変更します。 例えば、既存のテーブルまたは列を、既存のデータベース接続の別のテーブルまたは列に再マップできます。ThoughtSpot では、接続内のテーブルまたは列を再マップする前後に依存関係を確認して、必要に応じて表示されることを確認することを推奨しています。 詳細については、ThoughtSpot ドキュメントの「Remap a Redshift connection | DBA | 
| Amazon Redshift 接続からのテーブルを削除する。 | (オプション) Amazon Redshift 接続内のテーブルを削除しようとすると、ThoughtSpot は依存関係をチェックし、依存オブジェクトのリストを表示します。リストされたオブジェクトを選択して削除するか、依存関係を削除できます。その後、テーブルを削除できます。 詳細については、ThoughtSpot のドキュメントの「Delete a table from a Redshift connection | DBA | 
| Amazon Redshift 接続から依存オブジェクトを含むテーブルを削除する。 | (オプション) 依存オブジェクトを含むテーブルを削除しようとすると、操作はブロックされます。 詳細については、ThoughtSpot ドキュメントの「Delete a table with dependent objects from a Redshift connection | DBA | 
| Amazon Redshift 接続を削除する。 | (オプション) 接続は複数のデータソースまたはビジュアライゼーションで使用できるので、Amazon Redshift 接続を削除する前に、その接続を使用するすべてのソースとタスクを削除する必要があります。 詳細については、ThoughtSpot ドキュメントの「Delete a Redshift connection | DBA | 
| Amazon Redshift の接続に関するリファレンスを確認する。 | ThoughtSpot ドキュメントの接続リファレンス | DBA |