Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,346 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ArcherDB

High-performance geospatial database for fleet tracking, logistics, and real-time location applications.

ArcherDB provides specialized geospatial capabilities on a battle-tested distributed systems foundation.

ArcherDB is open source under the Apache License 2.0. See NOTICE, CONTRIBUTING.md, and SECURITY.md for project attribution and contribution policy.

Project process and support:

Deployment Model

ArcherDB follows a trusted-network, infrastructure-first security model:

  • Built-in authn/authz is out of scope (enforce at API/service gateway)
  • Built-in TLS/mTLS is out of scope (terminate and enforce in your network layer)
  • Encryption-at-rest is platform-managed (disk/volume/cloud-native encryption); the server has no data-file encryption flags. An encrypted-file format library and archerdb verify --encryption exist for tooling, not as a server-side at-rest control (see docs/encryption-guide.md)
  • Backup: built-in continuous upload to local/S3/GCS/Azure destinations via --backup-enabled (see docs/operations-runbook.md); platform snapshots remain the recommended complement, and scheduling/retention orchestration stays operator-managed

Features

Geospatial operations

  • Insert location events
  • Upsert location events
  • Delete entities (GDPR erasure)
  • Query by UUID
  • Batch query by UUID
  • Radius geospatial query
  • Polygon geospatial query
  • Latest events query

Indexing

  • S2 geospatial indexing
  • RAM entity index (latest position)
  • RAM index memory-mapped mode

Storage & durability

  • LSM-tree storage engine
  • LSM range scans
  • LSM compaction
  • Write-ahead log/journal
  • Checkpointing/snapshot
  • Append-only file durability
  • Grid/block storage
  • Sharding/partitioning

Replication & clustering

  • Consensus replication (VSR)
  • Cluster membership/reconfiguration
  • Replica sync/repair
  • Multi-region replication
  • Client session management
  • Topology discovery
  • Cluster ping/status

Data lifecycle & governance

  • TTL expiration/retention
  • Manual TTL operations
  • Data validation/integrity
  • Compliance/privacy controls
  • Trusted-network deployment guidance

Data movement & integration

  • Replica recovery/rebuild
  • External snapshot/backup integration (operator-managed)
  • Data export
  • CSV import/export
  • Incremental load
  • ETL/data transformation
  • Change data capture (AMQP)

Observability & ops

  • Metrics/observability
  • StatsD metrics
  • Tracing/logging
  • Signal handling/graceful shutdown
  • CLI/REPL

Clients & SDKs

  • C client SDK
  • Go client SDK
  • Java client SDK
  • Node.js client SDK
  • Python client SDK

SDK Feature Matrix

All SDK features listed below are supported across each language.

Feature C Go Java Node.js Python
TTL expiration/retention yes yes yes yes yes
batch query by UUID yes yes yes yes yes
cluster ping/status yes yes yes yes yes
delete entities (GDPR erasure) yes yes yes yes yes
insert location events yes yes yes yes yes
latest events query yes yes yes yes yes
manual TTL operations yes yes yes yes yes
polygon geospatial query yes yes yes yes yes
query by UUID yes yes yes yes yes
radius geospatial query yes yes yes yes yes
topology discovery yes yes yes yes yes
upsert location events yes yes yes yes yes

Tooling & testing

  • Benchmarking
  • Benchmark load generator
  • Correctness testing
  • Fuzz testing
  • Deterministic simulation/fault injection
  • Documentation generation
  • Build system

Internal infrastructure

  • Platform I/O
  • Memory management
  • Message bus/RPC
  • Randomness/sampling
  • Internal utilities

Quick Start

# Build from source
./zig/download.sh
./zig/zig build

# Run a single-node cluster
./zig-out/bin/archerdb format --cluster=0 --replica=0 --replica-count=1 data.archerdb
./zig-out/bin/archerdb start --addresses=3000 data.archerdb

Tier Profiles

ArcherDB exposes tier presets as open-source runtime and capacity profiles:

  • lite: Demo/evaluation tier. Fast and lightweight by design, with intentionally strict storage limits.
  • standard: Baseline production tier.
  • pro: Higher-performance mainstream tier.
  • enterprise: Large-capacity production profile.
  • ultra: Highest-capacity production profile.

See Tier Profiles for authoritative tier intent and guardrails.

Documentation

Architecture

Core architecture:

  • Consensus: Viewstamped Replication (VR) for strong consistency
  • Storage: LSM-tree optimized for append-heavy workloads
  • Testing: VOPR (Viewstamped Operation Replayer) for deterministic simulation

Geospatial extensions:

  • GeoEvent state machine: Location-aware events
  • S2 indexing: Google's S2 geometry for efficient spatial queries
  • RAM entity index: Sub-microsecond latest-position lookups

Building from Source

Prerequisites

  • Linux (kernel >= 5.6), macOS, or Windows
  • Zig (bundled, use ./zig/download.sh)

Build

# Download the bundled Zig compiler
./zig/download.sh

# Build all targets
./zig/zig build

# Run tests
./zig/zig build test

Releases

Packages

Contributors

Languages