Over a million developers have joined DZone.

Anvil App Platform: Using GitHub as a Datastore

DZone's Guide to

Anvil App Platform: Using GitHub as a Datastore

See how an app transforms GitHub into a mini database, perfect for storing less-than-essential documents.

· Database Zone ·
Free Resource

Built by the engineers behind Netezza and the technology behind Amazon Redshift, AnzoGraph is a native, Massively Parallel Processing (MPP) distributed Graph OLAP (GOLAP) database that executes queries more than 100x faster than other vendors.  

Literally one day after the last blog post on Anvil (and their news announcement), Ian and Meredydd did a proof of concept that made Anvil retrieve/store data from/to GitHub. Specifically, it was a JSON document. You are not going to rest a transactional database on this design, financial or otherwise, but you might be super happy for a “Very Small Data” application. Or one that is for editing configuration — refer my Config as Code category.

On the Anvil Works site is a blog post about it. That blog entry details what/how they've done this ultimately very simple thing. They don’t show the diff, though. In a technology that is using SCM as a data store, after bumping the HEAD revision of a document programmatically, you’re going to want to check out the change you just made:

"Yay!" indeed.

As well as dealing with GitHub’s APIs for working with documents (as data), it’d be great to see these guys enhance their own Git capability for storage, and add index/view APIs for a mini-CouchDB experience.

This type of solutioning is going to be part of a wave of cheaper internal enterprise apps again, and maybe also apps online for strangers where cheap data capture is more important that a 100% ‘just so’ UI experience.

Download AnzoGraph now and find out for yourself why it is acknowledged as the most complete all-in-one data warehouse for BI style and graph analytics.  

news ,data ,apis ,capture ,json

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}