windows azure conference 2014 polyglot persistence: nosql + azure!
TRANSCRIPT
Windows Azure Conference 2014
Windows Azure Conference 2014
David Makogon @[email protected]
Shweta [email protected]@microsoft.com
Polyglot Persistence:NoSQL + Azure!
Many decisions to makeQuery semantics DurabilityScalabilityEase of Azure integrationStrengths vs limitations
How to map your solution to a database?
Traditionally, we compromised…Referential Integrity and transactionsSchema flexibilityScaleReporting needsSkillsetsExisting DR/HA procedures3rd-party tools, ecosystem
Polyglot persistence: pick many!Hybrid / mixed approachUse case: Shopping siteCart: Key/valueOrders: RDBMSCatalog, Reviews: DocumentSuggestions: Graph
Combine SQL, NoSQL, NewSQLSQL Server 2014 (Hekaton)SAP HANAOracle 12c
Key/value
OrdersCart Catalog &
Reviews
Document
Suggestions
Graph
E-Commerce platform
RDBMS
NoSQLSchemalessConsistency, Availability, Partition Tolerance (CAP)High Availability through clusteringExpect failures
Typically Scale Out
(doesn’t enforce schema)
NoSQL typesColumn family – Cassandra, Big TableColumns collocated: Row=column aggregateSQL-like queries
Azure tablesPartitioned storage with primary keyTriple-replicated, strong consistencyOptionally geo-redundantScalable: 200TB per namespaceSDKs: .NET, PHP, Python, Node, Java, Ruby
MongoDBDocument database – Binary JSON (BSON)Powerful query languageDocs, sub-docs, indexesMap/reduce, aggregationReplicas, shards, replicated shardsDozens of language SDKs
MongoDBRuns on Linux or WindowsInstalls in AzureHosted by MongoLab, MongoHQ
Installation instructions:http://bit.ly/mongodbonazure
Neo4jGraph database: Nodes and relationshipsStandalone or HASDKs: Java, PHP, Python, Ruby, Node, .NETQuery languages: Cypher, Gremlin, REST
Neo4jInstallable on Windows and LinuxTutorials at neo4j.org
Neo4j+Azure docs and walkthroughs: http://bit.ly/neo4jonazure
Pre-built Azure image in VM Depot
CassandraPartitioned storageSelectable consistency + availabilityMap/reduce on Cassandra File SystemOptimized for high write throughputSDKs: PHP, Python, Ruby, Node, .NETCassandra Query Language (CQL)
Remember this???What might this look like?…like… in a demo app?
Key/value
OrdersCart Catalog &
Reviews
Document
Suggestions
Graph
E-Commerce platform
RDBMS
More infoCN2P shopping demo app: https://cn2p.codeplex.com/Windows Azure: www.windowsazure.comWindows Azure Open Platform video series: http://bit.ly/openplatformAzure SDK’s: https://github.com/WindowsAzureAzure Training kit: http://bit.ly/azuretrainingkit
Windows Azure Conference 2014Windows Azure Conference 2014
Customer Interaction Zone (CiZ)
Any question on Anything Azure!
Book your slot now! @ the registration desk at the CiZ
Ask the Experts
GBRDay 15:15 PM
Windows Azure Conference 2014Windows Azure Conference 2014
© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.