Skip to main content

StarRocks Backup and Restore automation tool

Project description

StarRocks Backup & Restore

Full and incremental backup automation for StarRocks shared-nothing clusters.

Requirements: StarRocks 3.5+ (shared-nothing mode)

📋 Release Notes & Changelog

Documentation

Why This Tool?

StarRocks provides native BACKUP and RESTORE commands, but they only support full backups. For large-scale deployments hosting data at petabyte scale, full backups are not feasible due to time, storage, and network constraints.

This tool adds incremental backup capabilities to StarRocks by leveraging native partition-based backup features.

What StarRocks doesn't provide:

  • No incremental backups - You must manually identify changed partitions and build complex backup commands
  • No backup history - No built-in way to track what was backed up, when, or which backups succeeded/failed
  • No restore intelligence - You manually determine which backups are needed for point-in-time recovery
  • No organization - No way to group tables or manage different backup strategies
  • No concurrency control - Multiple backup operations can conflict

What this tool provides:

  • Automatic incremental backups - Tool detects changed partitions since the last full backup automatically
  • Complete operation tracking - Every backup and restore is logged with status, timestamps, and error details
  • Intelligent restore - Automatically resolves backup chains (full + incremental) for you
  • Inventory groups - Organize tables into groups with different backup strategies
  • Job concurrency control - Prevents conflicting operations
  • Safe restores - Atomic rename mechanism prevents data loss during restore
  • Metadata management - Dedicated ops database tracks all backup metadata and partition manifests

In short: this tool transforms StarRocks's basic backup/restore commands into a production-ready incremental backup solution.

Installation

Option 1: PyPI

python3 -m venv .venv
source .venv/bin/activate
pip install starrocks-br

Option 2: Standalone Executable

Download from releases:

# Linux
chmod +x starrocks-br-linux-x86_64
mv starrocks-br-linux-x86_64 starrocks-br
./starrocks-br --help

See Installation Guide for all options.

Configuration

Create a config.yaml file pointing to your StarRocks cluster:

host: "127.0.0.1"       # StarRocks FE node address
port: 9030              # MySQL protocol port
user: "root"            # Database user with backup/restore privileges
database: "your_database"   # Database containing tables to backup
repository: "your_repo_name"  # Repository created via CREATE REPOSITORY in StarRocks

Set password:

export STARROCKS_PASSWORD="your_password"

See Configuration Reference for TLS and advanced options.

Basic Usage

Initialize:

starrocks-br init --config config.yaml

Define inventory groups (in StarRocks):

INSERT INTO ops.table_inventory (inventory_group, database_name, table_name)
VALUES
  ('production', 'mydb', 'users'),
  ('production', 'mydb', 'orders');

Backup:

# Full backup
starrocks-br backup full --config config.yaml --group production

# Incremental backup (tool detects changed partitions automatically)
starrocks-br backup incremental --config config.yaml --group production

Restore:

# Tool automatically resolves backup chains
starrocks-br restore --config config.yaml --target-label mydb_20251118_full

See Commands Reference for all options.

How It Works

  1. Inventory Groups: Define collections of tables that share the same backup strategy
  2. ops Database: Tool creates an ops database to track all operations and metadata
  3. Automatic Incrementals: Tool queries partition metadata and compares with the baseline to detect changes
  4. Intelligent Restore: Automatically resolves backup chains (full + incremental) for point-in-time recovery
  5. Safe Operations: All restores use temporary tables with atomic rename for safety

Read Core Concepts for detailed explanations.

Contributing

We welcome contributions! See issues for areas that need help or create a new issue to report a bug or request a feature.

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

starrocks_br-0.5.2.tar.gz (68.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

starrocks_br-0.5.2-py3-none-any.whl (46.4 kB view details)

Uploaded Python 3

File details

Details for the file starrocks_br-0.5.2.tar.gz.

File metadata

  • Download URL: starrocks_br-0.5.2.tar.gz
  • Upload date:
  • Size: 68.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for starrocks_br-0.5.2.tar.gz
Algorithm Hash digest
SHA256 b1ccd2bd35b9bc2ad4da0ebd44769d3db67ecfa82a0a71c1cc98683d62724ce6
MD5 06a6db121953b941551bd1f4e1335081
BLAKE2b-256 ea4468cef39c81e86e0a3167298627e6d459155b38bc5a4ce37b5932cb007c04

See more details on using hashes here.

Provenance

The following attestation bundles were made for starrocks_br-0.5.2.tar.gz:

Publisher: build-executables.yml on deep-bi/starrocks-backup-and-restore

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file starrocks_br-0.5.2-py3-none-any.whl.

File metadata

  • Download URL: starrocks_br-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 46.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for starrocks_br-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a2461dbfee451f635fcc59b688f05152c9240e9b1f7bb785753819942d915b1e
MD5 ce8673324e3708c29a5b8bd8adb96662
BLAKE2b-256 45159f0a3e4900a79439d8e83f88631fbd8c3e16bdc1f00e34f0a9052d19945a

See more details on using hashes here.

Provenance

The following attestation bundles were made for starrocks_br-0.5.2-py3-none-any.whl:

Publisher: build-executables.yml on deep-bi/starrocks-backup-and-restore

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page