Skip to content

davidmanzanares/treeless

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Treeless

Distributed NoSQL key-value DB written in Go.

Features

  • High performance (~1MOp/s per node)
  • High availability (AP system with eventual consistency)
    • Last Writer Wins policy
    • Read-repair
    • Asynchronous repair
  • Automatic rebalance
  • Simple API (Get, Set, Del and CAS operations)
  • Storage
    • Index always stored in RAM
    • Key-value pairs stored in RAM, SSD or HDD (memory mapped files are used)

API Example

c, err := client.Connect(addr)
c.Set([]byte("hola"), []byte("mundo"))
value, _, _ := c.Get([]byte("hola"))
c.Close()

CLI Example

Creating a new database:

./treeless -create -port 10000 -dbpath DB0 -localip 127.0.0.1  -redundancy 2

Adding a new node to an existing database:

./treeless -assoc 127.0.0.1:10000 -port 10001 -dbpath DB1 -localip 127.0.0.1

Status

All tests are passed, but you may still find serious bugs. Use with care.

About

Distributed NoSQL key-value DB engine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages