immudb
OPEN SOURCE IMMUTABLE DATABASE
High performance and easy to integrate
Supports both Key-Value & SQL
Cryptographical verification, tamper-resistant, and auditable
immudb was chosen the fastest growing Open Source Project
by Ross Index
Our Amazing Users
WHY IMMUDB?
immudb is a ledger database that has been developed with performance, scalability and versatility in mind. The user feedback has shown that they love the very high throughput and being able to store hashes as well as data. They see it as a great alternative to using a blockchain or ledger service.
+ Easy Setup
+ Fast & Reliable Immutable Database
+ Secure REST API Gateway
+ Powerful Web Console
+ Open Source
FEATURES
Transactional Integrity, Multi-node
ACID Compliance
SQL and K/V
SDKs for Python, Node.js, Java, Go

Performance & Flexibility
Millions of transactions
Key-value and SQL
Choose how to structure your data
Sign your data using Public-Key Cryptography

Tamper Protection
No data mutation APIs are provided
Data is never overwritten - multiple versions of the same key co-exist and are verifiable
Externally verifiable data ownership
Support for Intel SGX enclaves

Time Travel
Tamper-evident history system
Cryptographic proof of data inclusion and historical consistency in real time
If tampering attempted, clients and auditors will will receive notices
Use Cases
DevOps
Financial
IoT
Medical
eCommerce
Very high throughput, immutable database with cryptographic verification
In most use cases, immudb is an easy replacement for complex, cumbersome blockchain solutions
- Store every update to sensitive database fields (credit card or bank account data) of an existing application database
- Store CI/CD recipes to build and deployment pipelines
- Store public certificates
- Store tamper-proof log streams (i. e. audit logs)
// Store any key, value auditproof and tamperproof
key2, value2 := []byte("myClient"), []byte("Visa 6679499384784022 11/23")
verifiedIndex, err := client.SafeSet(ctx, key2, value2)
if err != nil {
exit(err)
}
fmt.Println(" SafeSet - add and verify entry:")
printItem(key2, value2, verifiedIndex)
Intuitive setup
immudb is built with simplicity in mind:
- Use the prebuilt binaries or Docker container images for a fast start
- Install, manage and run immudb and immugw as services (use 'immuadmin service')
- Simple make command integration if you want to build the applications yourself
- RESTful interfaces and easy to use clients
- Combine with any existing application
# install immudb service
./immuadmin service immudb install
# check current immudb service status
./immuadmin service immudb status
# install immugw service
./immuadmin service immugw install
# check immugw service
./immuadmin service immugw status
Consistency check built-in
immudb architecture has built-in verification and audit functionality:
- immudb server is continuously checking disk/memory consistency
- immugw is continuously checking the data consistency and integrity
- immuclient has built-in data consistency and integrity checks
- API's provide data ownership proof, verification and integrity functions
// built-in verification for every entry
verifiedItem, err := client.SafeGet(ctx, key2)
if err != nil {
exit(err)
}
fmt.Println(" SafeGet - fetch and verify entry:")
printItem(nil, nil, verifiedItem)
Previous
Next
Check our documentation to get started!
Any questions, ideas or thoughts ?
UNMATCHED PERFORMANCE
immudb can handle millions of writes per second. The following table shows performance of the embedded store inserting 1M entries on a 4-core Intel® Xeon® E3-1275v6 CPU and SSD disk with 20-100 parallel workers
Entries | Workers | Batch | Batches | Time(s) | Entries/s |
---|---|---|---|---|---|
1M | 20 | 1000 | 50 | 1.061 | 1.2M /s |
1M | 50 | 1000 | 20 | 0.543 | 1.8M /s |
1M | 100 | 1000 | 10 | 0.615 | 1.6M /s |
4-core Intel® Xeon® E3-1275v6 CPU
SSD disk
Database Comparasion
Transactions per Second

THE OPEN-SOURCE IMMUTABLE DATABASE
Run immudb easily on Linux, FreeBSD, Microsoft Windows, and macOS, along with other systems derived from them, such as Kubernetes and Docker.