rqlite Distributed SQLite Database

AWS Databases

rqlite, the lightweight distributed relational database built on SQLite with Raft consensus, ready to answer authenticated queries the moment it boots.

Base
Hardened build
minimal ports, security patches applied at build time
Access
Unique credentials
generated on first boot, readable only by root
Verified
Boots working
services pass a health gate before release
Support
24/7, 365 days
by email and live chat, 24 hour response SLA

Overview

rqlite is a lightweight, distributed relational database that uses SQLite as its storage engine and the Raft consensus protocol to replicate writes. You get real relational SQL, transactions and the full SQLite type system, reached over a simple HTTP API that speaks JSON, plus an interactive command line client.

It runs as a single node out of the box, which is a complete working database, and scales out to a fault tolerant Raft cluster when you need one. Because the storage engine is SQLite, a backup is an ordinary SQLite file that any SQLite tool can read.

This image ships rqlite on a dedicated data volume, with the HTTP API and the Raft port bound to loopback and authentication enabled from the first boot.

Why the cloudimg image

The image contains no database at all: the data directory, holding the SQLite file, the Raft log, the Raft snapshots and the node identity, is destroyed before capture, so no build time row, schema or credential can reach your instance. First boot creates a pristine data directory and generates a credential unique to your instance, and rqlite refuses to start until that has happened. rqlite ships with no authentication by default, permitting every request; this image never runs that way, and an unauthenticated call is refused. The database lives on its own volume rather than the operating system disk, and every image is paired with a deploy guide and 24/7 support from cloudimg.

Common uses

  • A lightweight relational store for an application that needs real SQL without running a heavyweight database server
  • A fault tolerant configuration or metadata store, grown from this single node into a Raft cluster
  • An edge or embedded relational database reached over a simple HTTP API

Key features

  • Secure by default from first boot - rqlite ships with authentication off and every request permitted; this image never runs that way. A unique, cryptographically strong password is generated per instance on first boot, the HTTP and Raft ports are bound to loopback, and unauthenticated calls are refused. No default or shared password ever ships in the image.
  • Real distributed SQL on SQLite with Raft - full relational SQL, transactions and the SQLite type system over a simple JSON HTTP API and an interactive CLI. Runs as a complete single node out of the box and scales out to a fault tolerant Raft cluster, and because storage is SQLite a backup is an ordinary SQLite file any tool can read.
  • Dedicated EBS data volume, from-source build and 24/7 expert support - the database, Raft log and snapshots live on a separate EBS volume you can resize, snapshot and back up independently of the OS disk. rqlite is compiled from upstream MIT source with a current toolchain, and cloudimg engineers provide round the clock support with a one hour average response for critical issues.

Description

This is a repackaged open source software product wherein additional charges apply for cloudimg support services.

## Overview

rqlite is a lightweight, distributed relational database that uses SQLite as its storage engine and the Raft consensus protocol to replicate writes. You get real relational SQL, transactions and the full SQLite type system, reached over a simple HTTP API that speaks JSON, alongside an interactive command line client. It runs as a single node out of the box, which is a complete working database, and scales out to a fault tolerant Raft cluster when you need one. Because the storage engine is SQLite, a backup is an ordinary SQLite file that any SQLite tool can read. This AMI delivers a fully configured, security hardened rqlite node that answers authenticated queries within minutes of launch, eliminating the manual installation, network hardening and credential setup a bare install requires.

## Why This Image Over Alternatives

rqlite ships with no authentication by default, permitting every request; this image never runs that way. Authentication is enabled from the first boot with a credential generated uniquely on each instance, so no shared or default database password ever exists in the image, and an unauthenticated call is refused. The HTTP API and the Raft port are bound to loopback rather than exposed on all interfaces, and the instance security group opens SSH only. Where a self managed install co locates database files on the OS disk, this image isolates the entire rqlite data store on a dedicated, independently resizable EBS volume. The rqlite binary is compiled from upstream MIT source with a current toolchain, so fixes that are frozen into an older prebuilt binary are resolved before the image ships.

## What Is Included

  • rqlite 10.2.7 compiled from the official upstream MIT source at a pinned, provenance-verified tag
  • SQLite storage engine with the full SQLite type system and ordinary SQLite backup files
  • HTTP API speaking JSON on the loopback interface, with an interactive rqlite command line client
  • Raft consensus so a single node grows into a fault tolerant cluster when you need one
  • Dedicated data volume for the SQLite database, the Raft log, snapshots and the node identity
  • Third party licence notices materialised on the image for every linked component

## Secure First Boot

On first boot a one shot service generates a cryptographically strong password unique to that instance, writes it into the rqlite authentication file readable only by the service account, and mirrors it to a file readable only by root. rqlite refuses to start until first boot has completed, and it re-checks the credential on every start. No shared or default database credential ever exists in the image.

## AWS Integration Points

  • Amazon EBS - the rqlite data store lives on a dedicated EBS volume; use EBS Snapshots for point in time backups or resize storage independently of the OS disk.
  • Amazon VPC - deploy within private subnets and control access with security groups; the database and Raft ports are bound to loopback and never exposed by the image.
  • AWS Backup - schedule automated, policy driven backups of the data volume without custom scripting.

## Ready To Use

Connect over SSH, read the generated password from the root only credentials file, and query the HTTP API over the loopback interface or an SSH tunnel to create tables, insert rows and run SQL. To scale out, join further nodes into a Raft cluster following the guide.

## Use Cases

  • Lightweight relational store for an application - give a service real SQL, transactions and the SQLite type system without operating a heavyweight database server, reached over a simple JSON HTTP API.
  • Fault tolerant configuration or metadata store - start from this single node and grow it into a Raft cluster so critical configuration and metadata survive the loss of a node.
  • Edge or embedded relational database - run a small, self contained relational database at the edge or embedded in a deployment, backed up as an ordinary SQLite file any tool can read.

## cloudimg Support

24/7 technical support by email and live chat. Our engineers assist with deployment, connectivity, clustering, backups and database administration. Critical issues receive a one hour average response time.

All product and company names are trademarks or registered trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.

Related technologies

rqlitedistributed databasesqlite databaserelational databaseraft consensuslightweight databasehttp api databasesql databaseedge databasedatabase ami