본문 바로가기

Database/GPDB Database Administrator Guide 한글판 작업

[GPDB DBA Guide v5.1 한글판] #데이터 로드 및 언로드

[GPDB DBA Guide v5.1 한글판] #데이터 로드 및 언로드

##서론 참고##

2018/08/20 - [GPDB Database Administrator Guide 한글판 작업] - Greenplum database administrator 한글판 작업 시작 및 안내사항



데이터 로드 및 언로드


이 섹션에서는 Greenplum 데이터베이스에 데이터를 로드 하거나 쓰는 방법 및 데이터 파일 형식을 지정하는 방법에 대해 설명합니다.


Greenplum 데이터베이스는 고성능 병렬 데이터 로드 및 언로딩과 적은 양의 데이터에 대해선느 단일 파일, 비 병렬 데이터 가져오기 및 내보내기를 지원합니다.


Greenplum 데이터베이스는 텍스트 파일, Hadoop 파일 시스템 및 웹 서버를 비롤한 여러 유형의 외부 데이터 원본에서 읽고 쓸 수 있습니다.


* COPY SQL문은 마스터 호스트의 외부 텍스트 파일과 Greenplum 데이터베이스 테이블 간의 데이터 전송을 합니다.


* External table 에서는 SELECT, JOIN 또는 SORT EXTERNAL TABLE DATA와 같은 SQL문을 사용하여 데이터베이스 외부와 직접 병렬로 데이터를 쿼리할 수 있으며, External table에 대한 뷰를 생성 할 수 있습니다. External table은 종종 외부 데이터를 읽반 데이터베이스 테이블로 로드하는데 사용됩니다. (ex. CREATE TABLE table_name AS SELECT * FROM external_table)


* External web table은 동적 데이터에 대한 액세스를 제공합니다. 이러한 데이터는 HTTP 프로토콜을 사용하여 액세스한 URL의 데이터 또는 하나 이상의 세그먼트에서 실행되는 OS 스크립트 출력으로 백업 할 수 있습니다.


* gpfdist 유틸리티는 Greenplum 데이터베이스 병렬 파일 배포 프로그램입니다. Greenplum 데이터베이스 세그먼트가 여러 파일 시스템에서 외부 데이터를 병렬로 로드할 수 있도록 External table과 함께 사용되는 HTTP 서버입니다. 서로 다른 호스트 및 네트워크 인터페이스에서 여러 개의 gpfdist 인스턴스를 실행하고 동시에 액세스 할 수 있습니다.


* gpload 유틸리티는 YAML 형식 제어 파일을 사용하여 로드 작업의 단계를 자동화 합니다.


* GemFire-Greenplum Connector를 사용하면 Pivotal GemFire 와 Greenplum 데이터베이스 테이블 간에 데이터를 전송할 수 있습니다. Pivotal GemFire는 신뢰할 수 있는 비동기 이벤트 알림과 보장된 메시지 전송을 제공하는 메모리 내 데이터 관리 시스템 입니다. GemFire-Greenplum Connector 사용에 대한 자세한 내용은 http://ggc.docs.pivotal.io/을 참조하십시오. 

Pivotal Gemfire에 대한 자세한 내용은 http://gemfire.docs.pivotal.io/을 참조하십시오.


* Greenplum-Spark Connector는 Pivotal Greenplum 데이터베이스와 Apache Spark 간에 고속 병렬 데이터 전송을 제공합니다. Greenplum-Spark Connector 사용에 대한 자세한 내용은 https://greenplum-spark.docs.pivotal.io/의 설명서를 참조하십시오.


데이터를 로드하는 방법을 선택하는 기준은 위치, 크기, 형식 및 필요한 변환 등 원본 데이터의 특성에 따라 달라집니다.


가장 간단한 방법은, COPY SQL 명령은 Greenplum 데이터베이스 마스터 인스턴스가 액세스 할 수 있는 텍스트 파일에서 테이블로 데이터를 로드합니다. 이 경우 설정이 필요하지 않으며 적은 양의 데이터에 적합한 성능을 제공합니다. COPY 명령을 사용하면 데이터베이스에 복사되거나 데이터베이스에서 복사된 데이터가 마스터 호스트와 데이터베이스의 단일 파일 간에 전달됩니다. 이렇게 하면 데이터 세트의 총 크기가 외부 파일이 있는 파일 시스템의 용량으로 제한되고 단일 파일 쓰기 스트림으로의 데이터 전송이 제한됩니다.


대규모 데이터셋에 대한 보다 효율적인 데이터 로드 옵션은 Greenplum 데이터베이스 MPP 아키텍처를 활용하여 Greenplum 데이터베이스 세그먼트를 사용하여 데이터를 병렬로 로드하는것 입니다. 이러한 방법을 사용하면 여러 개의 파일 시스템에서 여러 NIC을 통해 여러 호스트에 동시에 데이터를 로드하여 매우 높은 데이터 전송 속도를 달성할 수 있습니다. External table을 사용하면 데이터베이스 내에서 일반 데이터베이스 테이블처럼 외부 파일에 액세스할 수 있습니다. gpfdist, Greenplum 데이터베이스 병렬 파일 배포 프로그램, External table은 모든 Greenplum 데이터베이스 세그먼트의 리소스를 사용하여 데이터를 로드하거나 언로드함으로써 완전한 병렬화를 제공합니다.


Greenplum 데이터베이스는 Hadoop Distributed File System의 병렬 아키텍처를 활용하여 해당 시스템의 파일에 액세스합니다.


##섹션 리스트##


※ Loading Data Using an External Table

※ Loading and Writing Non-HDFS Custom Data

※ Handling Load Errors

※ Loading Data with gpload

※ Loading Data with COPY

※ Running COPY in Single Row Error Isolation Mode

※ Optimizing Data Load and Query Performance

※ Unloading Data from Greenplum Database

※ Transforming XML Data

※ Formatting Data Files

※ Example Custom Data Access Protocol


◎상위 주제 : #Greenplum Database Administrator 가이드


* 원본 보기 (https://gpdb.docs.pivotal.io/510/admin_guide/load/topics/g-loading-and-unloading-data.html)

Image result for greenplum



* 해당 섹션 리스트 제목에 링크가 없는 것은 아직 하위 경로 번역 작업이 이루어 지지 않음을 미리 알려 드립니다. (하위 경로 번역이 이루어 지면 섹션 제목에 링크가 활성화 됩니다.)


By.sTricky