Account for eventual consistency by storing log items for create/update/delete operations instead of using counter keys. We can then map/reduce over the log items in order to extract category sizes and object counts. Furthermore, we can combine single items from time to time in order to keep things fast and tidy.
Liquor Cabinet
Liquor Cabinet is where Frank stores all his stuff. It's a remoteStorage-compatible storage provider API, based on Sinatra and currently using Riak as backend. You can use it on its own, or e.g. mount it from a Rails application.
It's merely implementing the storage API, not including the Webfinger and OAuth parts of remoteStorage. You have to set the authorization keys/values in the database yourself.
If you have any questions about this thing, drop by #remotestorage on Freenode, and we'll happily answer them.
Contributing
We love pull requests. If you want to submit a patch:
- Fork the project.
- Make your feature addition or bug fix.
- Write specs for it. This is important so nobody breaks it in a future version unintentionally.
- Push to your fork and send a pull request.
Description
Languages
Ruby
99.5%
Dockerfile
0.5%