인프런 커뮤니티 질문&답변

이무님의 프로필 이미지
이무

작성한 질문수

카프카 완벽 가이드 - ksqlDB

Stream에서 Pull 쿼리 제약 사항

Pull 쿼리 제약에 대한 이유

작성

·

119

0

안녕하세요,

강의 내용 중 table에 대해서 source를 topic으로 하는 경우 pull 쿼리가 불가능 한 이유에 대해 강사님께서 구체적으로 확인이 되지 않았지만 rocksdb 이슈로 추정된다라고 말씀하신 것 같은데요,

 

혹시 아래의 이유가 아닐 지 확인 부탁드립니다.

 

https://docs.ksqldb.io/en/latest/concepts/materialized-views/

In ksqlDB, a table can be materialized into a view or not. If a table is created directly on top of a Kafka topic, it's not materialized. Non-materialized tables can't be queried, because they would be highly inefficient. On the other hand, if a table is derived from another collection, ksqlDB materializes its results, and you can make queries against it.

 

document에 따르면 source가 topic인 table의 경우는 mview가 아니라고 하는 것 같습니다.

(mview가 아니기 때문에 비효율적이다.)

 

그렇다면 이 경우는 rocksdb를 통해 stateful한 결과를 저장한 뒤 가져오는 것이 아닌 토픽으로부터 전체 레코드를 읽어와서 compact한 처리를 하는 케이스라고 볼 수 있을 것 같습니다.

 

즉, source가 topic인 케이스는 오히려 rocksdb를 사용하지 않는 케이스이기 때문에 그런 것이 아닐까 추측이 되는데요 어떻게 생각하시는지 궁금합니다.

 

 

 

답변 1

1

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까.

네 말씀하신바와 비슷합니다.

Topic을 바로 소스로 해서 table을 적용하기에는 너무 연산비용이 많이들고 그렇다고 rocksdb 에서 바로 관리하려고 해도 어쩠든 메모리나 추가적인 데이타용량이 너무 많이 들어서 아예 기능구현을 제한한거로 추정됩니다.

감사합니다

이무님의 프로필 이미지
이무

작성한 질문수

질문하기