백엔드

활용성있는 데이터 파이프라인 구축을 위한 아이디어

qwertyv 2024. 8. 30. 22:49

아이디어 1️⃣

원본 테이블과 운영테이블(데이터 가공 테이블)로 분리하여 관리하기

 

도입 이유

- 전처리 방식을 유연하게 변경할 수 있다. 

- 데이터 가공 시 오류가 발생해도 원본 데이터를 보존할 수 있다. 

 

과정

  1. 데이터 읽어오기 (API 데이터 호출 → 원본 테이블에 저장)
  2. 데이터 가공하기 (원본 테이블 → 가공한 데이터를 운영 테이블에 저장)

아이디어 2️⃣

데이터 업데이트시, 해시값을 저장해서 데이터 변경 감지

 

도입 이유

- 오직 변경만을 감지하기 위해 데이터를 파싱하여 저장할 필요가 없다.

- 운영테이블에는 변경이 감지된 데이터만 저장하면 된다.

- 업데이트 된 값만 변경하고 저장하여 속도를 개선할 수 있다.

과정

원본 데이터

  1. 원본 테이블에는 원본 데이터(json), 해시, 변경 플래그 컬럼이 존재한다.
  2. 해시만을 비교하여 달라진 레코드의 변경 플래그를 True로 변경하고 원본 데이터 업데이트 한다.
  3. 원본 테이블의 변경 플래그가 True인 것들만 가져와서 운영 테이블에 매핑되는 레코드도 변경한다.
  4. 변경 후에는 원본 테이블의 변경 플래그도 다시 False로 초기화한다.