Immudb is a database written in Go that is immutable, which means that history is preserved and can’t be changed without clients noticing. 

“Traditional database transactions and logs are hard to scale and are mutable, so there is no way to know for sure if your data has been compromised,” the project’s website states. “Immudb is immutable. You can add new versions of existing records, but never change or delete records. This lets you store critical data without fear of it being changed silently.”

Immudb can operate both as a key-value or relational (SQL) database. Users can add new transactions, but deletion or modification of older transactions isn’t allowed, thus making the data immutable. 

When a key record’s value changes over time (such as a bank balance), one can get multiple instances with different timestamps to give you the complete history of that record’s changes. Users can store a variety of common data types, verification checksums, or JSON.

The data stored in the database is cryptographically coherent and verifiable just as in blockchains. It can handle millions of transactions per second and can be used both as a lightweight service or can be embedded in applications as a library. 

“While Cyber Security is an important part of your organization’s business plan, immudb provides another layer of security to ensure data integrity even in the event your perimeter is breached during an attack. Data cannot be deleted or modified once stored into immudb. Additions of new data are logged and auditable, enabling you to view any suspect additions made during the intrusion,” the website states.