Untitled. Don't use MongoDB ================= I've kept quiet for awhile for various political reasons, but I now feel a kind of social responsibility to deter people from banking their business on MongoDB. Our team did serious load on MongoDB on a large (10s of millions of users, high profile company) userbase, expecting, from early good experiences, that the long-term scalability benefits touted by 10gen would pan out. We were wrong, and this rant serves to deter you from believing those benefits and making the same mistake we did.
If one person avoid the trap, it will have been worth writing. Hopefully, many more do. Note that, in our experiences with 10gen, they were nearly always helpful and cordial, and often extremely so. Home - UnQL Specification - Confluence. Practical NoSQL - Solving a Real Problem with MongoDB and Redis. When I wrote The Little MongoDB Book (hey, it's free) I presented the point of view that, broadly speaking, NoSQL was about expanding our toolset with respect to data storage. In addition to new tools, NoSQL is also about viewing, and storing, data with an open mind and using new modeling techniques (if not new, than at least newly accepted). This weekend I spent time solving a problem using both a new tool and a new modeling approach. It's an experience I'd like to share. As I start to rewrite and open source mogade (on github), one of the things I'm most anxious to fix is how we return a player's rank for a given leaderboard.
All you really need to know about mogade is that it provides leaderboards for game developers (also free!) The Original Design Saving a score Data in version 1 of mogade is modeled much like you'd expect to see using a traditional approach. In truth, there are a couple added complexities. Saving a new score ends up being pretty straightforward. Getting Leaderboards. Using MongoDB, Redis, Node.js, and Spring MVC in a single Cloud Foundry Application. Using MongoDB, Redis, Node.js, and Spring MVC in a single Cloud Foundry Application Traditionally, applications have been defined by the principle technology they use. If you're building a Spring MVC application, we call it a "Java app".
Since our application is primarily composed of Java components, we tend to stay in our own yards and not be terribly friendly with our neighbors until we're forced to interact with them. We set up Java-based application servers and tend to think first of going to the Java language to solve a problem in our application whether that language is the best choice or not. Cloud Foundry turns that dynamic on its head because it is no longer inconvenient to use the right tool for the job. It also doesn't hurt our case any that deploying either species of application is as simple as issuing a "push" command from our favorite shell. Polyglot Programming ^ N What's that old saying? There are several components to this application: Node.js Configuration Express.js <? Getting started with Cloud Foundry using a Node.js and MongoDB application | MIH SWAT.
Cloud Foundry is industry’s first open source Platform as a Service (PaaS). The goal of Cloud Foundry is to remove the obstacles developers face in building, deploying, running and scaling applications and to do it in an open way so that there is no lock-in to frameworks, application services or clouds. Cloud Foundry offers developers – Choice of developer frameworks. Developers can use Spring for Java, Rails and Sinatra for Ruby and Node.js for Javascript. It also supports other JVM based frameworks like Grails. The design of cloudfoundry is such that it will be easy to support other frameworks in the future. The following diagram from VMWare nicely illustrates the above mentioned points, VMWare Cloud Foundry Interfaces Types of deployments Public clouds -A public cloud PaaS service is available at CloudFoundry.com operated by VMWare .
Cloud Foundry is released under Apache 2 license. Sample Application on Cloud Foundry Installing vmc client If ruby is not already installed on the system, VMware CloudFoundry: Ruby powered PaaS. By Ilya Grigorik on April 14, 2011 Platform as a Service (PaaS) is not a trivial thing to build, deploy, or maintain: first you have to orchestrate all the services internally, then you have abstract all of that work behind a facade, and finally, you have to market, sell it, and maintain it.
Not surprisingly, an investment that large has been the domain of only a few well-funded companies. Hence, it has been interesting to watch VMware roll out their CloudFoundry service as an open source project! An entire PaaS platform, which they will also offer as a hosted service, but also available for anyone to run within their own company or datacenter - you can now run a "mini Heroku", or an "EngineYard cloud" on your own servers!
But marketing aside, the engineering behind the project is also very interesting: it is orchestrated entirely in Ruby! No Erlang, no JVM's, all Ruby under the hood. CloudFoundry: Rails, Sinatra, EventMachine Orchestrating the CloudFoundry Platform. The MongoDB NoSQL Database Blog - Getting started with VMware CloudFoundry, MongoDB and Rails. Listen to Jared Rosoff’s June 2 webinar "VMware Cloud Foundry with MongoDB".Read about getting started with Cloud Foundry, MongoDB, and Node.js. Last week, VMware launched Cloud Foundry: an open-source platform as a service. It’s pretty radical in that not only can you run your apps on infrastructure operated by VMware, you can also download Cloud Foundry itself and run it on your own machines! But what’s most awesome about Cloud Foundry is that it supports MongoDB right out of the box! In today’s post, we’re going to walk through the creation of a Rails application using MongoDB and Cloud Foundry.
Here’s what we’re going to need to do: Create our rails project First we’ll create our new Rails project. . $ rails new my_app —skip-active-record Add the dependencies for MongoMapperNext we need to setup our dependencies. Source " gem "rails", "3.0.5" gem "mongo_mapper" gem "bson_ext" $ script/rails generate scaffold messages message:string --orm mongo_mapper Congrats! Getting Started Guide - Command Line (VMC) users : Cloud Foundry Community. First steps — DotCloud documentation. Cloud hosting vs colocation - Chris Chandler's posterous. Free source code hosting – Bitbucket.