마이그레이션 개요

이 페이지에서는 PostgreSQL용 AlloyDB로 데이터를 마이그레이션하는 방법과 마이그레이션하는 방법을 간략하게 설명합니다.

데이터 가져오는 중

다음 두 가지 방법으로 데이터를 AlloyDB로 이전할 수 있습니다.

  • 데이터가 포함된 파일을 수동으로 가져옵니다.

  • Google Cloud Database Migration Service를 사용하여 전체 활성 PostgreSQL 인스턴스의 콘텐츠를 새 AlloyDB 클러스터로 마이그레이션합니다.

파일에서 보관처리된 데이터 가져오기

AlloyDB를 사용하면 Cloud Storage 버킷에 있는 파일에서 데이터를 가져올 수 있습니다. AlloyDB는 다음을 비롯하여 데이터 가져오기에 다양한 파일 형식을 지원합니다.

  • psql를 사용하여 로드된 파일당 하나의 테이블 콘텐츠가 포함된 CSV

  • pg_restore를 사용하여 가져온 전체 PostgreSQL 데이터베이스의 바이너리 보관 파일인 DMP

  • psql로 처리된 PostgreSQL 데이터베이스의 일반 텍스트 재구성인 SQL입니다.

Database Migration Service로 활성 인스턴스 이전하기

데이터 덤프 파일을 수동으로 가져오는 대신 AlloyDB용 Database Migration Service를 사용할 수 있습니다. 이 서비스를 사용하면 모든 데이터베이스와 메타데이터를 포함하여 활성 PostgreSQL 인스턴스의 전체 콘텐츠를 새 AlloyDB 클러스터로 마이그레이션할 수 있습니다. Database Migration Service를 사용하면 최소한의 다운타임으로 기존 애플리케이션을 AlloyDB를 새 데이터 저장소로 사용하는 방식으로 전환할 수 있습니다.

가져온 데이터에 지원되는 언어

AlloyDB는 다음과 같은 언어를 지원합니다.

  • ICU에서 제공하는 전체 언어 집합입니다.
  • libc에서 제공하는 제한된 언어 집합:
    • C.UTF-8
    • en_US.utf8

AlloyDB로 가져오려는 데이터베이스의 기본 언어가 여기에 나열된 두 가지 언어 이외의 libc 언어인 경우에도 데이터를 가져올 수 있지만 기본 언어는 적용되지 않습니다. ORDER BY를 사용하는 SQL 쿼리가 결과를 올바르게 정렬하도록 하려면 데이터를 가져온 후 추가 단계를 수행해야 할 수 있습니다.

새 데이터베이스에서 libc에서 제공하는 AlloyDB의 기본 언어인 C.UTF-8를 사용하도록 허용하는 것이 좋습니다. 그런 다음 애플리케이션의 쿼리가 ORDER BY 절에 포함될 수 있는 열에 정렬을 연결하고 각 열에 적절한 ICU 기반 정렬을 지정합니다. 다음과 같은 ALTER TABLE DDL 쿼리를 통해 이 작업을 실행할 수 있습니다.

ALTER TABLE TABLE_NAME
    ALTER COLUMN COLUMN_NAME
    SET DATA TYPE COLUMN_DATA_TYPE
    COLLATE "COLLATION_NAME";

새 AlloyDB 클러스터는 ICU에서 제공하는 언어를 기반으로 수백 개의 정렬을 정의하며 PostgreSQL CREATE COLLATION 기능을 사용하여 더 추가할 수 있습니다. AlloyDB 클러스터에 정의된 ICU 기반 정렬 이름의 전체 목록을 보려면 인스턴스에서 다음 쿼리를 실행합니다.

SELECT collname FROM pg_collation WHERE collprovider = 'i';

AlloyDB는 ICU 기반 정렬 외에도 ucs_basic라는 PostgreSQL 내장 정렬을 지원합니다. 이 정렬은 유니코드 코드 포인트의 표준 순서를 사용하여 특히 효율적인 정렬을 지원합니다. 적절한 정렬 순서가 유니코드 코드 포인트 목록과 일치하는 열에 사용하는 것이 좋습니다.

데이터 내보내기

명령줄 유틸리티를 사용하여 AlloyDB 데이터를 다양한 형식으로 Cloud Storage 버킷에 저장된 파일로 내보낼 수 있습니다.

  • CSV: psql를 사용하여 파일당 테이블 하나를 내보냅니다.

  • pg_dump를 사용하여 전체 데이터베이스의 휴대용 바이너리 보관 파일을 만드는 DMP

  • SQL: pg_dump를 사용하여 DDL 및 SQL 문 목록을 만들어 데이터베이스를 재구성합니다.