A Go database
Go JavaScript CSS
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bench
client
common
dhash
discord
god_cli
god_server
murmur made the murmur tests run again Jun 16, 2013
persistence
radix replaced the C implementation of murmur3 with https://github.com/spao… Apr 30, 2013
templates
timenet
web
.gitignore
LICENSE added a BSD license Feb 6, 2013
README.md

README.md

god

god is a scalable, performant, persistent, in-memory data structure system. It allows massively distributed applications to update and fetch common data in a structured and sorted format.

Its main inspirations are Redis and Chord/DHash. Like Redis it focuses on performance, ease of use, and a small, simple yet powerful feature set, while from the Chord/DHash projects it inherits scalability, redundancy, and transparent failover behaviour.

Try it out

Install Go, git, Mercurial and gcc, go get github.com/zond/god/god_server, run god_server, browse to http://localhost:9192/.

Embed it in your Go application

import "github.com/zond/god/dhash"
s := dhash.NewNodeDir(fmt.Sprintf("%v:%v", listenIp, listenPort), fmt.Sprintf("%v:%v", broadcastIp, broadcastPort), dataDir)
s.MustStart()
s.MustJoin(fmt.Sprintf("%v:%v", joinIp, joinPort))

Documents

HTML documentation: http://zond.github.com/god/

godoc documentation: http://godoc.org/github.com/zond/god

TODO

  • Docs
  • Add illustrations to the usage manual
  • Benchmark
  • Consecutively start 1-20 instances on equally powerful machines and benchmark against each size
  • Need 20 machines of equal and constant performance. Is anyone willing to lend me this for few days of benchmarking?
  • Add benchmark results to docs