After talking about document-oriented databases in general in Part 1, for Part 2 I’ve written some code comparing MongDB 1.1.1, CouchDBX 0.9.1 and Tokyo Tyrant 1.4.32 in an apples to apples test.
The shootout code is on Github. I welcome patches and improvements as long as they don’t bias the tests in favor of any [...]
Entries Tagged as 'Software'
Document-oriented Database Shootout Part 2: Performance
October 16th, 2009 · 8 Comments
Tags: Software
Looking for Machine Learning Specialist
October 12th, 2009 · No Comments
We’re looking for a Ph.D-level machine learning specialist who will maintain and improve our content scoring algorithms and codebase at OneSpot. Our current system is based on technologies like Hadoop, Cascading and EC2. The position is full-time in Austin, TX. Please contact me if you or someone you know is looking for [...]
Tags: Software
Comparing Document-oriented Databases
September 1st, 2009 · 8 Comments
MongoDB is a relatively new “schema-free, document-oriented database.” The closest competitor to MongoDB is probably CouchDB or Tokyo Cabinet’s Table database but all three differ in significant ways:
CouchDB guarantees the ACID properties when saving documents through an MVCC mechanism like postgresql. Tokyo Cabinet provides ACID support via locking, like mysql. Mongo updates documents in [...]
Tags: Software
Slabs, Pages, Chunks and Memcached
June 22nd, 2009 · 2 Comments
Many people don’t know this but the latest memcached release (1.2.8 right now) can be about 15% more efficient in its memory usage than older releases. If you have a 600MB memcached server, upgrading will magically “gain” you 100MB of RAM. Why is this?
When you ask memcached to store a value, it looks [...]
Tags: Software
A Guide to Varnish VCL
May 19th, 2009 · 1 Comment
I’ve been working with Varnish 2.0 for the last two weeks, going from complete n00b to someone who knows enough to feel I can improve the terrible lack of documentation for Varnish and VCL. There’s not a lot out there and what’s there is hard to find and sometimes erroneous. I’m hoping this [...]
Tags: Software
memcache-client 1.6.2 released
February 4th, 2009 · No Comments
I released the first official update to memcache-client since 1.5.0 tonight. In the last year, my fork added a number of stability features, became the de facto “best” version and is now the official version. My goal for the next year is to get the latest version integrated into Rails.
Highlights since 1.5.0
Socket failover [...]
How I Achieved my Dream with the iPhone
January 15th, 2009 · 4 Comments
This article spurred me in a completely unexpected technical direction over the winter break: Massive Christmas iPod Touch Sales Boost App Store Downloads. Two facts struck me:
An application which makes farting sounds was selling 40,000 units/day.
I’ve had a secret dream for a year…
My dream? To make a $5 keychain sold at the checkout [...]
Tags: Gadgets · Personal · Software
Consistent Hashing in memcache-client
January 14th, 2009 · 3 Comments
One of the most important features needed to create a scalable memcached infrastructure is consistent hashing. I recently added consistent hashing to the Ruby memcache-client project and I want to take a moment to explain why this is important.
The Naive Approach
Memcached is simple in principle: just like a hashtable, a unique key maps to [...]
Clojure vs Ruby, Part I
December 13th, 2008 · 34 Comments
I’m a performance guy, I’ll admit it. I love performance tuning and comparing code to see why one thing is slower than another. I’ve recently taken a shine to the Clojure programming language as it seems to combine two good things: an incredibly fast and reliable VM and a functional language designed for [...]
Ruby.rewrite Ruby
December 10th, 2008 · No Comments
Here’s an interesting talk from Reginald Braithwaite on Ruby code manipulation. I’m wondering if the difficulties he’s found in trying to build macro processing in Ruby is intrinstic in Ruby’s design. It seems like macros are a fringe feature in Ruby, but a core feature in Lispy languages due to language design. [...]
Tags: Software