150 MB 제한
모든 요금제에 동일한 데이터베이스 용량 제한을 적용합니다. 백업 성능을 유지하기 위한 제한입니다.
프로젝트 데이터베이스의 운영 용량 제한은 요금제와 관계없이 150 MB입니다.
제한을 둔 이유
엔진 자체는 더 큰 데이터베이스도 처리할 수 있습니다. 그러나 현재 방식으로 420MB 데이터베이스를 백업하면 107초가 걸리고 4.57GB의 메모리를 사용합니다. 그동안 해당 프로젝트의 데이터베이스 요청은 대기하게 됩니다.
매시간 백업을 제공하려면 백업 하나의 비용이 감당 가능한 수준이어야 합니다. 그래서 현재는 이 기준을 만족하는 지점에 150MB 제한을 두었습니다.
변경된 데이터만 백업하는 증분 방식이 도입되면 이 제한을 늘릴 수 있습니다.
행 수로 가늠하지 마세요
인덱스와 페이지 오버헤드가 원본보다 큽니다. 실측 하나: 61,000행(JSON으로 5.5 MB)이 인덱스 9개와 함께 80 MB를 썼습니다. 원본 크기의 10~15배로 잡고, 넣은 뒤 runlot usage로 확인하세요.
현재 사용량 확인
runlot usage대시보드의 데이터베이스 탭에서도 같은 값을 확인할 수 있습니다.
다른 서비스와 비교하면
현재 용량 제한은 다른 서비스의 무료 제공량보다 작습니다.
| 서비스 | 용량 |
|---|---|
| Runlot | 150 MB(모든 요금제) |
| Cloudflare D1 | 무료 5 GB |
| Supabase | 무료 약 500 MB |
대신 데이터베이스가 앱과 같은 머신에서 실행되므로 env.db 호출에는 네트워크 왕복이 없습니다. 이 설계는 사이드 프로젝트에서 대용량 데이터보다 빠른 응답을 우선합니다.
제한에 가까워지면
용량의 **90%**에 도달하면 조직 admin에게 db_near_cap 알림을 보냅니다. 제한을 초과한 뒤가 아니라 미리 대응할 수 있도록 알립니다.
지금은 상한에서 쓰기를 거절하지 않습니다. 대신 두 가지가 나빠집니다. 매시간 백업이 크기에 비례해 길어지고, 약 240MB를 넘으면 콜드 상태가 된 프로젝트가 다시 깨어나지 못할 수 있습니다(restore_too_large). 150MB는 저희가 지원하는 크기이지, 넘으면 막아 주는 벽이 아닙니다.
이미지나 첨부 파일 같은 큰 바이너리 데이터는 데이터베이스 대신 파일 저장소에 저장하세요. 무료 티어에서 1GiB를 제공합니다.