콘텐츠로 이동

1.소개#

Altibase Connector for Kafka(이하 Altibase 커넥터)는 사용자가 Kafka를 통해 Altibase의 변경 데이터를 다른 데이터베이스로 복제하거나, 다른 데이터베이스의 변경 데이터를 Altibase로 복제할 때 사용하는 도구이다.

Altibase 커넥터는 Altibase 에서 변경된 데이터를 Kafka로 전달하는 Altibase 소스 커넥터와 Kafka에서 수신한 메시지를 Altibase 서버에 적용하는 Altibase 싱크 커넥터로 구성되어 있다.

구조와 개념#

사용자가 Kafka를 통해 Altibase에서 변경된 데이터를 다른 데이터베이스로 복제하거나, 다른 데이터베이스에서 변경된 데이터를 Altibase로 복제하기 위해서는 아래 그림과 같이 source connector 와 sink connector가 필요하다.

Altibase 소스 커넥터#

Altibase 에서 변경된 데이터를 Kafka로 전달하는데 사용한다. 내부적으로 XLog 콜렉터가 포함되어 있어, XLog 송신자로 부터 메타 데이터와 XLog를 전달 받는다.

Altibase 싱크 커넥터#

Kafka에서 수신한 메시지를 Altibase 서버 및 다른 싱크 데이터베이스에 적용하는데 사용한다.

시스템 요구사항#

Altibase 커넥터를 설치하고 실행하기 위해서는 다음의 시스템 요구사항을 만족해야 한다.

시스템 요구사항에 대해 보다 자세히 알고 싶을 경우, Altibase 고객서비스포털( http://support.altibase.com/kr/ )로 연락 바랍니다.

지원 OS#

Altibase 커넥터가 지원하는 OS는 아래와 같다.

종류 지원 OS
Altibase 소스 커넥터 현재 LINUX 운영체제만 지원한다.
Altibase 싱크 커넥터 Confluent JDBC Connector가 지원하는 OS를 모두 지원한다.

지원 데이터베이스#

Altibase 커넥터가 지원하는 데이터베이스는 아래와 같다.

종류 지원하는 데이터베이스
Altibase 소스 커넥터 Altibase 7.1 이상.
소스 커넥터와 동일한 버전의 데이터베이스를 지원한다.
Altibase 싱크 커넥터 JDBC 4.2 이상을 지원하는 데이터 베이스
- Altibase 7.1.0.5.6 이상
- Oracle
-MariaDB
-PostgreSQL

Note

  • 싱크 데이터베이스로 Altibase 7.1을 사용할 경우, Altibase 7.1.0.5.6 이상이어야하며 Altibase42.jar 드라이버를 이용해야 한다.

JAVA#

Java 1.8 이상에서 사용해야 한다.

지원 데이터 타입#

Altibase 커넥터가 지원하는 Altibase의 데이터 타입은 다음과 같다. LOB은 지원하지 않는다.

  • 숫자형 데이터 타입
  • NUMBER
  • FLOAT1
  • DOUBLE
  • REAL
  • BIGINT
  • INTEGER
  • SMALLINT
  • 날짜형 데이터 타입
  • DATE
  • 문자형 데이터 타입
  • CHAR
  • VARCHAR
  • NCHAR
  • NVARCHAR

용어#

XLog

소스 데이터베이스의 리두 로그(Redo Log)를 논리적인 형태로 변환한 로그로, XLog 송신자가 Altibase 소스 커넥터로 전송할 때 사용한다.

XLog 송신자

XLog 송신자는 액티브 리두 로그를 분석하여 XLog 형태로 변환하고 이를 소스 커넥터의 XLog 콜렉터에 전달 한다.

XLog 콜렉터

XLog 콜렉터는 XLog 송신자로 부터 메타 데이터와 XLog를 전달 받는다. XLog 콜렉터는 메타 데이터, XLog 큐, 트랜잭션 테이블 및 XLog 풀을 가지고 있다.

Handshaking

Handshaking은 XLog 송신자가 XLog 콜렉터에게 XLog를 보내기 전에 프로토콜 버전과 메타 데이터를 확인하는 작업이다.

소스 데이터베이스(Source DB)

Kafka로 데이터를 공급하는 데이터베이스를 의미한다. 소스 커넥터는 소스 데이터베이스의 데이터를 읽어 Kafka 토픽으로 전송한다.

싱크 데이터베이스(Sink DB)

Kafka에서 전달된 데이터를 저장하는 대상 데이터베이스를 의미한다. 싱크 커넥터가 Kafka 토픽의 메시지를 읽어 싱크 데이터베이스에 저장한다.


  1. FLOAT 타입은 다른 데이터베이스간 데이터 처리 형식의 차이가 있어서, 문자열로 변환되어 처리된다.