piladb

discontinued

by Fernando Álvarez · since 2015

Go REST database whose only data structure is the stack: PUSH, POP and PEEK JSON values in named stacks.

key-valuedocumentdatabase engineopen source (permissive)legacy

discontinued. No commits on the main branch since March 2018 (v0.2.0-alpha); unmaintained.

Overview

piladb is a lightweight in-memory database engine in Go whose only data structure is the stack ('pila' is Spanish for stack). You create databases and named stacks through a REST API, then push, pop, peek, size or flush JSON values of any type, with the top element always available in constant time; stacks grow until they hit host or configured limits. It ships as a single self-contained binary configured over the API or CLI flags, and was written by Fernando Álvarez in Madrid. The last tagged release is v0.2.0-alpha from April 2018 and the main branch has not moved since; it is a neat teaching project in API-first database design rather than a production store.

Strengths & trade-offs

Strengths

  • +Dead-simple stack semantics with constant-time access to the top element
  • +Clean REST API and single static binary

Trade-offs

  • −In-memory only: data is lost on restart
  • −Alpha quality and unmaintained since 2018

Great for

  • +Teaching REST API and database design
  • +Throwaway LIFO work stacks in prototypes

Think twice for

  • −Durable data
  • −Production queues

Capabilities

Native or official first-party support · 2 of 25 tracked

✓JSON
✓In-memory
–Transactions
–Joins
–Secondary indexes
–Full-text search
–Vector search
–Geospatial
–Change data capture
–Triggers
–Stored procedures
–Materialized views
–TTL / expiry
–Pub/Sub
–Columnar storage
–Durable persistence
–Compression
–Encryption at rest
–Role-based access
–Time travel
–Branching
–Online schema changes
–Streaming ingest
–Offline sync
–Runs in WebAssembly

Scale & consistency

Comfortable data size
Small · ≤ 100 GB
Horizontal scaling
None
Multi-region
No
Transactions
None
Consistency
Strong
Schema
Schemaless
Architecture
In memory, Single node
Query languages
HTTP REST

In-memory only; capacity bounded by host RAM or configured limits.

Deployment

Self-hosted Vendor-managed cloud Serverless Embedded Edge Kubernetes operator

Ecosystem

apis & protocolsHTTP REST
client languagesGo, HTTP

Alternatives to piladb

Compare all→
RedisKey-Value84.3

The in-memory data structure server that became the default cache, now with search, JSON and vectors built in.

piladb vs redis →
ValkeyKey-Value58.0

The Linux Foundation's BSD-licensed fork of Redis, now the default engine on AWS and Google Cloud.

piladb vs valkey →
PGMQRelational21.1

An SQS-style message queue implemented as a lightweight Postgres extension.

piladb vs pgmq →
Apache KvrocksKey-Value10.3

A Redis-protocol database on RocksDB that trades a little latency for disk-sized capacity.

piladb vs apache-kvrocks →
Amazon DynamoDBKey-Value63.3

AWS's serverless key-value and document store with single-digit-millisecond reads at any scale.

piladb vs amazon-dynamodb →
FoundationDBKey-Value36.8

Apple's ordered, strictly serializable distributed key-value store, built to have layers on top.

piladb vs foundationdb →

piladb FAQ

What is piladb?

piladb is a key-value database by Fernando Álvarez, first released in 2015. piladb is a lightweight in-memory database engine in Go whose only data structure is the stack ('pila' is Spanish for stack). You create databases and named stacks through a REST API, then push, pop, peek, size or flush JSON values of any type, with the top element always available in constant time; stacks grow until they hit host or configured limits. It ships as a single self-contained binary configured over the API or CLI flags, and was written by Fernando Álvarez in Madrid. The last tagged release is v0.2.0-alpha from April 2018 and the main branch has not moved since; it is a neat teaching project in API-first database design rather than a production store.

Is piladb open source?

Yes. piladb is open source. License: MIT License.

Does piladb support ACID transactions?

No. piladb does not provide ACID transactions; its consistency model is strong.

Does piladb scale horizontally?

piladb does not scale horizontally; it runs on a single node, so you scale it up rather than out. It is comfortable at small scale (≤ 100 GB).

How can I run piladb?

You can self-host it.

What is piladb best for?

piladb is a strong fit for teaching REST API and database design; and throwaway LIFO work stacks in prototypes. Think twice for durable data.

What are the best alternatives to piladb?

Common alternatives to piladb include Redis, Valkey, PGMQ, Apache Kvrocks and Amazon DynamoDB. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.

Is piladb still maintained?

piladb is discontinued. No commits on the main branch since March 2018 (v0.2.0-alpha); unmaintained.

How popular is piladb?

piladb ranks #636 of 844 databases on the WhichDB Score (0.5/100), and #119 among key-value databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.