MCPcopy
hub / github.com/rqlite/rqlite

github.com/rqlite/rqlite @v10.2.5 sqlite

repository ↗ · DeepWiki ↗ · release v10.2.5 ↗
4,252 symbols 25,343 edges 306 files 1,892 documented · 44%
README

rqlite logo

Circle CI AppVeyor Release Docker Office Hours Slack Google Group

rqlite is a feature-rich, rock-solid, fault-tolerant, distributed relational database built on SQLite. It's lightweight, developer-friendly, and exceptionally easy to operate, offering effortless installation and deployment.

Use rqlite to reliably store your most important data, ensuring it's always available to your applications -- think etcd, but with relational modeling available. Whether you're deploying resilient services in the cloud or reliable applications at the edge, rqlite provides a robust solution for critical data.

Website · Slack

Quick Start

Check out the full Quick Start guide

1. Run a rqlite node:

docker run -p 4001:4001 rqlite/rqlite

2. Create a table and insert a row:

curl -XPOST 'localhost:4001/db/execute?pretty' -H 'Content-Type: application/json' -d '[
     "CREATE TABLE foo (id INTEGER NOT NULL PRIMARY KEY, name TEXT)",
     "INSERT INTO foo(id, name) VALUES(1, \"fiona\")"
]'

3. Query the data:

curl -G 'localhost:4001/db/query?pretty' --data-urlencode 'q=SELECT * FROM foo'

Learn how to form a multi-node cluster in seconds. and dive into the Developer Guide.

Key features

Core functionality - Relational: Full SQL support via SQLite, including Full-text search, JSON support, and more. - Extensible: Load SQLite extensions to add capabilities like Vector Search and Crypto. - Atomic Requests: Execute multiple SQL statements atomically within a single API request. - Change Data Capture: Stream database changes to an external system.

Easy operations - Easy Deployment: A single binary with no external dependencies. Up and running in seconds. - High Availability: Fully replicated database provides fault-tolerance. Outage of a node doesn't impact the cluster. - Dynamic Clustering: Automatic clustering via Kubernetes, Docker Compose, Consul, etcd, or DNS. - Effortless Backups: Hot backups, including automatic backups to AWS S3, MinIO, and Google Cloud, as well as restore directly from SQLite and Cloud-based storage.

Developer experience - Simple APIs: Easy-to-use HTTP API. A built-in console app, CLI and client libraries are also available. - Robust Security: End-to-end encryption with TLS and rich authentication/authorization controls. - Tunable Consistency: Customize read consistency and durability to match your application's needs.

More questions?

Pronunciation

Common pronunciations of rqlite include "R Q lite" and "ree-qwell-lite".

Extension points exported contracts — how you extend this code

StatusReporter (Interface)
StatusReporter is the interface status providers must implement. [20 implementers]
http/service.go
Layer (Interface)
Layer is the interface expected by the Store for network communication between nodes, which is used for Raft distributed [7 …
store/transport.go
Dialer (Interface)
Dialer is the interface dialers must implement. [7 implementers]
cluster/service.go
Requester (Interface)
Requester is the interface objects must support to be marshaled successfully. [4 implementers]
command/marshal.go
Checkpointer (Interface)
Checkpointer is the interface systems which can checkpoint databases must implement. [3 implementers]
store/store.go
ColumnsNameProvider (Interface)
ColumnsNameProvider provides column names for a given table. [3 implementers]
db/cdc.go
Checkpointer (Interface)
Checkpointer is the interface that checkpoint manager implementations must satisfy in order to be benchmarked. [3 implementers]
db/checkpoint_bench_test.go
Visitor (Interface)
Visitor is the interface that must be implemented to execute a plan. [3 implementers]
snapshot/plan/plan.go

Core symbols most depended-on inside this repo

Error
called by 2380
http/service.go
Close
called by 575
store/store.go
Add
called by 535
snapshot/crc_checker.go
Join
called by 418
cluster/service.go
Open
called by 300
snapshot/sink.go
Close
called by 276
tcp/pool/pool.go
Close
called by 261
db/checkpoint_bench_test.go
Execute
called by 255
proxy/proxy.go

Shape

Function 1,987
Method 1,805
Struct 301
Class 65
Interface 47
TypeAlias 37
FuncType 10

Languages

Go90%
Python8%
TypeScript1%

Modules by API surface

command/proto/command.pb.go327 symbols
cluster/proto/message.pb.go166 symbols
http/service_test.go115 symbols
store/store.go114 symbols
system_test/e2e/helpers.py100 symbols
store/store_test.go98 symbols
db/db.go97 symbols
system_test/helpers.go85 symbols
http/service.go80 symbols
db/db_common_test.go60 symbols
system_test/e2e/multi_node.py56 symbols
proxy/proxy_test.go49 symbols

Dependencies from manifests, versioned

github.com/armon/go-metricsv0.5.4 · 1×
github.com/aws/aws-sdk-go-v2v1.42.0 · 1×
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstreamv1.7.13 · 1×
github.com/aws/aws-sdk-go-v2/configv1.32.25 · 1×
github.com/aws/aws-sdk-go-v2/credentialsv1.19.24 · 1×
github.com/aws/aws-sdk-go-v2/feature/ec2/imdsv1.18.29 · 1×
github.com/aws/aws-sdk-go-v2/feature/s3/managerv1.22.28 · 1×
github.com/aws/aws-sdk-go-v2/internal/configsourcesv1.4.29 · 1×
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2v2.7.29 · 1×
github.com/aws/aws-sdk-go-v2/internal/v4av1.4.30 · 1×
github.com/aws/aws-sdk-go-v2/service/internal/accept-encodingv1.13.12 · 1×
github.com/aws/aws-sdk-go-v2/service/internal/checksumv1.9.22 · 1×

For agents

$ claude mcp add rqlite \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact