Document Type

Conference Paper


Available under a Creative Commons Attribution Non-Commercial Share Alike 4.0 International Licence



Publication Details

“An investigation of distributed schema free tabular data storage technologies on Google App Engine and Microsoft Azure”, Conor McGrath and Gary Clynch the 11th Information Technology and Telecommunications (IT&T) Conference, Cork Institute of Technology, 2012.

ISSN 1649‐1246


This paper examines schema free non-relational tabular storage for two important emerging Platform as a Service (PaaS) environments, where Google App Engine applications persist data to the Google Datastore, and Microsoft Azure applications store data in Azure Tables. A simple mobile web application was initially developed for both platforms, to understand how an application could be developed and deployed. Java Data Objects (JDO) was selected for Google App Engine and Windows Communication Foundation (WCF) in C# for Microsoft Azure. Many applications have a requirement to store complex data that is organised in relations in the order of One to One, One to Many and Many to Many that are often implemented in a relational database. Azure SQL and Google Cloud SQL are RDBMS technologies implemented on these Cloud platforms but are more costly to use. A testbed was developed to investigate implementation of these relations using automatic management features and developer managed techniques on each platform using JDO and WCF. An evaluation on primitive operations was carried out on both environments indicating each provided adequate operations to create, update, delete and display data. Due to design differences App Engine JDO scored better. An evaluation of how relations could be implemented was also conducted. Google App Engine JDO provides automatic management of One to One and One to Many relations while Microsoft Azure does not provide any relations management features. Google App Engine JDO permits storage of non-primitive types such as java.util.List objects which allows for tracking of child entity keys with ease, but this is not available in Azure Tables. Attempting to develop Join semantics in application code proved to be error prone and difficult with Azure Tables. A number of alternative proposals are made to implement relations on Azure Tables.