NoSQL Notable News, Articles and Links about “usecase”

#

Voice Applications with Tropo, CouchDB and PHP

This post and the next several that follow it will detail how to set up a CouchDB instance and to build a cloud telephony application with it using the Voxeo Tropo platform.

So far they published 3 articles: ☞ part 1 — covering CouchDB installation —, ☞ part 2 — CouchDB configuration and the first PHP code interacting with both Tropo and CouchDB amd ☞ part 3 — covering CouchDB data modeling and data fetching.

Even if you don’t plan to build a telephony app, I’d still say it is a bit more practical than this other CouchDB usecase.

#

Fun with the CouchDB _changes feed and RabbitMQ

Streaming notifications about CouchDB document updates using RabbitMQ.

What could it be used for? My first thought is some sort of parallel computation, boot up a few dozen EC2 nodes and start dumping data into CouchDB.

or it is just about having fun with some cool projects …

Update: I also found a presentation on a similar topic that I’ve embedded below RabbitMQ + CouchDB = Awesome by Lenz Gschwendtner.My impression is that the presented usecase works the other way around though (nb RabbitMQ pushing messages to CouchDB instead of RabbitMQ disseminating CouchDB messages

RabbitMQ + CouchDB = Awesome

Update: Based on this picture from Jan Lehnardt (@janl), I’d say there are a couple of _changes fanboys!

_changes fanboys

#

MongoDB Usecase: Genome Data Experiments

Jan Aerts, genetics researcher at Cambridge, is using MongoDB to run some experiments on the 1000genomes project. I am not sure the motivation that brought Jan to MongoDB is the best, but my purpose is not to stop any NoSQL experiments, but report them:

However we would end up with a lot of NULLs in that table. […] This is where you can start thinking of using a document-oriented database for storing these SNP data: each document will be tailored to a specific SNP and will e.g. not refer to the JPTCHB population if it it not present in that population. Enter mongodb.

The post includes code for loading data into MongoDB and also applying MapReduce for getting some results out. Some additional notes from the post:

This script (nb the MapReduce) takes 50 minutes to run using a mongo database on my MacBook laptop.

[…]

Unfortunately, you have to define the map and reduce functions in javascript, which is a bit unsightly within a ruby script, but so be it.

He also points to the excellent MongoDB aggregation tutorial.

#

NoSQL Twitter Applications

Everyone is building these days a Twitter-like or Twitter-related project using some NoSQL solution. I guess they can use as a ‘scientific’ explanation for these experiments Nati Shalom’s (Gigaspaces) great ☞ post on the common principles behind NoSQL alternatives (the post was inspired by his talk at QCon on building a scalable Twitter application. The presentation is embedded below).

MusicTweets

Even if the project code is not available and I couldn’t get the mentioned online version to work, I’d say that the combination of Redis and HTML5 WebSockets is making it worth mentioning. And it case you cannot get it to work either, there is a screencast for it:

TStore

TStore is a twitter search result backup tool build in Python and CouchDB. The source code is available on ☞ GitHub.

Retwis

Retwis is a non-distributed Twitter clone built in PHP and using Redis. The source code and extended details about the implementation are available ☞ here.

According to this page, there is already a port of this solution to Ruby and Sinatra: ☞ Retwis-RB.

Update: Thanks to @koevert, now the list includes also a java port of Retwis: ☞ twayis

Floxee

Floxee is a commercial tweetstream search and tagging platform built using MongoDB. You can read a bit more about MongoDB usage ☞ here

I am pretty sure I haven’t found all Twitter-like/Twitter-related NoSQL apps out there, so please feel free to send me more. I’ll be happy to update the post.

And in case you are not interested in NoSQL Twitter applications, then you can check the MongoDB-based forum/message-boards apps.


Nati Shalom: Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web Applications

#

MongoDB Usecases

Lately I have gathered a couple of detailed MongoDB usecases and I thought to share these with you. While usecases cannot be considered (perfect) recipes, being able to see what others have done will definitely give you an idea of where and how a specific NoSQL project can be useful or not. That’s why I’d also encourage you to check the usecase coverage here on MyNoSQL.

Shapado.com: A FOSS replacement for Stackoverflow based on MongoDB

I think Stackoverflow approach is the first and single solution that have successfully brought forums to the web 2.0 era. So, in case you are wondering what’s the reason behind Shapado.com, I have found this explanation:

the initial reason to do this site was to test our mongodb+rails stack, not to take over the world. We think stackoverflow is fine but having a foss alternative is always a good thing, especially for people who need or want to have a local install of it, or just enjoy hacking on it :)

Resources

@nosqlupdate

Using MondoDB as a simple message board backend

This project is an experiment brought to you by Bill Casarin (@jb55). I must say that it is quite interesting to see not one, but two message board/forum-like applications within a couple of days.

Something that caught my attention in the blog post introducing the experimental message board app is the following comment:

I’d have to say the worse part of the whole ordeal so far is the lack of integration with existing Python web frameworks.

That is just reinforcing the points I’ve raised about NoSQL adoption in my post Bringing NoSQL to the people.

There is no code released yet, but Bill intends to ☞ opensource it:

It’s part part of the forum software I plan to opensource sometime in the future […]

Building the simplest online feed reader (using ExtJS, ASP.NET MVC and MongoDB)

This is a 2 articles series on how to build an online feed reader and I have found interesting the exercise of designing the data model.

Resources

@dead_trickster

Denormalizing Your Rails Application: MongoDB Usage at songkick (pdf) ☞

The presentation is detailing MongoDB usage at songkick ( a social network based around live music,) and the reasons why MongoDB was a better fit than RDBMSs or Memcached:

  • Schema-less which is great for our denormalized data which is changing a lot. (Schema less databases are a great fit with dynamic languages.)
  • Pretty quick. Stores most/all of our db in RAM.
  • Supports sharding (or close to supporting it anyway).
  • Seems more mature than some….
  • Fully supported Ruby driver. (With responsive IRC and developers.)

@danlucraft

I hope you enjoy these usecases. For more you can check these NoSQL usecases. And you can always send new ones by pinging @al3xandru on Twitter or by dropping me an email.