Missing key/value stores
minad opened this issue · 5 comments
This is a list of currently missing key/value stores. Please comment if you know another one that you might want to use. Implementations are also greatly appreciated!
Some implementations are not yet finished but are already in the staging branch. They need testing and fixes!
- Google App Engine for JRuby (gem appengine-apis, http://code.google.com/p/appengine-jruby/source/browse/appengine-apis/lib/appengine-apis/memcache.rb)
- SFTP (gem net-sftp)
- Mysql (gem mysql2)
- Git (gem multi_git)
- Couchbase (gem couchbase, http://www.couchbase.com/)
- CQL (gem cql-rb, cassandra cql interface)
- Rom-Rb (Datamapper 2, http://rom-rb.org/)
Gems available:
- Ehcache (gem ehcache, only jruby)
- LevelDB (gem leveldb, gem leveldb-ruby should both be supported. They have nearly the same API)
- RethinkDB (gem rethinkdb)
- Voldemort (gem voldemort-rb)
- Handlersocket (gem handlersocket, gem key_value, http://www.igvita.com/2011/01/14/handlersocket-the-nosql-mysql-ruby/, https://github.com/grosser/key_value)
- Keyspace (https://github.com/livingsocial/keyspace, https://github.com/scalien/keyspace)
- KyotoTycoon (gem kyototycoon)
- SSDB (gem ssdb, https://github.com/bsm/ssdb-rb, https://github.com/ideawu/ssdb)
- DynamoDB (gem dynamodb, https://github.com/groupme/dynamodb)
- Skydb (gem skydb, https://github.com/skydb/sky.rb)
- FoundationDB (gem fdb)
Relatively unknown:
- Rocksdb (https://github.com/facebook/rocksdb)
- Tarantool (gem tarantool, http://tarantool.org, https://github.com/mailru/tarantool-ruby/)
- Hibari (https://github.com/hibari/hibari)
- ARDB (Redis protocol, https://github.com/yinqiwen/ardb)
- Arakoon (http://arakoon.org/)
- Unqlite (http://unqlite.org/)
- Hibari (https://github.com/hibari/hibari)
- Mapkeeper (https://github.com/m1ch1/mapkeeper)
- Openkeyval (https://github.com/shinypb/openkeyval)
- Diskv (https://github.com/peterbourgon/diskv)
- TokutekKV (https://github.com/Tokutek/ft-index)
- NanoStore (https://github.com/tciuro/NanoStore, https://github.com/siuying/NanoStoreInMotion)
- Hyperdex (http://hyperdex.org/)
- Coreos etcd (https://github.com/coreos/etcd)
- ArangoDB (http://www.arangodb.org/, see https://github.com/triAGENS/ashikawa-core/issues/5)
- Scalaris (http://code.google.com/p/scalaris/source/browse/trunk/ruby-api/scalaris.rb)
- Dynomite (very old at https://github.com/skeptomai/ruby-dynomite)
- ThruDB (Haven't found much http://www.pauldix.net/2008/01/thrudb-orm-for.html)
- Hypertable (Only found https://github.com/tylerkovacs/hyper_record, which is for ActiveRecord)
- Ringo (https://github.com/tuulos/ringo)
- RavenDB (gem ravendb, but based on .NET/mono)
- OrientDB (http://www.orientdb.org/)
- LightCloud (http://opensource.plurk.com/LightCloud/, https://github.com/mitchellh/lightcloud)
- LuxIO (http://luxio.sourceforge.net/, https://github.com/kajidai/rluxio)
- Oracle NoSQL Database (Community Edition), JRuby Interface https://github.com/yeysus/14a.
- FineDB (http://www.finedb.org/)
Interesting databases which currently lack a ruby binding, but claim to be very fast:
- BangDB http://www.iqlect.com/
- NessDB https://github.com/shuttler/nessDB
- LSM http://www.sqlite.org/src4/doc/trunk/www/lsmusr.wiki
Relational:
- RDBI (gem rdbi)
- DBI (gem dbi)
- DataObjects (gem data_objects)
- JDBC
Special:
- AWS adapter using the amazon library instead of Fog
- FTP (stdlib net/ftp)
- RCS (Git, Mercurial, SVN, ...)
- IMAP
- LDAP
- TOML (https://github.com/mojombo/toml)
- Configuration files (e.g. gem configtoolkit, ...)
For inspiration: http://nosql-database.org/, https://github.com/datamapper/dm-core/wiki/Adapters
Asking for support for the neo4j graph database.
Same but for Etcd as it is a resilient Key value store great for multi node shared configuration.
I would suggest looking into Dynamoid for working with AWS DynamoDB. Dynamoid is a near-perfect ActiveRecord drop-in, and I suspect that much of the activerecord adaptor for moneta might work.
Hi !
FYI promising very fast http://rocksdb.org/ (leveldb fork from Facebook) have a Ruby binding: https://github.com/isamu/rocksdb-ruby
BTW, another incoming actor could be aerospike, http://www.aerospike.com/docs/guide, that's have great ruby client APIs: https://github.com/aerospike/aerospike-client-ruby
respect
giorgio