Embed it
Ship storage inside your Go binary and keep deployments simple.
In-memory database for Go apps and standalone servers.
inMemDB can run inside your Go executable or as a local database server, giving services, CLIs, tests, and local-first tools fast structured storage.
# Embed in a Go application
go get github.com/inmemdb/inmemdb-go
package main
import (
"context"
"github.com/inmemdb/inmemdb-go"
)
func main() {
ctx := context.Background()
db, err := inmemdb.Open(ctx)
if err != nil {
panic(err)
}
defer db.Close()
// Use through the DALgo database API.
_ = db
}
# Or run as a standalone server
go install github.com/inmemdb/inmemdb-cli@latest
inmemdb serve
Use inMemDB when your application needs temporary, fast data storage with a real database-shaped API, either in-process or over a local server boundary.
Ship storage inside your Go binary and keep deployments simple.
Start a standalone server for local workflows and tools.
Developed in public as part of the DALgo database ecosystem.
inMemDB is designed as a practical database engine, not just a key-value cache. It combines familiar relational concepts with document-style collection layouts.
Choose storage layouts that fit transactional and analytical access patterns.
Use ordered indexes for lookups, ranges, sorting, and predictable scans.
Accelerate selective filters and set-oriented query operations.
Keep the in-memory model while supporting durable local state.
Model table-like datasets with familiar relational structure.
Represent nested application data in a Firestore-like shape.
Query data through standard SQL and GraphQL interfaces.
Group changes into reliable units of work for application logic.
inMemDB is implemented in Go and designed to be linked directly into Go applications. It is a library you import, not another service to run.
The inMemDB CLI packages the same product idea as a runnable database process. Use it when a tool, integration, or development workflow wants a server instead of an embedded library.
The project exists to make the DALgo adapter model easier to try, embed, and understand. If you can use inMemDB, you can see how DALgo database implementations fit together.
inMemDB follows spec-driven development using the SpecScore specifications format: Markdown and YAML files for ideas, feature specs, requirements, acceptance criteria, scenarios, and implementation plans.
DataTug uses inMemDB as a data component and as a practical demonstration of building database adapters and runnable database tooling with DALgo.
Database tools for teams that work with schemas, data, and change.
datatug.ioA Git-backed database project in the same family of ideas.
ingitdb.com