본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 시스템·유틸리티 · 윈도우즈 유틸

Litestream

0

Litestream은 SQLite 데이터베이스를 위한 독립형 재해 복구 도구로, benbjohnson이 개발했습니다.

객체 스토리지백업복제재해 복구

소개

Litestream은 SQLite 데이터베이스를 위한 독립형 재해 복구 도구로, benbjohnson이 개발했습니다. 백그라운드 프로세스로 실행되며 SQLite 변경을 증분 방식으로 다른 파일이나 S3 같은 객체 스토리지에 안전하게 복제합니다. SQLite API만을 통해 통신하기 때문에 데이터베이스를 손상시키지 않습니다. 기존 애플리케이션에 코드 변경 없이 통합할 수 있도록 별도 프로세스로 실행됩니다.

상세정보

증분 복제

Litestream은 SQLite 데이터베이스의 변화를 감지하여 증분 방식으로 복제합니다.これにより、ネットワーク帯域とストレージの使用量を最小限に抑えながら、ほぼリアルタイムでのバックアップが可能になります。

다양한 스토리지 백엔드 지원

로컬 파일 시스템뿐만 아니라 Amazon S3, Google Cloud Storage, Azure Blob Storage 등 다양한 객체 스토리지 서비스를 복제 대상으로 사용할 수 있습니다.これにより、ユーザーは既存のストレージインフラストラクチャを活用できます。

무료 백업

객체 스토리지는 저렴하므로 추가 서버 없이도 하루에 몇 페니 정도의 비용으로 백업을 유지할 수 있습니다.これにより、小規模なアプリケーションでもコストを気にせず災害復旧対策を実施できます。

다운로드·설치 방법

Chocolatey를 통해 Litestream을 설치할 수 있습니다. 관리자 권한으로 PowerShell 또는 명령 프롬프트를 열고 다음 명령을 실행합니다:

choco install litestream

설치 후, litestream 명령이 PATH에 등록되어 터미널에서 바로 사용할 수 있습니다.

기본 사용법/명령어

Litestream은 설정 파일을 통해 동작을 제어합니다. 기본적인 사용 흐름은 다음과 같습니다:

  1. 설정 파일 생성: litestream.yml 파일을 만들어 복제할 데이터베이스와 대상 스토리지를 지정합니다.
  2. 복제 시작: litestream -config litestream.yml replicate 명령을 실행하여 백그라운드에서 복제 프로세스를 시작합니다.
  3. 상태 확인: litestream -config litestream.yml status 명령을 통해 현재 복제 상태를 확인할 수 있습니다.

설정 파일 예시:

dbs:
– path: /path/to/myapp.db
replicas:
– url: s3://my-bucket/myapp.db

이런 경우에 유용합니다

SQLite를 사용하는 애플리케이션을 단일 서버에서 운영하는 경우, Litestream은 복잡한 데이터베이스 복제 솔루션 없이도 안전한 백업을 제공합니다.これにより、開発者はインフラストラクチャの管理ではなくアプリケーションの開発に集中できます。

클라우드 객체 스토리지를 이미 사용하고 있는 경우, 추가 비용 없이 SQLite 데이터베이스를 해당 스토리지에 복제할 수 있습니다。これにより、既存のストレージ投資を活用した災害復旧が可能になります。

지원 환경·시스템 요구사항

Litestream은 Windows, macOS, Linux에서 실행할 수 있는 크로스플랫폼 도구입니다. Go 언어로 작성되어 있어 해당 플랫폼에서 실행 가능한 바이너리를 제공합니다. Windows에서는 Chocolatey 패키지 관리자를 통해 쉽게 설치할 수 있습니다.

최신 버전·업데이트

현재 최신 버전은 v0.5.17이며, 활발히 유지보수되어 새로운 기능과 버그 수정이 지속적으로 제공되고 있습니다. GitHub 저장소에서 최신 릴리스 정보를 확인할 수 있습니다.

제한 사항·확인 사항

Litestream이 데이터베이스 복제를 시작할 때, 소스 SQLite 데이터베이스에 내부 `_litestream_lock` 테이블을 생성합니다. 이 테이블은 정상적인 동작을 위해 필요하며, Litestream이 실행 중인 동안 이 테이블을 삭제해서는 안 됩니다. 테이블을 삭제하면 체크포인트 주변에서의 동기화가 실패할 수 있으며, Litestream을 재시작하면 자동으로 테이블이 재생성됩니다.

이 테이블은 소스 데이터베이스의 스키마에 포함되므로, 백업 및 복원 후에도 데이터베이스에 남아 있습니다. 이로 인해 Litestream을 사용하기 전과 비교하여 데이터베이스의 페이지 수나 바이트 수가 변경될 수 있습니다。

FAQ

  • Litestream은 무료로 사용할 수 있나요?

    네, Litestream은 Apache-2.0 라이선스 하에 오픈소스로 제공되며, 무료로 다운로드하고 사용할 수 있습니다.

  • Windows에서 Litestream을 어떻게 설치하나요?

    Chocolatey 패키지 관리자를 사용하여 `choco install litestream` 명령으로 설치할 수 있습니다.

시스템 요구사항

별도의 시스템 요구사항이 등록되지 않았습니다.