Hacker News 의견
  • 몇 년 전 "35% Faster Than The Filesystem" 기사에서 영감을 받아 SQLite를 사용하여 정적 파일을 제공하는 실험을 했음. Datasette를 통해 SQLite에서 정적 파일을 제공하는 플러그인을 만들었지만 많이 사용하지는 않았음. SQLite를 사용하여 파일을 제공하려면 "sqlite-utils insert-files" CLI 도구가 유용할 수 있음.

  • 트랜잭션 업데이트는 여러 파일을 한 번에 업데이트할 수 있는 주요 이점임. 서버가 SQLite나 파일 시스템을 사용하더라도 업데이트 중에 웹앱이 깨지는 것을 막을 수는 없음. 페이지의 모든 하위 리소스가 특정 콘텐츠 해시나 버전 이름을 사용하여 참조되도록 해야 함.

  • 2011/2012년에 작은 게임 개발 회사에서 일할 때, 모든 자산을 sqlite3 데이터베이스에 저장하고 pak 파일을 만들어 파일의 오프셋을 저장했음. 모바일 게임에서 자산을 빠르게 로드할 수 있었고, 메타데이터를 데이터베이스에 저장하여 유사한 파일을 쉽게 찾을 수 있었음.

  • 파일 시스템 대신 SQLite를 사용하여 파일을 쿼리할 수 있는 장점이 있음. SQL 쿼리는 Kysely를 사용하여 타입 세이프하게 사용할 수 있음.

  • SQLite를 사용하여 정적 콘텐츠를 제공하는 아이디어는 완전하지 않음. 현대 웹 서버는 정적 파일을 처리하는 최적의 전략을 사용함. SQLite는 메모리 매핑 I/O 지원을 제공하지만, 대규모 웹사이트에는 적합하지 않음.

  • SQLite는 하루 100K 히트 이하의 웹사이트에 적합함. SQLite 웹사이트는 하루 400K~500K HTTP 요청을 처리하며, 대부분의 경우 로드 평균이 0.1 이하임.

  • 정적 사이트 생성기 CMS는 SQLite 데이터베이스를 사용하여 웹사이트를 개발하고 업데이트하며, 그런 다음 정적 페이지로 파일 시스템에 덤프하여 배포함.

  • 고성능 과학 컴퓨팅에서 데이터에 접근하는 가장 유연하고 고성능의 방법은 종종 램디스크에 있는 읽기 전용 SQLite 데이터베이스임.

  • 파일 시스템이 중복 제거, 스냅샷, 버전 관리, 압축을 제공할 수 있는 경우와 SQLite 접근 방식을 비교하는 것이 흥미로울 것임. 고급 파일 시스템을 사용하면 디렉토리를 새 버전으로 교체하는 것이 더 쉬울 수 있음.

  • 데이터베이스를 파일 시스템으로 사용하는 접근 방식은 장점이 있지만, 문제가 발생할 때는 악몽이 될 수 있음.