마이그레이션 개요

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

데이터 가져오기

AlloyDB로 데이터를 마이그레이션하는 방법은 다음 두 가지입니다.

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

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

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

AlloyDB는 Cloud Storage 버킷에 있는 파일에서 데이터를 가져올 수 있도록 지원합니다. AlloyDB에서 지원되는 데이터 가져오기 파일 형식은 다음과 같습니다.

  • CSV: 테이블당 하나의 파일을 사용하며 psql를 통해 로드됩니다.

  • DMP: 전체 PostgreSQL 데이터베이스를 담은 바이너리 보관 파일로, pg_restore를 사용하여 가져옵니다.

  • SQL: PostgreSQL 데이터베이스를 일반 텍스트 형태로 재구성한 파일이며, psql을 사용해 처리합니다.

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 쿼리가 결과를 올바르게 정렬하도록 하려면, 데이터를 가져온 후 추가 작업이 필요할 수 있습니다.

새 데이터베이스가 AlloyDB의 기본 로케일인 libc 제공 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';

ICU 기반 콜레이션 외에도, AlloyDB는 ucs_basic이라는 PostgreSQL 기본 제공 콜레이션을 지원합니다. 이 콜레이션은 유니코드 코드 포인트의 표준 순서를 사용하여 매우 효율적인 정렬을 제공합니다. 해당 유니코드 코드 포인트 목록의 순서와 일치하는 정렬 방식이 적합한 열에는 이 정렬 규칙을 사용하는 것이 좋습니다.

데이터 내보내기

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

  • CSV: 테이블당 하나의 파일로 내보내며, psql을 사용합니다.

  • DMP: 전체 데이터베이스의 이식 가능한 바이너리 보관 파일을 생성하며, pg_dump를 사용합니다.

  • SQL: 데이터베이스를 재구성하는 데 필요한 DDL 및 SQL 문 목록을 생성하며, pg_dump를 사용합니다.

다음 단계