AI VIDEO BRIEFING

SQLite 러스트 재작성 Turso, 동시성·비동기·벡터검색을 품은 차세대 임베디드 DB

2000년 한 개발자가 서버 없이 파일에 직접 쓰는 SQL 엔진을 만들며 시작된 SQLite. 이 신뢰의 코드를 러스트로 다시 쓰는 Turso 프로젝트가 동시성·비동기·벡터검색을 더한다.

지구에서 가장 신뢰받는 코드 SQLite, 러스트로 다시 쓰이다 영상 대표 이미지

핵심 메시지

  • SQLite는 별도 서버 없이 디스크의 단일 파일에 직접 읽고 쓰는 라이브러리로, 스마트폰부터 브라우저, 화성 탐사선까지 어디에나 들어가 있는 가장 신뢰받는 소프트웨어다.
  • Turso는 SQLite를 러스트로 처음부터 다시 작성하는 프로젝트로, SQLite와 완전히 하위 호환되는 드롭인 대체재를 지향한다.
  • Turso가 더한 핵심 기능은 다중 쓰기 동시성, 디스크 접근 시 스레드를 막지 않는 비동기, 그리고 AI 임베딩을 위한 네이티브 벡터 검색이다.
  • 가장 어려운 과제는 기능 추가가 아니라 25년에 걸쳐 쌓인 '데이터를 절대 잃지 않는다'는 신뢰를 얻는 것이다.

쉽게 이해하기

이야기는 2000년으로 거슬러 올라간다. 개발자 D. 리처드 힙(D. Richard Hipp)은 자신이 만들던 앱이 SQL 데이터베이스 서버에 의존하다 보니, 서버가 죽으면 앱도 함께 죽는 문제에 부딪혔다. 그는 '왜 애플리케이션 안에 내장되어 디스크의 파일과 직접 대화하는 SQL 엔진을 둘 수 없을까'라고 자문했고, 그 답으로 SQLite를 만들어 이후 25년을 그 개발에 바쳤다.

데이터베이스를 디스크의 파일 하나만 읽고 쓰는 단일 라이브러리로 깎아낸 덕분에 SQLite는 거의 어디에나 끼워 넣을 수 있을 만큼 작고 단순해졌다. 그 결과 오늘날 모든 아이폰, 안드로이드, 맥, 윈도우, 브라우저에 최소 하나씩, 전 세계에 수조 개의 SQLite 데이터베이스가 존재한다.

영상은 이 SQLite를 러스트로 처음부터 다시 쓰겠다는 Turso 프로젝트를 다룬다. 주도하는 두 사람 중 하나는 지연 시간(latency)에 관한 책을 썼고, 다른 하나는 리누스 토르발스가 직접 리눅스 커널 상위 5위 기여자로 꼽은 인물이다. 이들의 문제의식은 SQLite가 나쁘다는 것이 아니라, 단 세 명이 유지보수하며 외부 기여를 받지 않아 전통적 의미의 오픈소스가 아니라는 점이었다.

Turso는 SQLite에 없던 기능들을 더한다. 첫째, 동시성으로 여러 쓰기 작업이 같은 행을 건드리지 않는 한 데이터베이스의 서로 다른 부분을 동시에 수정할 수 있다. 둘째, 비동기로 디스크 접근 때 스레드 전체를 잠그는 대신 제어권을 돌려줘 앱이 대기 중에도 다른 일을 할 수 있다. 셋째이자 가장 중요한 벡터 검색으로, AI 임베딩을 별도의 벡터 DB 없이 같은 파일에 저장하고 익숙한 SQL로 조회한다.

신뢰를 얻기 위해 Turso는 '결정론적 시뮬레이션'이라는 테스트 전략을 쓴다. 데이터베이스 전체를 시뮬레이션된 환경에서 돌리며 시간·네트워크·디스크를 통제하고, 쓰기 도중 정전이나 페이지 손상, 저장 여부를 거짓 보고하는 디스크 같은 장애를 주입한 뒤 같은 난수 시드로 동일 시나리오를 반복 재생해 버그를 잡는다.

주요 인사이트

  • Turso의 벡터 검색 내장은 힙이 25년 전 데이터베이스를 라이브러리로 압축한 것과 같은 수법을 반복한다. 다만 이번에 라이브러리 안으로 욱여넣는 대상은 'AI의 기억(임베딩)' 전체다.
  • 오픈소스에서 '소스 공개'와 '외부 기여 수용'은 다르다. SQLite가 세 명만으로 유지되며 외부 기여를 받지 않는 폐쇄적 모델은 신뢰의 원천이자 동시에 한계였고, Turso는 이 한계를 정면으로 겨냥한다.
  • 데이터베이스의 진짜 가치는 기능이 아니라 신뢰이며, 신뢰는 짧은 시간에 살 수 없다. 그래서 Turso는 하위 호환과 무손실 보장이라는 두 축에 가장 큰 노력을 쏟는다.
  • 벡터 DB를 별도로 두면 두 개의 데이터베이스를 운영하며 복잡도가 두 배가 된다. 임베딩을 본 데이터와 같은 파일에 두는 접근은 AI 앱의 운영 복잡도를 크게 낮출 수 있다.

자주 묻는 질문

SQLite는 왜 그렇게 널리 쓰이나요?

별도의 서버 프로세스나 포트, 설정 없이 디스크의 단일 파일에 직접 읽고 쓰는 라이브러리로 만들어졌기 때문입니다. 작고 단순해 거의 모든 기기에 끼워 넣을 수 있어, 아이폰·안드로이드·맥·윈도우·브라우저 등에 수조 개가 깔려 있습니다.

Turso가 SQLite에 더한 새 기능은 무엇인가요?

세 가지입니다. 같은 행만 충돌하면 되는 다중 쓰기 동시성, 디스크 접근 시 스레드를 막지 않는 비동기 처리, 그리고 AI 임베딩을 같은 파일에 저장하고 SQL로 조회하는 네이티브 벡터 검색입니다.

Turso는 기존 SQLite를 바로 대체할 수 있나요?

Turso는 SQLite와 완전히 하위 호환되도록 만들어져, 아무것도 다시 작성하지 않고 교체할 수 있는 드롭인 대체재를 지향합니다. 다만 25년간 쌓인 무손실 신뢰를 얻는 것은 더 어려운 과제로 남아 있습니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식