Quipu-Log 교과서
변조-탐지 감사 로그와
파일시스템 저장 엔진
파일시스템만으로 짓는 저장 엔진과 변조-탐지 감사 로그 — 밑바닥부터. 비유로 직관을 잡고, 실제 코드로 확인하며, DB가 주던 보장이 파일 위에서 어떻게 다시 만들어지는지 짚어갑니다.
파트 1 · 출발점: DB 없이, 파일로
01감사 로그란, 그리고 왜 'DB 없이 파일로'인가
02Quipu-Log 지도와 DB↔파일시스템 대응표
파트 2 · 파일시스템 기본기
03파일시스템의 기본: 파일·디렉토리·inode·디스크립터
04읽고 쓰기, 그리고 rename의 원자성
05데이터는 언제 진짜 디스크에 남나: page cache와 fsync
06std::fs 도구상자: Rust로 파일 다루기
파트 3 · 저장 엔진의 심장: append-only 로그
07append-only 로그 = WAL이 곧 데이터베이스
08세그먼트 파일과 롤오버
09레코드 프레이밍: 길이·CRC32·magic/version
10직렬화: 구조체를 바이트로
파트 4 · DB가 공짜로 주던 보장을 파일로 재현
11내구성: fsync 정책과 group commit
12원자성과 크래시 복구: torn write와 꼬리 탐지
13동시성 제어 ①: single-writer와 파일 락
14동시성 제어 ②: 읽기 스냅샷과 MVCC
15인덱싱: 인메모리 인덱스 + 디스크 토큰
16쿼리 실행: 세그먼트 스캔과 커서 페이지네이션
17삭제와 보존: 세그먼트 unlink vs DELETE
18저장소 레이아웃과 포맷 버저닝
파트 5 · 무결성: 고치면 티가 나게 (보안 ①)
19해시 함수와 SHA-256: 디지털 지문
20머클 히스토리 트리: 로그를 32바이트로 커밋
21포함 증명·일관성 증명
22체크포인트와 외부 앵커링
23tamper-evident vs tamper-proof, 그리고 위협 모델
파트 6 · 기밀성: 비밀을 지키면서 검색하기 (보안 ②)
24필드 보호 4단계: 평문/SHA-256/HMAC/RSA
25대칭·비대칭·하이브리드 암호와 AEAD
26블라인드 인덱스: 평문 없이 검색
27쓰기 전용 배포: 개인키 없는 서버
28키 관리: 키링·버저닝·로테이션 vs 리키
파트 7 · 쓰기·읽기 경로
29비동기 파이프라인: 논블로킹 emit과 백프레셔
30신뢰성: 재시도·백오프·DLQ·멱등성
31tower 미들웨어: HTTP 요청 자동 기록
32권한(RBAC)·필터·메타 감사
파트 8 · 분산·운영·확장
33단일 장애점과 가용성: 클라이언트 스풀
34수평 확장: 샤딩·일관성 해싱·읽기 복제
35서버·클라이언트·MCP·관측성