May the Fourth Be With You

Last Blog | Index | Next Blog


4 May 2014

Alot has changed since I was a kid. Disney bought the Muppets. Then they bought Lucasfilm. And now they've hired the same guy who directs Star Trek movies, J.J. Abrams, to direct the next Episode of Star Wars. When I was a kid I memorized Kirk and Khan's lines and tried to use the force to lift things. I had more success with the former than the latter. I can think of probably 3 movies that, seeing them in theaters for the first time, gave me goosebumps of excitement: Back to the Future Part II, Star Wars Episode I, and Star Trek. I'd watched previous pieces of each story in my living room and been captivated, and hearing/seeing those familiar themes in a new iteration was immensely exciting in each case. Not to mention all the arguments I'd had on the elementary school playground with other kids who claimed they'd seen the first 3 episodes of Star Wars. This past week saw the announcement of the actors who played my childhood heroes coming back in yet another iteration of Star Wars. Not sure who they'll be fighting with the Emperor dead and the rebellion against the Empire successful, but I'm sure J.J. Abrams will make it exciting. I am a little worried he'll try to make the Millenium Falcon look like the Apple store, but hopefully he'll keep visual continuity with the original three films. He can't do worse than the CGI Yoda in Episode I.

The other half of the excitement is taking my kids. Alora and Brittan were too young to see any but the most recent of Star Wars movies in the theaters (Episode III) and Maxwell and Zara haven't seen any. While I've enjoyed encountered cinematic iterations of other heroes from my childhood (X-men, Iron man, Batman, Enders Game, Star Trek, etc), they've never seen a Star Wars on the big screen. If Disney is smart they'll re-release the other six before VII comes out. And, naturally, if I could ask J.J. Abrams one question it would be, "When are you starting work on the Back to the Future Part IV?"

Google, on the other hand, has chosen to ignore the slowly building hype on this May the Fourth and instead celebrate one of my favorite actresses, Audrey Hepburn:

Surprisingly, it seems that Google has never acknowledged the StarWarsness of this date with a doodle. Here are the May Fourth doodles (mostly Japanese) for the years I could find:

2000 | 2003 | 2004 | 2005 | 2006 | 2007 | 2008 | 2010 | 2012 | 2014

Of course, at Hack Nashville it's not very Star Wars themed either, despite all the geekdom present. As it turns out, the guy I was working with could only come the first night. Apparently he had to graduate from college or something. Some people's priorities.... We had plans to build a hybrid OLAP tools along the lines of a recent data analytics conference paper. He'd sketched out some of the code beforehand and entitled the project "Locke" after one of his favorite philosophes. Not a surprise we got along there.

To say my Java's a bit rusty is something of an understatement. I last used it professionally in 1999, the same Summer The Phantom Menace came out in theaters. That, plus having never used JDBC meant it was a steep learning/remembering curve this weekend. I managed to knock out a very rudimentary application that does basic hybrid OLAP caching with a MySQL database. It has a simple ORM only allowing full joins between tables, where clauses and group bys, but the power is in the caching. The first time a query is run it hits the full database and it takes ... however long it takes. The serialized lists of tables, where clauses, group bys and query results are then stored in the cache table. Each subsequent execution of the query takes less than a second because it hits the cache table instead of the full database.

The next obvious step is to further abstract the queries and store the results as key-value pairs in a NoSQL database rather than MySQL. Outside of star schema databases this appears to be a non-trivial task, however. Additionally, this particular flavor of hybrid is felicitous to databases that have batched ETL rather than ones that do OLTP. As part of the ETL process this hybrid method also adds the additional overhead of invalidating cache table entries during ETL. The simplest method for invalidation is probably to invalidate all the cached queries referencing tables touched by the ETL, but if the ETL frequency is high enough it may make sense to recalculate certain frequently used cached queries as well as invalidating old ones.


Tweet


Last Blog | Index | Next Blog


Web wogsland.org


Last change was on 5 May 2014 by Bradley James Wogsland.
Copyright © 2014 Bradley James Wogsland. All rights reserved.