TreodeDB is a distributed database that provides multirow atomic writes, and it's designed for RESTful services. It is packaged as a library for building storage servers.
TreodeDB
- is a key-value store
- offers replication for fault tolerance
- offers sharding for scalability
- offers transactions to provide consistency
- tracks versioned data to extend transactions through a CDN or cache
- can feed an Apache Spark™ RDD or an Apache Hadoop™ InputFormat for analytics
- can feed an Apache Spark™ DStream for streaming analytics
- provides an embedded API, which is very flexible
TreodeDB is a library for building a peer in a storage network. It offers a Scala API for read, write and scan; you add layers for data-modeling, client protocol and security.
The libraries for TreodeDB are available Scala 2.10 and 2.11. Notice the uncommon notation for the dependency; this gives you stubs for testing.
resolvers += Resolver.url (
"treode-oss",
new URL ("https://oss.treode.com/ivy")) (Resolver.ivyStylePatterns)
libraryDependencies +=
"com.treode" %% "store" % "0.2.0" % "compile;test->stubs"
- Online Forum on Discourse
- Chat Room on HipChat
- #treode on StackOverflow: Browse questions asked or post a new one
Please report issues in the Bugs Category of the Online Forum on Discourse.
Done
- Embedded Scala API
- Read, write and scan
- Replication, sharding and transactions
- Changing the disks on a live server
- Changing the hosts in a live cell
Next
- Server with RESTful JSON API
- Performance and stress testing
- Improved documentation
Future
- Full text search
If you wish to contribute to TreodeDB, you must first sign the Contributor License Agreement (CLA). If your employer has rights your intellectual property, your employer will need to sign the Corporate CLA.
You can submit a pull request the usual GitHub way. We will review the code and provide substantive feedback. When that has been addressed, we will take ownership of the change to fix nits and clean the history.
See the Contributor Category of the Online Forum for more information.