

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 온프레미스 ThoughtSpot Falcon 데이터베이스를 Amazon Redshift로 마이그레이션하기
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift"></a>

*Battulga Purevragchaa, Antony Prasad Thevaraj, Amazon Web Services*

## 요약
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-summary"></a>

온프레미스 데이터 웨어하우스에는 특히 대규모 데이터 세트의 경우 상당한 관리 시간과 리소스가 필요합니다. 이러한 웨어하우스를 구축, 유지 및 확장하는 데 드는 재정적 비용도 매우 높습니다. 비용을 관리하고 ETL(추출, 변환, 로드) 복잡성을 낮게 유지하고, 데이터 증가에 따른 성능을 제공하려면 로드할 데이터와 보관할 데이터를 지속적으로 선택해야 합니다.

온프레미스 [ThoughtSpot Falcon 데이터베이스](https://docs.thoughtspot.com/software/latest/data-caching)를 Amazon Web Services(AWS) 클라우드로 마이그레이션하면 전체 인프라 비용을 절감하는 것 외에도 비즈니스 민첩성, 보안 및 애플리케이션 안정성을 높이는 클라우드 기반 데이터 레이크 및 데이터 웨어하우스에 액세스할 수 있습니다. Amazon Redshift를 사용하면 데이터 웨어하우스의 비용과 운영 오버헤드를 크게 줄일 수 있습니다. 또한, Amazon Redshift Spectrum을 사용하여 데이터를 로드하지 않고도 네이티브 형식으로 대량의 데이터를 분석할 수 있습니다.

이 패턴은 ThoughtSpot Falcon 데이터베이스를 온프레미스 데이터 센터에서 AWS Cloud의 Amazon Redshift 데이터베이스로 마이그레이션하는 단계와 프로세스를 설명합니다.

## 사전 조건 및 제한 사항
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-prereqs"></a>

**사전 조건 **
+ 활성 상태의 AWS 계정
+ 온프레미스 데이터 센터에서 호스팅되는 ThoughtSpot Falcon 데이터베이스

**제품 버전**
+ ThoughtSpot 버전 7.0.1 

## 아키텍처
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-architecture"></a>

![\[ThoughtSpot Falcon 데이터베이스를 온프레미스 데이터 센터에서 Amazon Redshift로 마이그레이션.\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/b0ca29f4-b269-4b57-b386-738693a6b334/images/2b483990-1f30-439c-ba13-dc0cb0650360.png)


 

이 다이어그램은 다음 워크플로를 보여줍니다.

1. 데이터는 온프레미스 관계형 데이터베이스에서 호스팅됩니다.

1. AWS Schema Conversion Tool(AWS SCT)는 Amazon Redshift와 호환되는 데이터 정의 언어(DDL)를 변환합니다.

1. 테이블이 생성된 후 AWS Database Migration Service(AWS DMS)를 사용하여 데이터를 마이그레이션할 수 있습니다.

1. 데이터는 Amazon Redshift에 로드됩니다.

1. Redshift Spectrum을 사용하거나 Amazon S3에서 데이터를 이미 호스팅하고 있는 경우 데이터는 Amazon Simple Storage Service(S3)에 저장됩니다.

## 도구
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-tools"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) - AWS Database Migration Service(AWS DMS)를 사용하면 데이터베이스를 빠르고 안전하게 마이그레이션할 수 있습니다.
+ [Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html) – Amazon Redshift는 속도가 빠른 페타바이트 규모의 완전 관리형 데이터 웨어하우스 서비스로, 간편하고 비용 효율적으로 모든 데이터를 기존 비즈니스 인텔리전스 도구를 사용하여 효율적으로 분석할 수 있게 해줍니다.
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) - AWS Schema Conversion Tool(AWS SCT)는 기존 데이터베이스 스키마를 한 데이터베이스 엔진에서 다른 데이터베이스 엔진으로 변환합니다.

## 에픽
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-epics"></a>

### 마이그레이션 준비
<a name="prepare-for-the-migration"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 적절한 Amazon Redshift 구성을 파악합니다. | 요구 사항 및 데이터 볼륨을 기반으로 적절한 Amazon Redshift 클러스터 구성을 파악합니다. 자세한 내용은 Amazon Redshift 설명서의 [Amazon Redshift 클러스터](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html)를 참조하세요. | DBA | 
| Amazon Redshift를 조사하여 요구 사항을 충족하는지 평가합니다. | [Amazon Redshift FAQ](https://aws.amazon.com/redshift/faqs/)를 사용하여 Amazon Redshift가 요구 사항을 충족하는지 이해하고 평가합니다. | DBA | 

### 대상 Amazon Redshift 클러스터 준비
<a name="prepare-the-target-amazon-redshift-cluster"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| Amazon Redshift 클러스터를 생성합니다. | AWS Management Console에 로그인하고, Amazon Redshift 콘솔을 연 다음, Virtual Private Cloud(VPC)에서 Amazon Redshift 클러스터를 생성합니다. 자세한 내용은 Amazon Redshift 설명서의 [VPC에서 클러스터 생성](https://docs.aws.amazon.com/redshift/latest/mgmt/getting-started-cluster-in-vpc.html)을 참조하세요. | DBA | 
| Amazon Redshift 데이터베이스 설계를 위한 PoC를 수행합니다. | 데이터베이스 설계를 위한 개념 증명(PoC)을 수행하여 Amazon Redshift 모범 사례를 따릅니다. 자세한 내용은 Amazon Redshift 설명서의 [Amazon Redshift에 대한 개념 증명 수행하기](https://docs.aws.amazon.com/redshift/latest/dg/proof-of-concept-playbook.html)를 참고하십시오. | DBA | 
| 데이터베이스 사용자를 생성합니다. | Amazon Redshift 데이터베이스에서 사용자를 생성하고 스키마와 테이블에 액세스할 수 있는 적절한 역할을 부여합니다. 자세한 내용은 Amazon Redshift 설명서의 [사용자 또는 사용자 그룹에 액세스 권한 부여](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html)를 참고하십시오. | DBA | 
| 대상 데이터베이스에 구성 설정을 적용합니다. | 요구 사항에 따라 Amazon Redshift 데이터베이스에 구성 설정을 적용합니다. 데이터베이스, 세션 및 서버 수준 파라미터를 활성화하는 방법에 대한 자세한 내용은 Amazon Redshift 설명서의 [구성 참조](https://docs.aws.amazon.com/redshift/latest/dg/cm_chap_ConfigurationRef.html)를 참고하십시오. | DBA | 

### Amazon Redshift 클러스터에서 객체를 생성합니다.
<a name="create-objects-in-the-amazon-redshift-cluster"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| Amazon Redshift에서 DL을 사용하여 수동으로 테이블을 생성합니다. | (선택 사항) AWS SCT를 사용하는 경우, 테이블이 자동으로 생성됩니다. 하지만 DDL을 복제할 때 오류가 발생하는 경우 수동으로 테이블을 생성해야 합니다. | DBA | 
| Redshift Spectrum용 외부 테이블을 생성합니다. | Amazon Redshift Spectrum의 외부 스키마를 사용하여 외부 테이블을 생성합니다. 외부 테이블을 생성하려면 외부 스키마의 소유자이거나 [데이터베이스 수퍼유저](https://docs.aws.amazon.com/redshift/latest/dg/r_superusers.html)여야 합니다. 자세한 내용은 Amazon Redshift 설명서의 [Amazon Redshift Spectrum용 외부 테이블 만들기](https://docs.aws.amazon.com/redshift/latest/dg/c-spectrum-external-tables.html)를 참고하십시오. | DBA | 

### AWS DMS를 사용하여 데이터를 마이그레이션합니다
<a name="migrate-data-using-aws-dms"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| AWS DMS를 사용하여 데이터를 마이그레이션합니다. | Amazon Redshift 데이터베이스에서 테이블의 DDL을 생성한 후, AWS DMS를 사용하여 데이터를 Amazon Redshift로 마이그레이션합니다.자세한 단계 및 지침은 AWS DMS 설명서의 [Amazon Redshift 데이터베이스를 AWS DMS의 대상으로 사용하기](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html) 섹션을 참고하십시오. | DBA | 
| COPY 명령을 사용하여 데이터를 로드합니다. | Amazon Redshift `COPY` 명령을 사용하여 Amazon S3에서 Amazon Redshift로 데이터를 로드합니다.자세한 내용은 Amazon Redshift 설명서의 [COPY 명령을 사용하여 Amazon S3에서 로드하기](https://docs.aws.amazon.com/redshift/latest/dg/t_loading-tables-from-s3.html) 섹션을 참고하십시오. | DBA | 

### Amazon Redshift 클러스터 검증
<a name="validate-the-amazon-redshift-cluster"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 원본 및 대상 데이터를 검증합니다. | 소스 시스템에서 로드된 소스 및 대상 레코드의 테이블 수를 검증합니다. | DBA | 
| Amazon Redshift 성능 튜닝 모범 사례를 구현합니다. | Amazon Redshift 테이블 및 데이터베이스 설계 모범 사례를 구현합니다. 자세한 내용은 블로그 게시물 [Amazon Redshift의 10가지 성능 튜닝 기법](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-techniques-for-amazon-redshift/)을 참고하십시오. | DBA | 
| 쿼리 성능을 최적화합니다. | Amazon Redshift는 SQL 기반 쿼리를 사용하여 시스템의 데이터 및 객체와 상호 작용합니다. 데이터 조작 언어(DML)는 데이터를 보거나, 추가하거나, 변경하거나, 삭제하는 데 사용할 수 있는 SQL의 하위 집합입니다. DDL은 테이블 및 뷰 같은 데이터베이스 객체를 추가하거나, 변경하거나, 삭제하는 데 사용되는 SQL의 하위 집합입니다.자세한 내용은 Amazon Redshift 설명서의 [쿼리 성능 조정](https://docs.aws.amazon.com/redshift/latest/dg/c-optimizing-query-performance.html)을 참고하십시오. | DBA | 
| WLM을 구현합니다. | 워크로드 관리(WLM)를 사용하여 다수의 쿼리 대기열을 정의한 후 실행 시간에 쿼리를 적합한 대기열로 라우팅할 수 있습니다.자세한 내용은 Amazon Redshift 설명서의 [워크로드 관리 구현](https://docs.aws.amazon.com/redshift/latest/dg/cm-c-implementing-workload-management.html)을 참고하십시오. | DBA | 
| 동시성 확장 작업 | 동시성 확장 기능을 사용하면 일관성 있게 빠른 쿼리 성능으로 동시 사용자 및 동시 쿼리를 사실상 무제한으로 지원할 수 있습니다.자세한 내용은 Amazon Redshift 설명서의 [동시성 규모 조정 활용하기](https://docs.aws.amazon.com/redshift/latest/dg/concurrency-scaling.html)를 참고하십시오. | DBA | 
| Amazon Redshift 테이블 설계 모범 사례를 사용합니다. | 데이터베이스를 계획할 때는 전반적인 쿼리 성능에 강력하게 영향을 미칠 수 있는 몇 가지 중요한 테이블 설계 조건이 있습니다.가장 적합한 테이블 설계 옵션을 선택하는 방법에 대한 자세한 내용은 Amazon Redshift 설명서의 [Amazon Redshift 테이블 설계 모범 사례](https://docs.aws.amazon.com/redshift/latest/dg/c_designing-tables-best-practices.html)를 참고하십시오. | DBA | 
| Amazon Redshift에서 구체화된 뷰를 생성합니다. | 구체화된 보기에는 하나 이상의 기본 테이블에 대한 SQL 쿼리를 기반으로 사전 계산된 결과 집합이 포함됩니다. 데이터베이스의 다른 테이블이나 뷰를 쿼리할 때와 같은 방식으로 `SELECT` 문을 실행하여 구체화된 뷰를 쿼리할 수 있습니다.자세한 내용은 Amazon Redshift 설명서의 [Amazon Redshift에서 구체화된 뷰 만들기](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-overview.html)를 참조하세요. | DBA | 
| 테이블 간 조인을 정의합니다. | ThoughtSpot에서 동시에 둘 이상의 테이블을 검색하려면 두 테이블에서 일치하는 데이터가 포함된 열을 지정하여 테이블 간 조인을 정의해야 합니다. 이러한 열은 조인의 `primary key` 및 `foreign key`를 나타냅니다.Amazon Redshift 또는 ThoughtSpot에서 `ALTER TABLE` 명령을 사용하여 이를 정의할 수 있습니다. 자세한 내용은 Amazon Redshift 설명서에서 [ALTER TABLE](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_TABLE.html)을 참조하세요. | DBA | 

### Amazon Redshift에 ThoughtSpot 연결 설정
<a name="set-up-thoughtspot-connection-to-amazon-redshift"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
|  Amazon Redshift 연결을 추가합니다. | 온프레미스 ThoughtSpot Falcon 데이터베이스에 Amazon Redshift 연결을 추가합니다.자세한 내용은 ThoughtSpot 설명서에서 [Amazon Redshift 연결 추가](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-add-connection.html)를 참고하십시오. | DBA | 
| Amazon Redshift 연결을 편집합니다. | Amazon Redshift 연결을 편집하여 테이블과 열을 추가할 수 있습니다.자세한 내용은 ThoughtSpot 설명서에서 [Amazon Redshift 연결 편집](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-edit-connection.html)을 참조하세요. | DBA | 
| Amazon Redshift 연결을 다시 매핑합니다. | Amazon Redshift 연결을 추가할 때 생성된 소스 매핑 .yaml 파일을 편집하여 연결 매개변수를 수정합니다. 예를 들어 기존 테이블 또는 열을 기존 데이터베이스 연결의 다른 테이블이나 열에 다시 매핑할 수 있습니다. ThoughtSpot은 연결에서 테이블 또는 열을 다시 매핑하기 전과 후에 종속성을 확인하여 필요에 따라 표시되는지 확인할 것을 권장합니다.자세한 내용은 ThoughtSpot 설명서에서 [Amazon Redshift 연결 다시 매핑](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-remap-connection.html)을 참조하세요. | DBA | 
| Amazon Redshift 연결에서 테이블을 삭제합니다. | (선택 사항) Amazon Redshift 연결에서 테이블을 제거하려고 하면 ThoughtSpot이 종속성을 확인하고 종속 객체 목록을 표시합니다. 나열된 객체를 선택하여 삭제하거나 종속성을 제거할 수 있습니다. 그런 다음 테이블을 제거할 수 있습니다.자세한 내용은 ThoughtSpot 설명서에서 [Amazon Redshift 연결에서 테이블 삭제](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-delete-table.html)를 참조하세요. | DBA | 
|  Amazon Redshift 연결에서 종속 객체가 있는 테이블을 삭제합니다. | (선택 사항) 종속 객체가 있는 테이블을 삭제하려고 하면 작업이 차단됩니다. 종속 객체에 대한 링크 목록이 있는 `Cannot delete` 창이 나타납니다. 모든 종속성이 제거되면 테이블을 삭제할 수 있습니다.자세한 내용은 ThoughtSpot 설명서에서 [Amazon Redshift 연결에서 종속 객체가 있는 테이블 삭제](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-delete-table-dependencies.html)를 참조하세요. | DBA | 
| Amazon Redshift 연결을 삭제합니다. | (선택 사항) 여러 데이터 소스 또는 시각화에서 연결을 사용할 수 있으므로 Amazon Redshift 연결을 삭제하려면 먼저 해당 연결을 사용하는 모든 소스와 작업을 삭제해야 합니다.자세한 내용은 ThoughtSpot 설명서에서 [Amazon Redshift 연결 삭제](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-delete-connection.html)를 참조하세요. | DBA | 
|  Amazon Redshift의 연결 참조를 확인합니다. | ThoughtSpot 설명서의 [연결 참조](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-connection-reference.html)를 사용하여 Amazon Redshift 연결에 필요한 정보를 제공해야 합니다. | DBA | 

## 추가 정보
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-additional"></a>
+ [ThoughtSpot과 Amazon Redshift를 통한 모든 규모의 AI 기반 분석](https://aws.amazon.com/blogs/apn/ai-driven-analytics-at-any-scale-with-thoughtspot-and-amazon-redshift/)
+ [Amazon Redshift 요금](https://aws.amazon.com/redshift/pricing/)
+ [AWS SCT 시작하기](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_GettingStarted.html) 
+ [Amazon Redshift 시작하기](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html)
+ [데이터 추출 에이전트 사용](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/agents.html)
+ [Chick-fil-A는 ThoughtSpot과 AWS를 통해 인사이트 확보 속도 개선](https://www.thoughtspot.com/sites/default/files/pdf/ThoughtSpot-Chick-fil-A-AWS-Case-Study.pdf) 