Skip to content

Instantly share code, notes, and snippets.

@johnnyt
Created August 9, 2012 22:47
Show Gist options
  • Save johnnyt/3308755 to your computer and use it in GitHub Desktop.
Save johnnyt/3308755 to your computer and use it in GitHub Desktop.
MagLev and Big Data

MagLev is a Ruby implementation than runs on top of the GemStone/S Smalltalk VM. It can transparently manage a large amount (terabytes) of data and has a scalable built-in model for parallelism across VMs. Since all connected VMs see the same objects, it can have thousands of truly parallel threads running in a single, shared, transactional object space.

MagLev isn't a Ruby VM with an integrated NoSQL database, it's a pure object database that uses Ruby for its data manipulation language.

This session will show examples of MagLev specific collections (e.g. IdentitySet), indexes (including multi-level indexes like @address.@zip.@average_income) and benchmarks comparing MagLev with other NoSQL databases.

You will see how MagLev lets you have fun when working with Big Data by:

  • Avoiding the cruft, complexity and compromises that arise from the 'Object Relational Impedance Mismatch' (thanks Smalltalk!)
  • Working with and manipulating these data in a wicked awesome language we all love (thanks Ruby!)

MagLev lets Rubyists see how Ruby.is_a? Smalltalk and appreciate Kent Beck's quote:

I always knew that one day Smalltalk would replace Java. I just didn't know it would be called Ruby.

Bio

JohnnyT (a.k.a. John Thornton) has been developing web applications for 15 years, the last 7 of which have been in Ruby. He was converted to Smalltalk in 2010 after using MagLev (a new Ruby implementation) and discovering the magical world of GemStone/S powering it all. He loves to preach the good word of Smalltalk and works on Amber (Smalltalk that runs on top of JavaScript) to scratch his Smalltalk itch, and makes his living working with the amazing team at MoneyDesktop.

In addition to geeking out with computers, he has been known to lay down some funky bass grooves in local bands, play some serious board games and spend time with his family.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment