작성
·
181
0
안녕하세요,
실시간 분석 시스템 아키텍처에 ksqlDB 사용 명분(?)을 좀 더 확실히 하고 싶어서 질문드립니다.
제가 이해한 것은 전통적 분석 시스템은 운영 DB 부하로 분석 시스템을 직접 붙일 수 없고, DW/Batch을 분석용으로 따로 두는 것으로 이해했습니다.
운영계에서 DW로 데이터를 전송하는 주기가 하루 주기인 것도 마찬가지로 운영계 I/O 부하 문제인걸까요?
또한 실시간 분석 시스템의 경우 CDC를 통해 일단위 데이터 전송에서 실시간으로 전송이 가능한 것으로 보이는데 이것은 redo dump file 전송은 DB에 직접적인 부하를 주지 않기 때문에 가능한 것인가요?
마지막으로 CDC 기반으로 실시간 데이터 전송을 했을 때 타겟 DBMS가 좋은 퍼포먼스를 가져야 함은 실시간 데이터에 대한 부하를 견딜 수 있어야 하기 때문인건가요?
질문이 많네요.. 늘 좋은 강의 감사드립니다.
답변 1
0
안녕하십니까,
제가 이해한 것은 전통적 분석 시스템은 운영 DB 부하로 분석 시스템을 직접 붙일 수 없고, DW/Batch을 분석용으로 따로 두는 것으로 이해했습니다.
=> 대부분 DW를 따로 두지만, 하지만 DW 용량이 크지 않고 운영 DB가 고성능이며 한 서버에 같이 구성하는 일부 경우도 있습니다.
운영계에서 DW로 데이터를 전송하는 주기가 하루 주기인 것도 마찬가지로 운영계 I/O 부하 문제인걸까요?
=> 운영계에서 너무 자주 가져오면 말씀하신대로 운영계 성능 문제가 있지만, 운영계 성능 문제가 없더라도 하루에 여러번 ETL로 DW로 로딩하고 데이터 만들기가 쉽지 않습니다.
또한 실시간 분석 시스템의 경우 CDC를 통해 일단위 데이터 전송에서 실시간으로 전송이 가능한 것으로 보이는데 이것은 redo dump file 전송은 DB에 직접적인 부하를 주지 않기 때문에 가능한 것인가요?
=> 네, 아예 부하를 안주는건 아닌데, 운용에서 용인될 정도의 작은 부하를 줍니다.
마지막으로 CDC 기반으로 실시간 데이터 전송을 했을 때 타겟 DBMS가 좋은 퍼포먼스를 가져야 함은 실시간 데이터에 대한 부하를 견딜 수 있어야 하기 때문인건가요?
=> 음. 제가 타겟 DBMS가 좋은 퍼포먼스를 가져야한다고 했는지요? 만약 그랬다면 DW업무가 I/O가 많이 필요하기 때문에 타겟 DBMS가 좋은 퍼포먼스를 가져야 한다는 의미입니다. CDC는 소스 보다는 타겟 성능에 좀 더 영향을 주는데, 그렇다고 타겟 성능이 더 좋을 필요는 없습니다.
감사합니다.