
Turso 공식 발표에 따르면, SQLite 호환 데이터베이스를 Rust로 다시 구현해 온 Turso가 같은 가상머신 코어 위에 PostgreSQL 프런트엔드를 올리는 오픈소스 프로젝트를 공식화했다. 현재 구현은 완성된 제품이 아니라 실험 단계의 기반으로, PostgreSQL 문법과 와이어 프로토콜을 지원하는 내장형·단일 파일 데이터베이스를 목표로 한다.
Turso의 구상은 하나의 실행 코어에 여러 데이터베이스 프런트엔드를 연결하는 방식이다. SQLite와 마찬가지로 SQL을 VDBE라는 가상머신용 바이트코드로 컴파일하고, SQLite와 PostgreSQL 문법을 각각 처리하는 프런트엔드가 같은 저장·동시성·쿼리 컴파일 계층을 공유한다. 회사는 이를 여러 언어가 하나의 백엔드를 공유하는 LLVM 구조에 빗대 설명했다.
PostgreSQL 프런트엔드의 출발점은 Turso 공동창업자 글라우버 코스타가 만든 pgmicro다. 이 구현은 PostgreSQL 소스에서 추출한 파서를 이용해 PostgreSQL 구문을 읽은 뒤 Turso 내부 표현과 VDBE 바이트코드로 변환한다. Turso는 초기 실험을 공식 프로젝트에 병합했으며, 공식 저장소도 PostgreSQL 프런트엔드를 실험적 기능으로 명시하고 있다.
프로젝트가 겨냥하는 사용 방식은 기존 PostgreSQL 서버를 그대로 Rust로 옮기는 데 그치지 않는다. Turso는 브라우저나 애플리케이션 프로세스 안에서 실행하고 데이터베이스를 하나의 파일로 다루는 구성을 제시했다. 동시에 PostgreSQL 와이어 프로토콜과 서버 구현을 제공해 psql과 기존 클라이언트가 접속할 수 있도록 할 계획이다.
호환성에는 분명한 한계가 있다. Turso는 PostgreSQL의 모든 기능을 100% 재현하기보다 다수의 일반적인 애플리케이션을 수정 없이 실행할 수 있는 수준을 목표로 한다고 밝혔다. 자동 갱신되는 구체화 뷰처럼 기존 PostgreSQL과 다른 동작을 택할 수 있고, 확장 기능은 WebAssembly 컨테이너를 이용한 개념검증 단계여서 실제 호환 범위가 확정되지 않았다.
현재 공개된 구현도 운영 환경에 바로 투입할 단계는 아니다. 공식 발표 시점에는 배포 패키지가 없었고 소스에서 직접 빌드해야 했으며, 프로젝트는 기반 구조이지 완성품이 아니라고 선을 그었다. 공식 저장소 역시 PostgreSQL 프런트엔드를 실험적으로 표시하고 있어 안정성·완전성·기존 도구 호환성은 후속 개발과 검증을 지켜봐야 한다.
이번 시도는 PostgreSQL 생태계의 인터페이스를 유지하면서 내장형·로컬 우선 환경에 맞는 실행 구조를 만들려는 접근이라는 점에서 주목된다. 다만 PostgreSQL 자체를 대체하는 완성형 데이터베이스 발표가 아니라, 공통 가상머신 위에 복수 SQL 프런트엔드를 구축할 수 있는지를 검증하는 장기 오픈소스 개발 계획에 가깝다.
출처: Turso 공식 블로그 https://turso.tech/blog/a-new-modern-version-of-postgres-in-rust · Turso 공식 GitHub 저장소 https://github.com/tursodatabase/turso · pgmicro 원문 저장소 https://github.com/glommer/pgmicro