아이디어 1️⃣
원본 테이블과 운영테이블(데이터 가공 테이블)로 분리하여 관리하기
도입 이유
- 전처리 방식을 유연하게 변경할 수 있다.
- 데이터 가공 시 오류가 발생해도 원본 데이터를 보존할 수 있다.
과정
- 데이터 읽어오기 (API 데이터 호출 → 원본 테이블에 저장)
- 데이터 가공하기 (원본 테이블 → 가공한 데이터를 운영 테이블에 저장)
아이디어 2️⃣
데이터 업데이트시, 해시값을 저장해서 데이터 변경 감지
도입 이유
- 오직 변경만을 감지하기 위해 데이터를 파싱하여 저장할 필요가 없다.
- 운영테이블에는 변경이 감지된 데이터만 저장하면 된다.
- 업데이트 된 값만 변경하고 저장하여 속도를 개선할 수 있다.
과정
- 원본 테이블에는 원본 데이터(json), 해시, 변경 플래그 컬럼이 존재한다.
- 해시만을 비교하여 달라진 레코드의 변경 플래그를 True로 변경하고 원본 데이터 업데이트 한다.
- 원본 테이블의 변경 플래그가 True인 것들만 가져와서 운영 테이블에 매핑되는 레코드도 변경한다.
- 변경 후에는 원본 테이블의 변경 플래그도 다시 False로 초기화한다.
'백엔드' 카테고리의 다른 글
Kakao API 사용자 정보 호출 시 KakaoAccount가 null인 이슈 (0) | 2024.09.13 |
---|---|
GraphQL 커스텀 예외 처리하기 (0) | 2024.09.13 |
할인 정책 개발 - 추상 클래스와 인터페이스 중에 어떤걸 사용할까? (0) | 2024.08.14 |
모델링 - 다대다 관계 설계하기 (1) | 2024.08.06 |
JWT 이해하기 (0) | 2024.03.10 |