Skip to content
🍀 Fast, decentralized and git-trackable database.
Go
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
.drone.yml
.gitignore
Benchmarks_test.go
Cluster_test.go
Collection.go
Configuration.go
KeyValue.go
LICENSE
Namespace.go
Namespace_test.go
Network.go
Node.go
Node_test.go
PacketType.go
README.md
README.src.md
Utils_test.go
go.mod
go.sum

README.md

nano

Godoc Report Tests Coverage Sponsor

High-performance database. Basically network and disk synchronized hashmaps.

Benchmarks

BenchmarkCollectionGet-12               317030264                3.75 ns/op            0 B/op          0 allocs/op
BenchmarkCollectionSet-12               11678318               102 ns/op              32 B/op          2 allocs/op
BenchmarkCollectionDelete-12            123748969                9.50 ns/op            5 B/op          0 allocs/op
BenchmarkCollectionAll-12                1403905               859 ns/op            2144 B/op          2 allocs/op

Features

  • Low latency commands
  • Every command is "local first, sync later"
  • Data is stored in memory
  • Data is synchronized between all nodes in a cluster
  • Data is saved to disk persistently using JSON
  • Timestamp based conflict resolution
  • Uses the extremely fast sync.Map

Terminology

  • Namespace: Contains multiple collections (e.g. "google")
  • Collection: Contains homogeneous data for a data type (e.g. "User")
  • Key: The string that lets you look up a single object in a collection

All of the above require a unique name. Given namespace, collection and key, you can access the data stored for it.

Style

Please take a look at the style guidelines if you'd like to make a pull request.

Sponsors

Cedric Fung Scott Rayapoullé Eduard Urbach
Cedric Fung Scott Rayapoullé Eduard Urbach

Want to see your own name here?

You can’t perform that action at this time.