Community코딩 & 개발github.com

turso-db

Turso (libSQL): 엣지 복제 SQLite — 서버리스 앱을 위한 설정, 쿼리 및 복제 패턴

turso-db란 무엇인가요?

이 스킬은 Turso(libSQL)를 사용하여 엣지 환경에서 복제된 SQLite 데이터베이스를 설정, 쿼리 및 관리하는 방법을 제공합니다. Turso는 서버리스 및 엣지 컴퓨팅에 최적화된 SQLite 기반 데이터베이스로, 전 세계 여러 위치에 데이터를 복제하여 낮은 지연 시간을 제공합니다. 이 스킬은 데이터베이스 생성, 스키마 마이그레이션, 읽기/쓰기 쿼리 실행, 복제 그룹 관리 등 주요 작업을 지원하며, CLI 도구(turso CLI)와 SDK를 통해 간편하게 통합할 수 있습니다. 개발자는 이 스킬을 통해 서버리스 앱에서 글로벌 규모의 데이터 저장소를 손쉽게 구축하고 관리할 수 있습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/tursodatabase/agent-skills/tree/main/skills/turso-db

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

turso-db은(는) 무엇을 하나요?

Turso (libSQL): 엣지 복제 SQLite — 서버리스 앱을 위한 설정, 쿼리 및 복제 패턴

개요

Turso는 libSQL(오픈 소스 SQLite 포크) 기반의 엣지 데이터베이스 플랫폼입니다. 이 가이드는 Turso 데이터베이스를 설정하고, 쿼리를 실행하며, 복제 패턴을 활용하는 방법을 설명합니다.

전제 조건

  • Turso CLI 설치
  • Turso 계정 (turso auth login)
  • Node.js 18+ (SDK 사용 시)

빠른 시작

1. 데이터베이스 생성

turso db create my-db

2. 연결 정보 확인

turso db show my-db

3. 스키마 마이그레이션

-- schema.sql
CREATE TABLE users (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  name TEXT NOT NULL,
  email TEXT UNIQUE NOT NULL
);
turso db shell my-db < schema.sql

4. 쿼리 실행

import { createClient } from '@libsql/client/web';

const client = createClient({
  url: 'libsql://my-db.turso.io',
  authToken: process.env.TURSO_AUTH_TOKEN,
});

await client.execute('SELECT * FROM users');

복제 패턴

리더-팔로워

쓰기는 리더 데이터베이스에서 처리하고, 읽기는 팔로워(복제본)에서 처리합니다.

const reader = createClient({
  url: 'libsql://my-db-read.turso.io',
  authToken: process.env.TURSO_AUTH_TOKEN,
});

const result = await reader.execute('SELECT * FROM users');

로컬 우선 쓰기

클라이언트가 로컬 SQLite에 쓰고, 주기적으로 Turso에 동기화합니다.

import { createClient } from '@libsql/client';

const local = createClient({ url: 'file:local.db' });
const remote = createClient({
  url: 'libsql://my-db.turso.io',
  authToken: process.env.TURSO_AUTH_TOKEN,
});

await local.execute('INSERT INTO users (name, email) VALUES (?, ?)', ['John', '[email protected]']);
await remote.sync();

환경 변수

변수명설명
TURSO_AUTH_TOKEN인증 토큰
TURSO_DB_URL데이터베이스 URL (예: libsql://my-db.turso.io)
TURSO_ORG조직 이름 (선택 사항)

유용한 명령어

  • turso db list — 모든 데이터베이스 나열
  • turso db shell <name> — 데이터베이스 쉘 열기
  • turso db replicate <name> --locations <locations> — 새 위치에 복제본 생성
  • turso db destroy <name> — 데이터베이스 삭제

참고 자료

관련 스킬