개발자

수시로 변경되는 원천테이블 적재 방법

2023년 02월 21일조회 83

안녕하세요. 기존에 수시로 변경되는 원천테이블 때문에 정합성 이슈가 있는 시스템 개선을 담당하게 됐습니다. 이슈는 기존 원천데이터의 생성일이나 특정 컬럼의 날짜 값으로 전일 데이터를 가져오고 있는데, 이미 가져온 데이터에 변경이 이뤄져 원천과 타겟의 정합이 안맞아 발생하고 있습니다. 원천을 가져올 때, update 일자로 가져오면 편하겠지만, 타부서의 시스템이라 저희가 요청해도 API 수정이 필요해 받아들여지지 않을 가능성이 큽니다. 아무래도 원천의 인덱싱 문제도 있을테고요. 이 상황에서 변경되는 값에 대해서 어떤식으로 가장 효율적으로 가져올 수 있는지 방안이 생각이 안나 커리어리 선배님들에게 조언 부탁드리고자 질문 올립니다..ㅠ 현재 이야기 나온 방법은 무식하게 특정 기간의 데이터를 매번 가져와 머지 시키자는 방법이 나왔지만, 이것도 그 기간을 넘어간 데이터에 대해서는 정합성이 안맞을 거라… 다른 좋은 방안을 아시는 분이 있으시면 도움 한 번 부탁드립니다! 만약 정말 기간으로 계속 조회하는 방법 밖에 없다면.. 어쩔 수 없죠..ㅠ 타부서에게 애걸해볼 수 밖에요…

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

인기 답변

손정현님의 프로필 사진

안녕하세요! 질문을 이렇게 이해했는데 맞을까요? 1. 질문자님의 시스템에서 쓰는 데이터를 타부서에서 관리하고 있음 2. (태그를 보아) batch로 타부서 데이터의 생성일 또는 날짜 값으로 전일 데이터를 가져오고 있음 3. 이전 batch 작업 때 가져왔던 데이터도 이번 batch 돌 때 변경됐다면 변경사항을 반영해야 하는데 이게 어려움 4. 데이터 update 날짜로 가져오는 방법은 타부서가 해줘야만 가능함 (제가 질문을 잘못 이해한 거라면 밑의 내용은 전혀 연관 없어서 무시하셔도 좋습니다 ㅎㅎ) 좀 더 단순화 해보면 질문자님의 데이터는 일종의 캐시인데 최신 데이터는 아닌 상태, 즉 stale 하다고 볼 수 있을까요? 원본 데이터에 대한 조작이 제한적인 상태에서 이 stale 데이터를 최신 데이터로 맞춰주는 문제는 쉽지 않아보이긴합니다. 현재 질문자님의 서버 구조?가 어떻게 되어있는지 모르는 상태에서, 확실히 제일 먼저 생각나는건 batch 돌 때 update 시간으로 최신 데이터를 긁어오는 방법이긴하네요. 이 방법도 사실 다음 batch가 돌기전까지는 데이터가 stale 해질 수 있어서 완벽한 해결책은 아닌 것 같아요. 그리고 날짜 말고는 어떤 값들이 있는지 몰라서 이렇다 할 방법이 떠오르지는 않네요. stale 데이터 처리 전략이나 캐시 처리 전략에 대해서 구글링 해보시면 도움이 되실 수도 있을 것 같습니다. (현재 구조에서 이런 구조가 가능한지는 모르겠지만) 개인적으로 이상적인 방법은 질문자님이 batch로 데이터의 변경 이력을 맞추려고 하는 것 보다, 원천 쪽에서 변경 사항이 생기면 그걸 메세지 형태로 전파해주고 질문자님은 해당 메세지에 구독해서 가지고 계신 데이터를 최신으로 업데이트 해주는게 그나마 편하지 않을까 생각합니다. 이상적인건 타부서와 말이 잘 통해서 가장 쉬운 방법으로 서로에게 좋게 해결하는건데 아마 타부서에서는 작업 우선 순위가 높지는 않을 것 같아서 어려운 문제인 것 같습니다.

profile picture

익명

작성자

2023년 02월 21일

안녕하세요, 질문이 모호했는데 완벽하게 이해해주셨습니다! 감사합니다!! 말씀하신대로 타부서에서 업데이가 될 때마다 해당 데이터를 업데이트해주는게 가장 이슈가 생기지 않을 것 같은데, 쉽지 않을 것 같아 차선책으로 업데이트 일자로 데이터를 가져오는 방법을 생각했었습니다. 말씀해주신 stale 데이터 처리전략, 캐시 처리전략에 대해서 한 번 알아보겠습니다! 배치로 데이터 처리하는 작업을 처음 맡아봐서 개념이 확실하게 안잡혔었는데 데이터 성격에 따른 처리 전략이 있다는 걸 알게되었네요. 정말 감사합니다!🥰

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!