Description
piladb is a lightweight RESTful database engine based on stack data structures. Create as many stacks as you need, PUSH or POP elements of any kind, and have access to the one on top always in constant time.
Features
Stacks are auto-scalable and are only limited by the capacity of the host or by configuration.
Available POP, PUSH, PEEK,SIZE, and FLUSH operations for each of the stacks.
Manage stacks and other resources by using a REST API, so you can use it with your favorite programming language.
Manage elements in JSON-compatible data types: strings, numbers, arrays, objects, etc.
Totally configurable using a REST API, or CLI parameters.
In-memory store.
Written in Go, i.e. binaries are self-contained and distributable.
piladb alternatives and similar packages
Based on the "Database" category.
Alternatively, view piladb alternatives based on common mentions on social networks and blogs.
-
tidb
TiDB is built for agentic workloads that grow unpredictably, with ACID guarantees and native support for transactions, analytics, and vector search. No data silos. No noisy neighbors. No infrastructure ceiling. -
cockroach
CockroachDB — the cloud native, distributed SQL database designed for high availability, effortless scale, and control over data placement. -
Milvus
Milvus is a high-performance, cloud-native vector database built for scalable vector ANN search -
groupcache
groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases. -
TinyGo
Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM. -
rqlite
The lightweight, fault-tolerant database built on SQLite. Designed to keep your data highly available with minimal effort. -
bytebase
World's most advanced database DevSecOps solution for Developer, Security, DBA and Platform Engineering teams. The GitHub/GitLab for database DevSecOps. -
go-cache
An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications. -
immudb
immudb - immutable database based on zero trust, SQL/Key-Value/Document model, tamperproof, data change history -
buntdb
BuntDB is an embeddable, in-memory key/value database for Go with custom indexing and geospatial support -
pREST
PostgreSQL ➕ REST, low-code, simplify and accelerate development, ⚡ instant, realtime, high-performance on any Postgres application, existing or new -
xo
Command line tool to generate idiomatic Go code for SQL databases supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server -
nutsdb
A simple, fast, embeddable, persistent key/value store written in pure Go. It supports fully serializable transactions and many data structures such as list, set, sorted set. -
lotusdb
Most advanced key-value database written in Go, extremely fast, compatible with LSM tree and B+ tree. -
gocraft/dbr (database records)
Additions to Go's database/sql for super fast performance and convenience.
SaaSHub - Software Alternatives and Reviews
Do you think we are missing an alternative of piladb or a related project?
Popular Comparisons
README
piladb


[pee-lah-dee-bee]. pila means stack or battery in Spanish.
piladb is a lightweight RESTful database engine based on stack data structures.
Create as many stacks as you need, PUSH or POP elements of any kind, and have
access to the one on top always in constant time.
Features
- Stacks are auto-scalable and are only limited by the capacity of the host or by configuration.
- Available
POP,PUSH,PEEK,SIZE, andFLUSHoperations for each of the stacks. - Manage stacks and other resources by using a REST API, so you can use it with your favorite programming language.
- Manage elements in JSON-compatible data types: strings, numbers, arrays, objects, etc.
- Totally configurable using a REST API, or CLI parameters.
- In-memory store.
- Written in Go, i.e. binaries are self-contained and distributable.
Documentation
- Main documentation page.
- Go
pilapackage documentation. - [
pilad's RESTful API documentation](pilad/).
Install
You can download binaries for Linux and Mac in the Releases page.
From Source Code
You need Go installed. Version 1.6+ recommended.
go get github.com/fern4lvarez/piladb/...
cd $GOPATH/src/github.com/fern4lvarez/piladb
make pilad
Clients
source <(curl -s https://raw.githubusercontent.com/oscillatingworks/piladb-sh/master/piladb.sh)
piladb_help
Development
You need Go installed. Version 1.6+ is mandatory.
go get github.com/fern4lvarez/piladb/...
cd $GOPATH/src/github.com/fern4lvarez/piladb
make all
You can also use Docker to create piladb builds or development environment.
Please see the [dev](dev/) directory.
Dependencies
piladb aims to minimize the amount of third party dependencies and to rely on the Go standard library as much as possible.
Even though, it uses dep to vendor its few
dependencies.
piladb also provides a go.mod file, which turns this project into a Go module.
To learn more about Go modules and the vgo prototype, please read the
Go & Versioning series by Russ Cox.
Code Coverage
We aim for a universal 100% code coverage for all suppackages. If some piece of code is not testable, it probably needs to be changed.
Check current code coverage of the project: https://codecov.io/gh/fern4lvarez/piladb
Release
You need Docker installed.
It's possible to get pilad binary releases by executing make release.
This will cross-compile pilad in all available OS's and architectures.
Alternatively, if you don't have docker installed, you can release pilad binary
with the make gox command. For this, you need a configured Go environment and
gox installed.
Credits
piladb is developed by Fernando Álvarez
and ≅oscillatingworks on a Dell XPS 13 laptop, running Ubuntu,
and using vim-go plugin within the vim editor,
in Berlin and Madrid, with the support of Gali, Godín and other friends.
Logo was designed by GraphicLoads.
Typography Lily Script One designed by Julia Petretta.
License
MIT
*Note that all licence references and agreements mentioned in the piladb README section above
are relevant to that project's source code only.