- SQLite는 스마트폰, 브라우저, 자동차 등 우리 주변에 광범위하게 사용되지만, 개발자들에게 종종 간과되는 강력한 데이터베이스입니다. 📱
- 2000년 미 해군 미사일 제어 시스템을 위해 D. Richard Hipp가 개발한 경량, 서버리스, 임베디드 데이터베이스로 시작했습니다. ⚓
- 서버리스, 자체 포함, 제로 구성, 트랜잭션 지원, 완전한 ACID 준수 등 '진지한' 데이터베이스 시스템이 갖춰야 할 모든 기능을 제공합니다. ✅
- 테이블, 인덱스, 트리거 등 전체 데이터베이스를 단일의 휴대 가능한 바이너리 파일로 저장하며, 이 파일은 플랫폼 독립적이고 하위 호환성을 가집니다. 📁
- 데이터 무결성과 내구성을 위해 WAL(Write-Ahead Log)을 사용하여 충돌 시 데이터 복구를 보장하고, 쓰기 중에도 읽기 작업을 허용하여 동시성을 향상시킵니다. 🔄
- 인-프로세스 방식으로 작동하여 네트워크 통신 지연이 없어 소규모에서 중간 규모 워크로드에서 클라이언트-서버 데이터베이스보다 빠릅니다. 🚀
- Apple, Google, Adobe, Microsoft 등 수많은 대기업이 내부적으로 SQLite를 사용하며, Chrome, Firefox, WhatsApp, iOS/Android 등 주요 애플리케이션의 핵심 데이터 저장소입니다. 🌐
- '경량'이라는 표현은 크기와 리소스 사용량에만 해당하며, 실제로는 500배 더 큰 테스트 스위트를 가질 정도로 높은 신뢰성을 자랑하며 안전 필수 시스템에 사용됩니다. 🛡️
- 대규모 다중 사용자 웹 앱의 동시 쓰기에는 한계가 있지만, 단일 사용자 앱, 임베디드 시스템, 데스크톱 도구, 엣지 컴퓨팅에 이상적입니다. 💡
- CEO나 마케팅 팀 없이 D. Richard Hipp와 소수의 기여자들이 컨설팅, 지원 계약, 기부로 운영하는 공공 도메인 프로젝트입니다. 🤝
- Turso와 같은 프로젝트는 SQLite의 기반 위에 분산형, 엣지 지원 데이터베이스를 구축하여 전 세계적으로 데이터를 동기화합니다. 🌍
- PostgreSQL이나 MySQL과 달리 엄격한 컬럼 타입을 강제하지 않고, 타입 어피니티(Type Affinity) 개념을 사용하여 유연한 데이터 저장을 지원합니다. 🎨
- 크로스 플랫폼, 엔디안 독립적, 미래 지향적인 파일 형식 덕분에 CSV나 JSON 대신 전체 SQLite 데이터베이스를 구성 번들, 읽기 전용 데이터셋, 캐시 등으로 활용하기도 합니다. 📦