Skip to content

Limbo

Rust로 완전히 새롭게 작성된 SQLite

Features

  • Limbo는 메모리 안전성을 제공하는 Rust로 SQLite를 재구현하는 실험적 프로젝트
    • SQLite의 임베디드 특성을 좋아하지만, 더 개방적인 개발 모델을 원해 libSQL 프로젝트 시작
  • SQLite를 포크한 이유: 새로운 기능을 쉽게 통합할 수 있고, 기존 코드와의 호환성 유지 가능
    • 단점: SQLite의 테스트 스위트가 독점적이고 C로 작성되어 있어 코드 진화가 어려움
  • 새로운 접근 방식
    • 벡터 검색 기능 추가를 통해 SQLite의 한계를 경험
    • SQLite를 처음부터 다시 작성하여 호환성을 유지하면서도 더 공격적인 기능 추가 가능성 탐색
  • 다음 단계
    • Limbo를 공식 Turso 프로젝트로 전환
    • SQLite와 동일한 신뢰성을 유지하면서 메모리 안전성을 제공하는 새로운 아키텍처 구축 목표
  • SQLite의 신뢰성에 도전
    • 결정론적 시뮬레이션 테스트(DST)를 통해 높은 신뢰성 확보
    • Antithesis와 협력하여 시스템 수준의 DST 프레임워크 사용
  • 현재 상태
    • 완전 비동기 I/O: Limbo는 완전 비동기 설계로, SQLite의 동기 인터페이스 문제 해결
    • WASM을 위한 설계: WASM 환경에서의 사용을 고려한 설계
    • 성능: 많은 작업에서 SQLite와 동등하거나 더 빠른 성능
    • 단순성: 현대 환경에 덜 중요한 기능 제거로 더 나은 사용자 경험 제공
  • 추가 정보
    • Limbo는 MIT 라이선스로 GitHub에서 제공
    • SQLite의 약속을 다음 단계로 발전시키고자 하는 임베디드 데이터베이스 구축에 관심 있는 사람들을 초대함

See also

Favorite site