SQLite를 프로덕션에서 쓰려면 WAL, 락, VFS를 제대로 알아야 한다
이 글은 SQLite를 단순한 로컬 임베디드 DB가 아니라 저지연 서버용 데이터베이스로 쓰는 방법을 정리한다. WAL 모드, busy timeout, BEGIN IMMEDIATE, cache_size, mmap_size, VFS 기반 복제까지 실전 설정이 꽤 구체적으로 나온다. 다만 분산 쓰기나 테라바이트급 데이터셋에는 여전히 PostgreSQL 같은 서버형 DB가 맞다는 선도 분명히 긋는다.
- 1
WAL 모드를 켜면 읽기와 쓰기가 서로 막히는 문제를 크게 줄일 수 있다
- 2
SQLite는 여전히 단일 writer 모델이라 SQLITE_BUSY를 busy_timeout과 BEGIN IMMEDIATE로 다뤄야 한다
- 3
cache_size와 mmap_size 설정으로 읽기 성능을 끌어올릴 수 있다
- 4
클라우드의 휘발성 로컬 디스크에서는 Litestream, LiteFS 같은 VFS·복제 도구가 사실상 필수다
SQLite 프로덕션 논쟁은 '쓸 수 있냐 없냐'보다 '쓰기 패턴과 운영 모델이 맞냐'가 핵심이다. 읽기 많고 단일 서버·엣지 배포에 가까운 서비스라면 네트워크 왕복을 없애는 이득이 꽤 크지만, 락과 내구성 설정을 대충 두면 바로 발목 잡힌다.
관련 기사
데카트론 독일, 웹 결제에 유럽식 계좌이체 ‘웨로’ 붙였다
데카트론 독일이 자사 웹사이트 결제 수단에 유럽 결제 이니셔티브의 웨로를 도입했다. 카드 네트워크를 거치지 않는 실시간 계좌 간 결제로 수수료를 낮추고, 멤버십과 결제를 묶어 고객 유지까지 노리는 움직임이다.
SMTP를 HTTP 위에서 다시 만든다면? 기존 부품만 조립한 현대식 이메일 실험
글쓴이는 SMTP를 대체하려는 게 아니라, HTTP·WebFinger·Ed25519·HPKE·JMAP 같은 이미 검증된 기술로 이메일의 문제를 다시 설계해보는 HMTP 실험을 소개해. 핵심은 주소 형태만 user@domain으로 유지하고, 전송·발견·서명·암호화·스팸 방어·읽기 모델을 전부 현대 웹 인프라 위에 얹는 거야.
버셀 실험실의 Scriptc, TypeScript를 Node 없이 네이티브 바이너리로 컴파일
Vercel Labs가 공개한 Scriptc는 일반 TypeScript 코드를 Node, V8, JavaScript 엔진 없이 작은 네이티브 실행 파일로 컴파일하는 실험적 컴파일러다. 정적으로 컴파일 가능한 코드와 동적 실행이 필요한 코드를 명확히 나누고, Node와 결과가 바이트 단위로 맞는지 800개 이상 테스트로 검증한다.
고의 새 가비지 컬렉터 ‘그린 티’, 힙을 훑는 방식이 어떻게 달라졌나
고 1.25에서 도입되고 1.26에서 기본값이 된 새 가비지 컬렉터 ‘그린 티’를 실제 힙 배치와 성능 측정으로 뜯어본 글이다. 핵심은 포인터를 무작정 따라가는 대신 메모리 span 단위로 훑어 캐시 친화성을 높였다는 점이고, 동시에 고의 비이동식 컬렉터가 여전히 sparse page 회수에 약하다는 한계도 같이 보여준다.
SIMD는 고수 전용 흑마법이 아니라, 모든 개발자가 알아야 할 반복문 최적화임
미첼 하시모토가 SIMD를 ‘복잡한 고성능 영역’으로만 볼 필요가 없다고 설명한 글이다. Ghostty의 실제 Zig 코드를 예로 들며, 큰 배열이나 문자열을 훑는 뜨거운 반복문은 벡터 너비만큼 한 번에 처리하는 5단계 패턴으로 생각할 수 있다고 풀어낸다.
댓글
댓글
댓글을 불러오는 중...