Toystore Story

GitStore - 2013-12-11

This year, Gluggagægir has been assigned to the Trendy Toy Assembly Line. His mission? To set up a system to track the inventory of each type of toy. His parameters? Make it light on infrastructure, make it such that every change is auditable, and make it as easy as possible to interact with by the main Elf IT division.

Knowing that his old IT division buddies are all command line junkies, Glugg decided to try something different: GitStore. GitStore is a module that turns a Git repository into a datastore, and it comes with a MooseX::Storage driver that turns it into a persistent object repository. Glugg rationalized that Git repositories are as light on the infrastructure as anything would ever be, are a pretty much the ultimate tool to keep track of change history, and could make his IT friends real happy if he was to choose the right object serialization format.

So Glugg went to work. Meaning: he poured himself a stiff egg nog mug and created a Toy class:

With the toys created, the rest of the department could now get busy. Half the elves would update the inventory, and the other half would keep track of which children requested those particular toys. All of this done by a fairly complex process, but fortunately using a very simple API to the store:

All in all, Glugg was pretty smug about his system. And with the TTAL department happily churning away, he was able to return to his pet project — a skunkwork initiative aimed at leveraging Big Data technologies in a fashion that would revolutionalize the way the North Pole was processing children. But this story, dear boys and dear girls, is a story for another night...