태그

concurrency

10

백엔드 엔지니어링수정 2026-08-18

분산 트랜잭션과 합의 — 여러 노드가 하나의 결정에 이르는 법

노드가 여러 대로 늘어난 순간 커밋은 선언이 아니라 합의가 된다. 이 글은 2PC가 코디네이터 장애에서 정확히 무엇을 잃는지, 3PC·Calvin·Spanner와 Saga가 그 대가를 각각 어디로 옮기는지, Paxos·Raft·PBFT가 견디는 장애 모델이 어떻게 다른지, 그리고 분산 원장이 데이터베이스와 갈라지는 지점을 정리한다.

백엔드 엔지니어링수정 2026-08-18

어디가 느린지 모른 채 스레드부터 늘리는 일 — 배치 성능 최적화와 병렬화 3단계

병렬화는 튜닝 축 다섯 개 중 하나의, 그 안에서도 한 칸이다. 그마저도 병목이 어디인지 확정한 뒤에야 의미를 갖는다. 이 글은 측정 설비를 세우는 데서 시작해 Multi-threaded Step·Parallel Step·Partitioning 셋이 각각 무엇을 쪼개고 무엇을 깨뜨리는지, 그리고 여기서 말하는 파티셔닝이 왜 저장 구조를 바꾸는 파티셔닝과 다른 결정인지를 정한다.