- 데이터 엔지니어 그룹 톡방에 올라오는 질문 정리
“원자성을 개선한다”의 의미는?
-
Task를 멱등성 있게 관리하는 것
- n시간 걸리는 하나의 작업이 있을 때, 특정 시간대에서 에러가 나면 배치를 돌리는데 n시간을 소모해야 함
- 한 작업을 1시간 단위로 쪼개 n개의 작업으로 만들고 에러 발생 시 그 시점부터 다시 시작하여 작업 속도 단축 가능 (게임의 세이브 포인트 같은 의미)
- 트랜잭션이 완전히 반영되던가, 문제가 생긴다면 반영되어서는 안됨
-
멱등성 (idempotent)
- 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질
Hbase에서 중복된 튜플을 입력할 때 기존 row 삭제만 삭제하고 새로운 row를 저장하는 법
- Hbase table version을 1로 지정
카프카에서 Json을 사용 중인데 비효율적임. 효율적인 다른 데이터 구조
- avro, thrift, protobuf
- 마이크로서비스 아키텍처에서 서비스 간 통신 : protobuf
- spark 분석 용도로 저장 시 parquet을 snappy로 압축한 형식을 사용
- 카프카단까지는 avro, spark부터는 parquet
Apache Avro
- 데이터 직렬화 시스템
- 직렬화 : 객체를 연속적인 형태로 변형
- 역직렬화 : 객체로 변환