2026 Mac Mini 대여 칠곱이십사 의사결정 매트릭스
LMDB·RocksDB — 배치 쓰기·압축 창·checkpoint·디스크 잔여 임계
칠곱이십사로 LMDB·RocksDB를 한 대의 APFS NVMe에 올리면, 주간 큐와 압축·checkpoint가 디스크 대역을 두고 충돌합니다. 아래 표는 선택 기준과 황·적 임계, 복붙 가능한 환경 플래그·OPTIONS, 01:00–05:00 로컬 야간 창 권장을 묶습니다. 동일 디스크 예산을 쓰는 스택은 APFS 디스크 워터라인 FAQ, TimescaleDB·Postgres 배치 매트릭스, Redis AOF·RDB 매트릭스와 함께 보세요.
장기 운영 리스크
렌탈 노드는 관측 에이전트·GUI 서비스와 CPU·캐시·NVMe를 공유합니다. 임베디드 KV는 겉으로 유휴인 압축 스레드가 갑자기 디스크를 점유할 때 장애가 드러납니다.
- 압축 부채: RocksDB L0가 쌓이면 지연·stall이 늘고, LMDB는 map 고정 시
MDB_MAP_FULL로 쓰기가 막힙니다. - checkpoint 겹침:
CreateCheckpoint·mdb_env_copy는 트리 복제로 잠시 여유 공간을 크게 씁니다. - 동기화 의미: 배치 경로에서 sync를 끄면 처리량은 오르지만 크래시 손실 창이 넓어집니다.
LMDB vs RocksDB 의사결정 매트릭스
SSD 쓰기 증폭 프로파일을 본 뒤 행을 고르세요.
| 차원 | LMDB | RocksDB |
|---|---|---|
| 쓰기 모델 | 단일 작가, mmap COW 페이지 | WAL·memtable·다중 쓰기 |
| 읽기 지연 | 맵이 웜하면 매우 예측 가능 | 블록 캐시·압축 상태에 민감 |
| 백그라운드 IO | sync·복사 외 최소 | 압축 스레드가 디스크 포화 가능 |
| 대량 적재 적합 | 직렬 배치·읽기 비중 높을 때 | flush·레벨 튜닝으로 스파이크 분산 |
디스크·IO 임계 체크리스트
| 신호 | 황색(스로틀) | 적색(중단) |
|---|---|---|
| APFS 잔여 | 약 20% 미만 또는 15GB 미만 | 약 10% 이하·급격한 감소 |
| RocksDB pending compaction | 정상 대비 50% 이상 20분 지속 | 상승 + p99 3회 연속 악화 |
| 디스크 %busy | 70% 이상 10분+SLO 미스 | 85% 이상 5분+백로그 |
소형 내장 SSD는 압축·checkpoint가 잠시 이중 공간을 쓰므로 절대 여유 GB를 함께 두는 것이 안전합니다.
실행 가능 설정 스니펫
부트스트랩에 붙이기 전에 정상 부하에서 초당 MB·지연을 측정하세요.
LMDB 환경 플래그
mdb_env_create(&env);
mdb_env_set_mapsize(env, 1ULL << 38); /* 대량 적재 전 map 선확장 */
mdb_env_open(env, path, MDB_WRITEMAP | MDB_NOSUBDIR, 0644);
/* 논리 checkpoint 배치마다 mdb_env_sync(env, 1) 검토 */
MDB_NOSYNC·MDB_NOMETASYNC는 비상 밸브로만—승인·모니터링 전제.
RocksDB OPTIONS 스케치
options.max_background_jobs = 2;
options.write_buffer_size = 64 << 20;
options.target_file_size_base = 256 << 20;
options.level0_file_num_compaction_trigger = 8;
write_options.sync = false; /* 배치 경로 */
/* 야간 창에서 DB::CompactRange */
야간 압축·checkpoint 창
- 조용한 구간: 호스트 로컬 01:00–05:00에
CompactRange·LMDB 복사·원격 업로드를 묶습니다. - 교차: RocksDB 압축과 LMDB
mdb_env_copy사이에 최소 45분을 두어 잔여가 회복되게 합니다. - checkpoint: 주간에는 논리 시퀀스만 자주 남기고, 무거운 tarball은 야간 압축 직후에 한 번.
칠곱이십사 다섯 단계 런북
- 초당 쓰기 MB와 피크 데이터 크기를 잰 뒤
mdb_env_set_mapsize또는write_buffer_size에 20% 헤드룸. - 대시보드: 잔여 공간·pending compaction·write stall 초; 황색에서 생산자 스로틀.
- 피크 시간 자동 압축이 가능하면 끄고, 야간 스크립트 직전에 다시 켬.
- 황색이 해소되기 전에는 로컬 스크래치로만 checkpoint, 아니면 스트리밍 백업.
- 분기마다 동일 SKU에서 복원 드릴.
FAQ
- LMDB면 checkpoint가 필요 없나요?
- 아니요. 논리 복구 지점과 오프박스 복사는 그대로 필요합니다.
- 같은 미니에서 NFS에 RocksDB를 두면?
- 라이브 경로는 피하세요. 지연 분산이 압축 가정을 깨뜨립니다.
- write stall이 30초 두 번이면?
- SKU 대비 유입 곡선이 과도합니다. 튜닝 전에 스펙 업·노드 분리를 검토하세요.
인용 임계 한 줄
황색 20%·15GB, 적색 10%, 야간 01–05 로컬, max_background_jobs=2, LMDB map 선확장, MDB_NOSYNC 비권장.
플랜·패키지
내부 NVMe는 피크 데이터의 약 2배, CPU는 압축 여유, RAM은 블록 캐시·mmap 웜을 위해 잡으세요. 가격(gaeyak)에서 티어를 비교한 뒤 로그인 없이 대여(gumae)로 결제하고, 고객센터에서 장기 무인 운영 문의를 남기면 됩니다.
홈·블로그를 북마크한 뒤, map_size·압축 파라미터를 바꾸기 전에 잔여 디스크 알림을 다시 확인하세요.