작성
·
137
0
강사님 너무 좋은 강의 감사드립니다.
JDBC Source Connector 예시를 잘 보았습니다.
해당 소스 커넥터의 경우 DB를 주기적으로 폴링해서 변경사항을 감지해서 DB 부담이 큰 것으로 알고 있는데요.
(CDC source connector에 비해)
혹시 해당 방식의 커넥터는 현업에서도 메이저하게 사용하는 방식인지 아니면 단순 예시인지 궁금합니다.
답변 2
0
안녕하세요, 이도원입니다.
MQ에서 메시지 폴링 방식의 경우 Short, Long polling의 설정으로 폴링의 주기를 제어할 수 있습니다. 변경되지 않은 데이터가 존재할 경우, 폴링 방식을 사용하면 오히려 Cost가 많이 발생할 수 밖에 없기도 합니다. 대신 말씀하셨던 CDC 을 사용하여 데이터 변경 시 변경사항을 알려주는 것이 더 효율적이라고 생각됩니다. 그러나 다른 한편으로는 JDBC Source connector의 사용을 무조건 지양한다고 볼수도 없는 것이, 데이터 구조 및 사용되는 폴링의 양에 따라서는 이것이 최선의 선택이 될 수도 있었던 것 같습니다. Cloud Native 및 MSA에서는 다향성과 다양한 시스템 (서비스) 들을 효율적으로 연계함으로써 최선의 효과를 얻는 것이 필요하다고 생각합니다. 현업에서 이거다라고 하는 것 보다는 사용하기 쉽고, 도입 비용이 낮고, 어느정도 성능이 따라준다면, 좋은 선택지라고 생각됩니다. 추가로, 강의에서는 수강하는 수강생들의 환경이나 학습도에 대해서는 알수 없는 불특정 다수가 대상이기 때문에, 보편적인 데이터 스토리지를 사용하고, 접근하고 이해하기 쉬운 예제를 선택하는 것도 필요하다고 생각됩니다. 명확하게 이겁니다 라는 답변을 드리지 못해 죄송합니다. ^^;
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 임동혁님.
JDBC Source Connector는 데이터베이스의 데이터를 주기적으로 폴링하여 Kafka로 전송하는 방식으로, 사용하기에 따라 효과적일 수도 있고 비효율적일 수도 있습니다. 이러한 방식은 특별한 설정 없이도 다양한 데이터베이스에서 Kafka로 데이터를 전송할 수 있다는 장점이 있지만, 주기적으로 폴링하는 과정에서 데이터베이스에 부하를 줄 수 있다는 단점도 있습니다.
현업에서는 데이터 일관성 및 성능 관리를 위해 여러 접근 방식을 사용합니다. CDC(Change Data Capture) 방식은 데이터가 변경될 때마다 트리거되어 변경 사항을 Kafka에 전송하므로 실시간 데이터 동기화와 데이터베이스 부하 감소에 효율적입니다. 하지만, 이 역시 특정 데이터베이스와 버전에 종속적일 수 있습니다.
아래 유사한 질문과 답변을 참고하여 JDBC Source Connector와 CDC의 사용 사례를 더 깊이 이해하실 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.