이번에는 자주 사용하는 Database 컴포넌트(Source)에 대해 소개합니다.
Table/Query 선택
- Table을 선택한 경우 : 하나의 테이블 혹은 뷰를 변환 없이 간단하게 가져오고 싶은 경우에 사용합니다.
- Query를 선택한 경우 : SQL 쿼리를 직접 작성하고 캡처와 동시에 조인 처리 또는 데이터 변환을 SQL로 수행하려는 경우에 사용합니다.
Table를 선택한 경우 각 옵션에 대해
- Souce shema : 소스의 스키마 이름을 설정합니다. 디비 유저의 디폴트 스키마의 경우 생략해도 됩니다.
- Souce table/view : 소스 테이블 또는 뷰의 이름을 설정합니다.
- Where clause : SQL의 Where 절을 설정합니다. (Where 키워드 없이, Where 이후의 조건을 입력하십시오.)
쿼리 병렬화 옵션
데이터를 쿼리의 병렬 실행으로 취득하는 것으로 데이터 읽기 처리의 고속화를 기대할 수 있습니다.
- Split query by key column : 쿼리를 분할하는 데 사용할 기본 키를 지정합니다.
- Max parallel connections : 쿼리를 병렬로 실행하기 위한 연결 수를 설정합니다. 클러스터의 처리 능력(노드 수)에 대해 Node 수 x 5의 값을 기준으로 설정합니다.
쿼리를 병렬화하려면 쿼리를 분할하는 키와 최대 커넥션 수를 설정합니다. 쿼리를 병렬화하는 경우 내부적으로는 먼저 열의 최소값과 최대값을 검색하고 데이터를 최대 커넥션 수를 기준으로 범위로 나누는 where 절(아래와 같은 복수개의 조건들)을 사용하는 쿼리를 만들고, 이를 준비된 복수의 커넥션에서 각각 쿼리를 실행합니다.
# 1노드 5000건의 레코드
pk>=1 AND pk<=1000
pk>=1001 AND pk<=2000
pk>=2001 AND pk<=3000
pk>=3001 AND pk<=4000
pk>=4001 AND pk<=5000
데이터 취득 방법 지정
- None을 선택한 경우 : 데이터베이스에서 데이터를 읽고 변환이 즉시 적용됩니다. 데이터베이스 커넥션은 잡의 처리가 끝날때 까지 열려 있습니다.
- Copy를 선택한 경우 : 데이터베이스 커넥션의 접속시간을 짧게 하기 위한 방법으로, 데이터를 처리하기 전에 데이터베이스 소스에서 중간 스토리지로 데이터를 복사합니다. 데이터베이스 커넥션의 사용 시간을 줄일 수 있지만, 복사 처리 때문에 전체 잡의 실행 시간이 None에 비해 길어집니다.
Database 컴포넌트(Destination)의 설정은 여기로
대상이 Database destination인 경우, 「Xplenty 중급편 Part4:DB관련 설정(Destination편)」을 참고해 주십시오.