NoSQL Benchmarks NoSQL use cases NoSQL Videos NoSQL Hybrid Solutions NoSQL Presentations Big Data Hadoop MapReduce Pig Hive Flume Oozie Sqoop HDFS ZooKeeper Cascading Cascalog BigTable Cassandra HBase Hypertable Couchbase CouchDB MongoDB OrientDB RavenDB Jackrabbit Terrastore Amazon DynamoDB Redis Riak Project Voldemort Tokyo Cabinet Kyoto Cabinet memcached Amazon SimpleDB Datomic MemcacheDB M/DB GT.M Amazon Dynamo Dynomite Mnesia Yahoo! PNUTS/Sherpa Neo4j InfoGrid Sones GraphDB InfiniteGraph AllegroGraph MarkLogic Clustrix CouchDB Case Studies MongoDB Case Studies NoSQL at Adobe NoSQL at Facebook NoSQL at Twitter



rails: All content tagged as rails in NoSQL databases and polyglot persistence

FnordMetric: A Framework for Collecting and Visualizing Timeseries

FnordMetric looks like an interesting library for collecting and visualizing timeseries:


According to the docs, the framework has 3 components:

  1. FnordMetric Classic: a DSL for processing data streams and building web-based dashboards.

    It’s built in Ruby and uses Redis.

  2. FnordMetric Enterprise: a JVM-based timeseries databases

  3. FnordMetricUI: HTML5 and Javascript API for embeding charts into web pages. It works with either the Classic or Enterprise backends.

My only question is why building a new storage engine for the Enterprise component when there are already so many good tools for doing this. Other than that, I really liked the screenshot.

Original title and link: FnordMetric: A Framework for Collecting and Visualizing Timeseries (NoSQL database©myNoSQL)

Quick Guide to Using Amazon DynamoDB and S3 With Rails

Daniel Lobato Garcia:

One of the hackathons I attended was about deploying a Ruby app that pushes to and retrieves records from DynamoDB, and uploading photos to S3. It involves several steps but thanks to Trevor Rowe (author of AWS SDK for Ruby) who helped me, I finally succeeded and created a implementation that works pretty nicely. […] I included some information on how you could replicate this functionality on your Rails app in this Github repository.

Just a very basic guide to how to use Amazon SDK for Ruby in a Rails app. Or as one Hacker News commenter said:

I’m not sure, but from reading the article this feels more like AWS-SDK’s seamless integration with Rails rather than Rails’ seamless integration with DynamoDB & S3. Please correct me if I misunderstood.

Original title and link: Quick Guide to Using Amazon DynamoDB and S3 With Rails (NoSQL database©myNoSQL)


High Performance Rails Caching with Redis and nginx

here at rapidrabbit we deliver many 1,000 requests per second. doing this while only using a handful of servers and ruby on rails we employ very clever caching using redis and nginx. once the cache is written, it is directly accessed by nginx via a module, which makes it around 500-2,000 times faster than any rails controller.

Bypassing the slowest component in your stack by using caching might be a good idea. But then you need to answer how you control the lifecycle of your cached data. Taking inspiration from HTTP declarative caching mechanisms could be a start.

Original title and link: High Performance Rails Caching with Redis and nginx (NoSQL database©myNoSQL)


Persistent Graph Structures With Ruby/Rails

Summarizing this long thread trying to answer the question in the title: Neo4j + JRuby.

Original title and link: Persistent Graph Structures With Ruby/Rails (NoSQL database©myNoSQL)

Rails Caching Benchmarked: MongoDB, Redis, Memcached

A couple of Rails caching solutions—file, memcached, MongoDB, and Redis—benchmarked firstly here by Steph Skardal and then here by Thomas W. Devol. Thomas W. Devol concludes:

Though it looks like mongo-store demonstrates the best overall performance, it should be noted that a mongo server is unlikely to be used solely for caching (the same applies to redis), it is likely that non-caching related queries will be running concurrently on a mongo/redis server which could affect the suitability of these benchkmarks.

I’m not a Rails user, so please take these with a grain of salt:

  • without knowing the size of the cached objects, at 20000 iterations most probably neither MongoDB, nor Redis have had to persist to disk.

    This means that all three of memcached, MongoDB, Redis stored data in memory only[1]

  • if no custom object serialization is used by any of the memcached, MongoDB, Redis caches, then the performance difference is mostly caused by the performance of the driver

  • it should not be a surprise to anyone that the size of the cached objects can and will influence the results of such benchmarks

  • there doesn’t seem to be any concurrent access to caches. Concurrent access and concurrent updates of caches are real-life scenarios and not including them in a benchmark greatly reduces the value of the results

  • none of these benchmarks doesn’t seem to contain code that measure the performance of cache eviction

  1. Except the case where any of these forces a disk write  

