Dive into NoSQL with Azure Niels Naglé Hylke Peek
Thanks to our platinum sponsors :
Thanks to our silver and gold sponsors :
Wie zijn wij Niels Data Solutions Consultant & Trainer Hylke Data Solutions Consultant & Trainer
WWhy NoSQL? KKey/Value store DDocument store CColumn Family store GGraph database RRECAP Topics
Relational Database PK int Title string Speaker string Track string Level int NULLNULL RDBMS APP SQL NULL
Horizontal partitioning RDBMS Sharded RDBMS Shard Shard Shard 2
ACID vs BASE UPDATE Sessions SET Level = 200 WHERE ID = 1 U U U U UPDATE Sessions SET Level = 200 WHERE ID = 1 U U U U ACID BASE
Aggregates
NoSQL Characteristics Non-relation data model Horizontal scalability More data flexibility Pros Horizontal scalability Easier coding Schema less Cons No ACID transactions Communication with other tools Schema less
Azure options Azure Service Aggregate StorageQuery language Transaction support Secundairy indexes Procs and Triggers Pricing
Azure options Azure Service Aggregate StorageQuery language Transaction support Secundairy indexes Procs and Triggers Pricing SQL Database Relational No Table, column, row T-SQLYes Yes, in T- SQL Throughput
Why NoSQL? Key/Value store Document store Column Family store Graph database RECAP Topics
Key/Value store Key Value
Azure Tables Table Azure Tables APP A 1 Title string Partition Entity Property A – Partition key 1 – Row key Data Speaker string Track string A 2 Title string Speaker string B 2 Title string EndDate string B 1 Title string Level string EndDate date Partition A Partition B A 2 A 2 Key/Value store
Azure options Azure Service Aggregate StorageQuery language Transaction support Secundairy indexes Procs and Triggers Pricing SQL Database Relational No Table, column, row T-SQLYes Yes, in T- SQL Throughput Azure Tables Key/Value Yes Table, partition, entity Subset of OData queries Within the partitionNo Data storage
Why NoSQL? Key/Value store Document store Column Family store Graph database RECAP Topics
Document store 1 2 id Document { "UserName":"johnclarkson", " " "MemberSince" :" ", "DateOfBirth" :" ", "BillingAddress" :"Mainstreet 14, New York……" } { "ProductName":"Shirts", "Size" :"L", "Colour" :"White", "RetailPrice" :"30", } Implicit schema!
DocumentDB APP Request Document store Data (Documents) Collection {...}
Azure options Azure Service Aggregate StorageQuery language Transaction support Secundairy indexes Procs and Triggers Pricing SQL Database Relational No Table, column, row T-SQLYes Yes, in T- SQL Throughput Azure Tables Key/Value Yes Table, partition, entity Subset of OData queries Within the partitionNo Data storage DocumentDB Document Yes Collection, document Extended subset of SQL Documents within a collection YesYes, in JavaScript Throughput
Why NoSQL? Key/Value store Document store Column Family store Graph database RECAP Topics
Column Family store 1 Column Qualifier Column value Row key Column Family Profile Product Implicit schema! UserNameJohnclarkson MemberSince ProductNameShirts SizeL ColourWhite RetailPrice : : 30 2 Profile Manager UserNameJohnclarkson MemberSince ManagerNameHenk DepartmentFinance
HDInsight HBase Column Family store Table HDInsight HBase APP Session Column Family Row Column 1 – Row key Data Speaker V2 2 Name Country Title Level Room Session Title 2
Azure options Azure Service Aggregate StorageQuery language Transaction support Secundairy indexes Procs and Triggers Pricing SQL Database Relational No Table, column, row T-SQLYes Yes, in T- SQL Throughput Azure Tables Key/Value Yes Table, partition, entity Subset of OData queries Within the partitionNo Data storage DocumentDB Document Yes Collection, document Extended subset of SQL Documents within a collection YesYes, in JavaScript Throughput HDInsight Hbase Column Family Yes Table, column family, column, row, version None (commands like create, get, put and scan) RowNoYes, in Java Data storage en VM’s
Why NoSQL? Key/Value store Document store Column Family store Graph database RECAP Topics
Graph database Node Relationship
Azure Service Aggregate StorageQuery language Transaction support Secundairy indexes Procs and Triggers Pricing SQL Database Relational No Table, column, row T-SQLYes Yes, in T- SQL Throughput Azure Tables Key/Value Yes Table, partition, entity Subset of OData queries Within the partitionNo Data storage DocumentDB Document Yes Collection, document Extended subset of SQL Documents within a collection YesYes, in JavaScript Throughput HDInsight Hbase Column Family Yes Table, column family, column, row, version None (commands like create, get, put and scan) RowNoYes, in Java Data storage en VM’s VM’s All Yes and No -----Per VM Azure options
Why NoSQL? Key/Value store Document store Column Family store Graph database RECAP Topics
ACID vs BASE UPDATE Sessions SET Level = 200 WHERE ID = 1 U U U U UPDATE Sessions SET Level = 200 WHERE ID = 1 U ACID BASE SQL Database Azure Tables DocumentDB HBASE GRAPH Neo4J
Azure Data technologiën Operational dataAnalytical data NoSQL Technologies SQL Technologies Document - DocumentDB - MongoDB… Key/Value - Tables - Riak… Column Family - HDInsight HBase - Cassandra… Big Data Analytics - HDInsight - Hadoop… Relational Database - SQL Database - SQL Server - Oracle - MySQL… Relational Analytics - SQL Data Warehouse - SQL Server - Oracle - MySQL… Managed service in Azure Software that can run in Azure VM Graph - Neo4j…
Use Cases Key/Value: Amazon Shopping Cart Document store: MetLife 360 Customer information Column Family store: Facebook Message store Graph database: Wallmart Realtime Recommendation Social graphs
Polyglot Persistence
? ? ? Questions
Announcement
Raffle! +=
Please review the event and sessions
Is there Demo time left?
Demo Document DB
Demo Graph database in Azure VM Neo4j Graph database IS_A
Azure Documentation ( Youtube teched 2014 – Introduction to NoSQL on Azure ( Martin fowler 2013 – Introduction to No SQL ( Graph databases (2 nd edition) O’Reilly ( HBASE 101 ( Used Sources & Extra information