LabHub

데이터 파이프라인 · 멱등성과 재처리 · 퀴즈

퀴즈: 멱등성과 재처리

LabHub 에서 이어서 보기

문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. 멱등한 적재의 출발점으로 가장 중요한 것은?

    1. 한 번에 넣는 배치 크기를 줄이는 것
    2. 각 행을 유일하게 식별하는 자연 키를 정하고 그것에 유일 제약을 거는 것
    3. 트랜잭션 격리 수준을 올리는 것
    4. 실패했을 때 재시도 횟수를 늘리는 것
  2. ON CONFLICT DO UPDATE 에 IS DISTINCT FROM 조건을 붙이지 않으면 생기는 문제는?

    1. 같은 키로 중복 행이 생긴다
    2. 충돌 처리에서 오류가 발생한다
    3. 불필요한 비교가 없어져 적재 성능이 두 배 좋아진다
    4. 내용이 하나도 안 바뀐 재실행에서도 모든 행의 갱신 시각이 올라가 변경 추적이 불가능해진다
  3. 내용 해시(content hash)를 두는 이유는?

    1. 원본 값을 감춰 보안을 지키려고
    2. 원본 대신 해시만 두어 공간을 줄이려고
    3. 컬럼이 많아도 변경 여부를 한 번의 비교로 판단하기 위해
    4. 해시 기준 정렬을 빠르게 하기 위해
  4. 같은 전표가 한 배치 안에 두 번 들어 있을 때 upsert 만으로는 부족한 이유는?

    1. 한 문장 안에서 같은 키를 두 번 갱신하려 하면 오류가 나기 때문
    2. upsert 는 배치를 지원하지 않기 때문
    3. 해시 계산이 불가능하기 때문
    4. 트랜잭션이 롤백되기 때문
  5. 실행마다 삽입 건수와 갱신 건수를 로그로 남기면 얻는 것은?

    1. 건수를 미리 알아 적재 속도가 빨라진다
    2. 남긴 기록을 서로 대조해 중복이 자동으로 제거된다
    3. 원천의 스키마 변경이 방지된다
    4. 무변경 실행과 변경 반영 실행을 구분할 수 있어 파이프라인과 원천의 이상을 조기에 감지할 수 있다
  6. 재시도 블록 안에 외부 API 호출을 넣으면 안 되는 이유는?

    1. API 가 느려서
    2. 재시도할 때마다 그 부수 효과가 반복되기 때문
    3. 트랜잭션 안에서는 네트워크를 쓸 수 없어서
    4. API 응답이 캐시되기 때문