GN⁺ 2024-10-16 | parent | ★ favorite | on: Sqlite3 WebAssembly(sqlite.org)
Hacker News 의견
  • SQLite를 브라우저 내 메모리에서 실행하고 Litestream과 Cloudflare Durable Objects의 트릭을 사용하여 WAL 로그를 서버로 스트리밍하는 아이디어가 흥미로움

    • 서버 측 데이터를 사용하여 클라이언트 측 데이터베이스를 재구성할 수 있음
    • WAL 모드는 기본 SQLite WASM 빌드에서 제외되어 있어 사용자 정의가 필요함
  • SQLite의 최근 릴리스는 3.46.1이지만, 페이지가 업데이트되지 않아 API 안정성에 대한 혼란이 있음

    • SQLite 팀이 WASM 버전을 포함한 공식 npm 패키지를 제공하면 좋겠음
  • Pyodide의 SQLite-in-WASM 버전이 개인적으로 선호됨

    • Pyodide는 Python 표준 라이브러리의 일부로 WASM SQLite를 무료로 제공함
    • 현재 Pyodide의 SQLite 버전은 3.39.0이며, 버전 업데이트가 필요함
  • 로컬 우선 환경에서 SQLite를 사용하는 것은 무겁게 느껴짐

    • 브라우저의 기본 저장소 API(특히 IndexedDB)를 사용하는 것이 더 효율적임
    • SQLite와 유사한 API를 제공하는 오픈 소스 솔루션이 필요함
  • Golang에서 ncruces의 wasm SQLite 패키지가 좋음

    • OpenBSD와 같은 환경에서 잘 작동함
  • Rust 생태계에서 SQLite를 사용하려 했으나, 현재 지원하는 래퍼가 부족함

    • emscripten wasm 코드를 wasm32-unknown-unknown과 호환시키는 것이 어려움
  • SQLite가 IndexedDB의 대체가 될 수 있는지 궁금함

    • 데이터가 지속되는지, 파일 시스템 API나 IndexedDB/로컬 스토리지에 저장해야 하는지에 대한 질문이 있음
  • 최소한의 SQLite WASM 의존성 크기는 약 1.3MB임

    • 브라우저 내 앱에서는 다소 큰 크기지만, 다른 환경에서는 적절할 수 있음
  • WebSQL이 SQLite였다면 오프라인 우선 및 일반 앱 저장소 생태계가 더 나았을 것이라는 의견이 있음

    • SQLite API를 브라우저가 지원하도록 명시하는 것이 좋겠음
  • WASM 빌드의 SQLite와 Chicory 런타임을 사용하여 순수 JVM 실행 SQLite 라이브러리를 생성함

    • 실험적인 프로젝트로, JVM 생태계에 의존성 없는 SQLite 도구를 제공할 수 있음
  • SQLite를 exaequOS.com에 포함시킬 계획이 있음