Turso
Turso는 오픈소스 데이터베이스인 libSQL을 기반으로 구축된 글로벌 엣지(Edge) 분산형 서버리스(Serverless) 데이터베이스 플랫폼이다. libSQL은 로컬 디스크 환경에 종속된 기존 SQLite의 한계를 극복하기 위해 포크(Fork)된 프로젝트이다. 해당 서비스는 데이터베이스를 사용자와 물리적으로 가까운 위치에서 구동시켜 네트워크 지연 시간(Latency)을 최소화하도록 설계되었다.
주요 특징은 다음과 같다.
- SQLite 호환성 및 네트워크 지원: 기존 SQLite와 호환되는 동시에 HTTP 및 WebSockets를 통한 원격 접속을 지원하여 웹 및 클라우드 환경에서 사용 가능하다.
- 서버리스 구조 및 비용 최적화: 트래픽에 맞춰 자동으로 자원을 조절하며, 유휴 상태일 때 리소스를 0으로 축소하는(Scale-to-zero) 방식을 채택하여 인프라 유지 비용을 줄인다.
- 글로벌 복제 (Edge Replication): 단일 쓰기 전용 메인(Primary) 노드를 기반으로, 글로벌 여러 리전에 읽기 전용 엣지 복제본(Replica)을 자동 동기화하여 읽기 성능을 분산시킨다.
- 로컬 및 클라우드 동기화: 로컬 애플리케이션 내에 임베디드된 데이터베이스 파일과 클라우드 상의 Turso 데이터베이스 간 오프라인/온라인 동기화를 지원한다.
유사한 목적을 지닌 엣지 기반 및 로컬 관계형 데이터베이스 기술들과의 비교 데이터는 다음과 같다.
| 특징 | Turso | 원본 SQLite | Cloudflare D1 |
|---|---|---|---|
| 개발 기업 및 주체 | Turso (미국) | SQLite Consortium (미국 중심) | Cloudflare (미국) |
| 핵심 구동 엔진 | libSQL (SQLite의 Fork 버전) | SQLite C 라이브러리 | SQLite |
| 아키텍처 모델 | 분산형 서버리스 엣지 데이터베이스 | 서버리스 없는 로컬 파일 시스템 | Cloudflare Workers 종속 엣지 DB |
| 네트워크 프로토콜 | HTTP, WebSockets, 자체 hrana 프로토콜 | 네트워크 지원 없음 (프로세스 내장) | HTTP (REST API 및 Workers) |
| 복제(Replication) 지원 | 멀티 리전 엣지 읽기 복제 기본 제공 | 기능 없음 (수동 개입 필요) | 글로벌 분산 읽기 제공 |
출처 데이터:
- TechCrunch. “ChiselStrike is now Turso, pivoting to offer an edge database based on SQLite.” (https://techcrunch.com)
- Turso Official Documentation. “What is Turso?” (https://docs.turso.tech)
- libSQL Official GitHub Repository. “libSQL: an open source, open contribution fork of SQLite.” (https://github.com/tursodatabase/libsql)