Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Schema-free Microsoft Azure development

311 views

Published on

Explains how to access schema-free NoSQL data storages like Microsoft Azure Table Service without the need for ORM/ODMs.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Schema-free Microsoft Azure development

  1. 1. SCHEMA-FREE AZURE DEVELOPMENT By Example. C# code available from http://ingehenriksen.wordpress.com
  2. 2. AZURE SCHEMA-FREE DATABASES  Windows Azure Storage:  Table storage NoSQL database.  Massively scalable and Big Data capable (500 TB/Storage account).  REST API (OData).  Strongly typed .NET storage client object model.  http://azure.microsoft.com/en-us/documentation/services/storage/  NuGet: Install-Package WindowsAzure.Storage -Version 4.3.0 C# code available from http://ingehenriksen.wordpress.com
  3. 3. AZURE SCHEMA-FREE DATABASES  Windows DocumentDB(released April ‘15):  JSON document NoSQL database.  1 TB/database.  REST API.  Strongly typed .NET storage client object model.  «SQL-like» declerative query syntax.  Supports dynamically typed declerative queries.  http://azure.microsoft.com/en-us/services/documentdb/  NuGet: Install-Package Microsoft.Azure.DocumentDB C# code available from http://ingehenriksen.wordpress.com
  4. 4. SCHEMA-FREE ADVANTAGES  Boost developer performance:  No need for database schema defintions.  No need for Object-relational mappings (ORMs).  No need for manual entity definitions in code. C# code available from http://ingehenriksen.wordpress.com
  5. 5. THE OPTIMAL SOLUTION  Create tables on the fly.  Create table rows on the fly.  Create entity properties on the fly.  Support all data types. …Solved using Dynamic Typing. C# code available from http://ingehenriksen.wordpress.com
  6. 6. IMPLEMENTING DYNAMIC TYPING  Inherit DynStorage from System.Dynamic.DynamicObject.  Implement TryGetMember().  Create a table object by table name. C# code available from http://ingehenriksen.wordpress.com
  7. 7. IMPLEMENTING DYNAMIC TYPING  Inherit DynTable from System.Dynamic.DynamicObject.  Implement TryGetMember().  Create an entity object by partition key (primary key) and rowkey. C# code available from http://ingehenriksen.wordpress.com
  8. 8. IMPLEMENTING DYNAMIC TYPING  Inherit DynTableEntity from System.Dynamic.DynamicObject, ITableEntity, and Idictionary<string, EntityProperty>.  Implement TryGetMember().  Fetch entity property from dictionary.  Implement Save() method. C# code available from http://ingehenriksen.wordpress.com
  9. 9. IMPLEMENTING DYNAMIC TYPING  Implement dictionary EntityProperty().  Write TableQuery() using partitionkey and rowkey.  Implement TryGetMember().  Create an entity object by partition key (primary key) and rowkey. C# code available from http://ingehenriksen.wordpress.com
  10. 10. THANK YOU FOR YOUR TIME! Get started at http://azure.microsoft.com/en-us/downloads/ Inge Henriksen http://ingehenriksen.wordpress.com

×