Apache Kafka ‐ KSQLDB Table - thought-corner/Backend-PlayGround GitHub Wiki
Topic을 소스로 가지는 Table의 RocksDB 동작 메커니즘
Push쿼리 수행 시 RocksDB가 기동되어 Stateful SQL을 수행한다.
Change Log는 Push쿼리 수행중에 데이터 변경 사항을 내부 토픽으로 가지며, RocksDB 복구 시 사용된다.
RocksDB 기본 Storage 디렉터리는 /tmp/kafka-streams이며 KSQLDB 환경 설정으로 변경 가능하다.
여러 개의 컬럼들을 PK로 가지는 Table
Table은 여러 개의 컬럼들을 PK로 가질 수 있다. PK가 여러 컬럼을 가질 때, KEY_FORMAT은 KAFKA가 될 수 없으며, Json 또는 Avro와 같은 포맷이어야 한다,
create table test
(
cust_id integer primary key,
cust_seq integer primary key,
name varchar,
email varchar
)
with
(
KAFKA_TOPIC = 'topic',
KEY_FORMAT = 'JSON',
VALUE_FORMAT = 'JSON',
PARTITIONS = 1
);