Badger is a simple, fast embeddable database written purely in the Go language. It has been developed by Dgraph Labs and is available under the open source licence. It is compatible with BSD, Linux, OS X, Solaris and Windows operating systems. It is designed to be very powerful in writing and reading in the same time. Badger uses Multi-Version Concurrency Control (MVCC) and supports transactions. It triggers transactionally and competitively with the serial guarantee of isolated snapshots.
Badger is a simple, fast embeddable database written purely in the Go language. It has been developed by Dgraph Labs and is available under the open source licence. It is compatible with BSD, Linux, OS X, Solaris and Windows operating systems. It is designed to be very powerful in writing and reading in the same time. Badger uses Multi-Version Concurrency Control (MVCC) and supports transactions. It triggers transactionally and competitively with the serial guarantee of isolated snapshots.
Badger uses the LSM tree and long valuables to distinguish keys from values. By using this feature, it achieves a lower amplification of both the writing and the size of the LSM tree. This allows the LSM tree to be operated exclusively from the RAM while values go from SSD.
Badger uses following main types:
DB contains keys that are mapped to values. They must be opened using appropriate approaches. All the operations are happening at Txn. Txn represents a transaction that can be only for reading or for both reading and writing. Read-only transactions can read values for a specific key that are in the form of an output in an item or iterate a set of key-value pairs using an iterator which is in the form of an item output. Read and write transactions can update or delete keys from the database.