windows azure conference 2014 polyglot persistence: nosql + azure!

31
ndows Azure Conference 2014 Windows Azure Conference 2014 David Makogon @Dmakogon [email protected] Shweta Gupta@ShwetasTweets [email protected] Polyglot Persistence: NoSQL + Azure!

Upload: jonah-george-pearson

Post on 31-Dec-2015

226 views

Category:

Documents


0 download

TRANSCRIPT

Windows Azure Conference 2014

Windows Azure Conference 2014

David Makogon @[email protected]

Shweta [email protected]@microsoft.com

Polyglot Persistence:NoSQL + Azure!

The multi-database paradigm shift NoSQL database typesDemo time

Today’s agenda

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

Data in many flavors

Azure TablesSQL DB

SQL NoSQL

NoSQLSchemalessConsistency, Availability, Partition Tolerance (CAP)High Availability through clusteringExpect failures

Typically Scale Out

(doesn’t enforce schema)

NoSQL typesKey/valueDocumentGraphColumn

NoSQL typesKey/value - Memcached, Azure Tables, DynamoDBKey-based lookupOpaque values

NoSQL typesDocument – MongoDB, CouchDB, RavenDBOO data modelingSearchingSQL-like queries

NoSQL typesColumn family – Cassandra, Big TableColumns collocated: Row=column aggregateSQL-like queries

NoSQL typesGraph – Neo4j, InfiniteGraphNode + relationship traversal

Table storage<key/value>

storage

Azure tablesPartitioned storage with primary keyTriple-replicated, strong consistencyOptionally geo-redundantScalable: 200TB per namespaceSDKs: .NET, PHP, Python, Node, Java, Ruby

Demo: Azure Tables

MongoDB<document>

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

Demo: MongoDB

Neo4j<graph>

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

Demo: Neo4j

Cassandra<column family>

CassandraPartitioned storageSelectable consistency + availabilityMap/reduce on Cassandra File SystemOptimized for high write throughputSDKs: PHP, Python, Ruby, Node, .NETCassandra Query Language (CQL)

NoSQL+AzureSelf-host DBaaS

Azure Tables

MongoDB

Cassandra

CouchDB

HBase

Neo4j

Redis Memcached

Remember this???What might this look like?…like… in a demo app?

Key/value

OrdersCart Catalog &

Reviews

Document

Suggestions

Graph

E-Commerce platform

RDBMS

Demo: Cloud NinjaShopping app

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.