Skip to main content

Posts

Showing posts from May, 2013

Setting up a Play Framework application on RedHat's Openshift

Play framework is an interesting web development option, using Netty directly as a web server, providing a basic MVC framework to build web applications on. A

Here's how you marry them both.. The documentation out there (git quick starts ) seem to be outdated. But, its simple really and truly DIY.. So, thought I would let people know.

1. Install Play 2.0  Spin up the play server and make sure something renders on the localhost.
2. Open an account with openshift.com and create a DIY application When you checkout the git projects, by default, you get the following directory structure with a Ruby script to serve up a index.html page.

$ ls -a. .. .git .openshift README diy misc$ ls diylogs  index.html  testrubyserver.rb$ ls .openshift/action_hooksbuild  deploy  post_deploy  pre_build  start  stop 3. Package your Play app$ play stage
$ target/start Now, copy target folder to
$ cp -rf target $OPENSHIFT_PROJECT_GIT_REPO/diy/ Throw away the index.html
$ git rm diy/index.html 4. Change the sta…

Thoughts On Adding Spatial Indexing to Voldemort

This weekend, I set out to explore something that has always been a daemon running at the back of my head. What would it mean to add Spatial Indexing support to Voldemort, given that Voldemort supports a pluggable storage layer.. Would it fit well with the existing Voldemort server architecture? Or would it create a frankenstein freak show where two systems essentially exist side by side under one codebase... Let's explore..

Basic Idea The 50000 ft blueprint goes like this.

Implement a new Storage Engine on top Postgres sql (Sorry innoDB, you don't have true spatial indexes yet and Postgres is kick ass)Implement a new smart partitioning layer that maps a given geolocation to a subset of servers in the cluster (There are a few ways to do this. But this needs to be done to get an efficient solution. I don't believe in naive spraying of results to all servers)Support "geolocation" as a new standard key serializer type in Voldemort. The values will still be  opaque b…