Original title and link: Rails Caching Benchmarked: MongoDB, Redis, Memcached (NoSQL database©myNoSQL)

Arduino Cat Faucet With Mongodb and Rails

I used before the word geeky for the Smalltalk and CouchDB or the Smalltalk client for Riak. But this story is the real geeky thing. You must read it to believe me:

My cat likes to drink fresh and cold water directly from the faucet. We get up and turn on the faucet only to leave it running after she’s jumped down. It’s not really a big problem for us but I saw a fun problem that I could work on. As much as this seems like a weird and freakish oddity, it’s a potential start of a smarthome sensor network that may provide some utility. I also saw an opportunity to learn various things such as MongoDB, mechanical construction with Microrax, Rails3 and more development on Arduino with an Xbee module.

Arduino Cat Faucet with Mongodb and Rails

All parts of the project are described in detail, so even if you are not a cat person I still think you’ll enjoy it.

Original title and link: Arduino Cat Faucet With Mongodb and Rails (NoSQL databases © myNoSQL)


Rails Extensions for MongoDB Mongoid

A bunch of Rails addons to enhance Mongoid mapped models timestamps, versioning, history, tagging, search, geo, tree, etc. — note how many of these libraries are calling themselves mapping tools or even ORMs and ask yourself if indeed there’s no impedance mismatch:

This is all made possible by the fact that MongoDB documents don’t need a schema and that mongoid has a very simple callback mechanism that can invoke your function when an object is created, modified or destroyed.

The reverse of the coin is that the more you add the more magic is happening behind the scenes. And magic doesn’t usually play well with performance.

Original title and link: Rails Extensions for MongoDB Mongoid (NoSQL databases © myNoSQL)


Rails to XMPP with Redis

Now, whenever we need to pass a message to the XMPP server from the webapp, we stick it into a special Redis list. The proxy-component is now connected to the XMPP server and also connected to Redis. Using Redis’ BLPOP feature, the proxy-component ‘listens’ to the list, and forwards any new messages to the XMPP server. BLPOP is especially suited for this setup since it blocks the redis connection till a new item shows up in the list, making it quite zippy (otherwise you’d have to poll the list every few seconds, not as great or fast). 

Why not using Redis Pub/Sub?

Original title and link: Rails to XMPP with Redis (NoSQL databases © myNoSQL)


Easy IP Geotargeting with Geokit and MongoMapper

There are several cases in which it might make sense to tailor your app’s content based on a user’s physical location. But asking them directly is a bit of a pain. Luckily, it’s extremely simple to find a user’s location knowing only something you will always know about a visitor: their IP address. Today I’ll walk you through how to use IPs to geolocate your visitors in a Rails application using Geokit and MongoDB’s geospatial indexing with MongoMapper.

And a couple of days ago it was Rails with Geocoder and MongoDB with Mongoid.

Original title and link: Easy IP Geotargeting with Geokit and MongoMapper (NoSQL databases © myNoSQL)


Geolocation, Rails and MongoDB- a recipe for success

‘Geolocation’ seems to be the best dish being served today. Every web-portal, every mobile app wants to be sensitive to a persons location. Everyone wants to see information that is ‘relative’ or location sensitive. Whether its a deal portal, travel portal, social network – giving users information that is relevant to their location bring not only a personalized touch but also keeps tuned in to the portal.

Combining Rails with Geocoder, MongoDB with Mongoid and mongoid-geo, and Google Maps Javascript API.

Original title and link: Geolocation, Rails and MongoDB- a recipe for success (NoSQL databases © myNoSQL)


Using Redis with Ruby on Rails

TL;DR: Redis is fucking awesome.

Title and quote says it all. Added to the getting started with NoSQL guides.

Original title and link: Using Redis with Ruby on Rails (NoSQL databases © myNoSQL)


MongoDB for

Ethan Gunderson talking about their experiments with Ruby on Rails and MongoDB for building

Mongo Chicago: Sneak Preview by Ethan Gunderson

Original title and link: MongoDB for (NoSQL databases © myNoSQL)