작성
·
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 에서 바로 관리하려고 해도 어쩠든 메모리나 추가적인 데이타용량이 너무 많이 들어서 아예 기능구현을 제한한거로 추정됩니다.
감사합니다