본문 바로가기
Delvelopment/Kafka

[kafka Connect] 주기적으로 수행되는 무거운 쿼리 ALL_OBJECTS (table.poll.interval.ms)

by 제제킴 2020. 10. 12.
반응형

Kafka Connect 를 운영하던 중 1분에 몇번씩 아래와 같은 무거운 쿼리가 수행하는 것을 파악할 수 있었다.

 

SELECT NULL AS table_cat,
       o.owner AS table_schem,
       o.object_name AS table_name,
       o.object_type AS table_type,
       NULL AS remarks
  FROM all_objects o
  WHERE o.owner LIKE :1 ESCAPE '/'
    AND o.object_name LIKE :2 ESCAPE '/'
    AND o.object_type IN ('xxx', 'TABLE')
  ORDER BY table_type, table_schem, table_name
반응형

DB 자원의 큰 리소스를 차지하고 있었고. 해당 쿼리는 DB의 테이블 목록을 조회하는 쿼리였다.

 

해당 쿼리를 통해 Kafka Connect는 화이트리스트 및 블랙리스트 필터를 충족하고 조회해야하는 새 테이블이 있는지 확인한다.

 

Connect API 를 사용할때 "table.poll.interval.ms" 의 값을 셋팅해주면 되며, 기본값은 1분으로 되어있다.

 

즉, 1분마다 DB전체의 스키마를 조회하고 있었으니 자원을 얼마나 차지하고 있었을까...

 

아무튼 해당 셋팅의 시간을 늘려주면서 해결은 되었으나 어느정도의 시간으로 셋팅을 하는게 바람직한지는 정하진 못했다.

 

 

반응형