Getting startedInstall CobaltDB and run your first SQL query in Go.SQL & JSONTables, indexes, parameterized queries, JSON and transactions.ArchitectureUnderstand the query engine, B+ tree storage and write-ahead log.Server & clientsRun the standalone server and connect over the MySQL wire protocol.Production guidePlan TLS, security, backups, observability and deployment boundaries.Performance benchmarksB+ tree and SQL benchmark results, methodology and hardware.FeaturesSQL, transactions, encryption and a pure Go runtime.Brand assetsDownload the CobaltDB SVG logo and icon.
K to open ESC to close
v0.6.1Small engine. New possibilities.

Small footprint.
Serious database.

All the database you need.
Right where your application lives.

A modern SQL database written in Go. Embed it in your app or run it as a server. Your data, your architecture.

$ go get github.com/cobaltdb/cobaltdb
Open source · MITZero CGOYours to build on
CobaltDB engine connecting an application to SQL, JSON and durable storageCOBALTDBGoSQL{ }YOUR APPLICATIONSQL ENGINEJSON DATAONE SMALL FOOTPRINT.CGO_ENABLED=0
FIG. 01 A complete database. Inside your app.GO →
SMALL BY DESIGN.
COMPLETE BY NATURE.
SQL + JSONACID transactionsPure GoBuilt-in encryptionMySQL protocol
BUILT FOR THE WAY YOU BUILD

Less infrastructure.
More possibility.

Your database should move your application forward.
A capable engine, without the operational weight.

01 / THE ENGINE

Powerful at the core.
Simple at the edges.

SQL parsing, indexed storage and durable writes.
One cohesive engine you can run your way.

Look under the hood

Go all the way.

A pure Go runtime. No CGO toolchain, no C bindings. Cross-compile with the tools you already use.

100% Go

Keep the promises.

ACID transactions and write-ahead logging give your application a foundation for consistent, durable data.

ACID + WAL

Make privacy a primitive.

Built-in AES-256-GCM encryption, row-level security policies and audit logging for sensitive workflows.

Security built in
LESS SETUP. MORE BUILDING.

Your next idea.
Already connected.

Go from import to your first query.
Pick the way you want to build.

Walk through the quick start
main.goGo
db, err := engine.Open("app.db", nil)
if err != nil { log.Fatal(err) }
defer db.Close()

ctx := context.Background()
rows, err := db.Query(ctx,
    "SELECT name FROM projects WHERE stars > ?", 100)
if err != nil { log.Fatal(err) }
defer rows.Close()
Your process. Your data. No database server required.
THE GOOD PARTS, BUILT IN

Real SQL.
Room for more.

Tables, joins, indexes and the SQL you already know. Keep your data structured and your queries expressive.

Explore the SQL reference
workspace.dbEXAMPLE EXPLORER
query.sql
SELECT name, language, stars
FROM projects
WHERE language = 'Go'
ORDER BY stars DESC
LIMIT 3;
Sample output3 rows
Relational, without the ceremony. Illustrative sample data.
namelanguagestars
cobaltdbGo1,280
atlasGo864
lumenGo512
Illustrative data · Examples are not executed in your browser.
SMALL DOESN’T MEAN SLOW

Built close to the metal.
And closer to your app.

No network hop in embedded mode.
A purpose-built storage engine underneath.

B+ TREE · POINT LOOKUP
64ns

Core storage GET latency

SQL ENGINE · INSERT
2.0µs

Single row, including SQL parsing

INDEXED SQL · LOOKUP
2.1µs

Point lookup over a 10K-row dataset

Made for the hot path.
Context matters. Here’s ours.

Repository-reported in-memory benchmarks · AMD Ryzen 9 9950X3D · Go 1.26 · Windows 11. Storage-level and SQL-level results measure different operations. Results vary by workload and hardware; disk persistence adds overhead.

Read the methodology
YOUR APP. YOUR ARCHITECTURE.

One engine.
Two ways to make it yours.

Start with the deployment that fits.
Keep the same SQL foundation.

EMBEDDED

Inside your process.
Out of your way.

Import the Go engine and open a database. An ideal starting point for local tools, desktop apps, edge services and self-contained applications.

Your Go application
CobaltDBapp.db
Build with embedded
STANDALONE

A familiar connection.
A fresh foundation.

Run CobaltDB as a service and connect over its MySQL protocol. Start with the tested Go driver, then validate the clients your application needs.

GoPythonNode.jsJava
CobaltDB server:3307
Connect to the server
MySQL protocol compatibility is explicit. Check the tested client matrix for your workflow.
A FEW GOOD QUESTIONS

Before you
dive in.

Still curious? The source is open.

Start a conversation
01What is CobaltDB?+

CobaltDB is an open-source SQL database written in Go. You can embed the engine directly in a Go application or run a standalone server with a MySQL-compatible protocol surface.

02Do I need a C compiler?+

No. The database runtime does not require CGO or a C compiler. You can build and cross-compile with the Go toolchain. The Go race detector is a separate development check and may require a CGO toolchain.

03Is it a drop-in replacement for MySQL?+

CobaltDB implements a tested subset of the MySQL wire protocol. Handshakes, queries and parameterized prepared statements are covered. Validate your specific driver and ORM against the compatibility matrix before deployment.

04Is CobaltDB ready for my production workload?+

The project describes CobaltDB as a production-oriented, single-node database candidate. Test your workload, recovery process and client compatibility. Replication is not automatic high availability or failover. The production guide explains the operational boundaries. Read the production guide →

05Can I use it commercially?+

Yes. CobaltDB is available under the MIT license. You can use, modify and distribute it, including in commercial projects, under the terms of that license.

OPEN SOURCE. OPEN POSSIBILITIES.

Your next great thing
starts with a simple import.

Pure Go. MIT licensed. Built for your ideas.