Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
Dive into NoSQL with Azure Niels Naglé Hylke Peek Thanks to our platinum sponsors : Thanks to our silver and gold sponsors : Wie zijn wij Hylke Peek Niels Naglé Data Solutions Consultant & Trainer Data Solutions Consultant & Trainer [email protected] [email protected] @HylkePeek @NielsNagle Topics Why NoSQL? Key/Value store Document store Column Family store Graph database RECAP Relational Database RDBMS SQL APP PK Title Speaker Track Level int string string string int 1 2 NULL 3 4 NULL N U L L Horizontal partitioning RDBMS Sharded RDBMS 1 2 3 4 5 6 7 8 9 10 1 2 11 12 13 14 15 4 5 Shard 1 Shard 3 Shard 2 3 6 7 8 12 9 10 11 15 13 14 ACID vs BASE UPDATE Sessions SET Level = 200 WHERE ID = 1 U ACID U U U UPDATE Sessions SET Level = 200 WHERE ID = 1 U BASE U U U Aggregates NoSQL Characteristics Non-relation data model Horizontal scalability More data flexibility Pros Cons Horizontal scalability No ACID transactions Easier coding Communication with other tools Schema less Schema less Azure options Azure Service Aggregate Storage Query language Transaction support Secundairy indexes Procs and Triggers Pricing Azure options Azure Service Aggregate Storage Query language Transaction support Secundairy indexes Procs and Triggers Pricing SQL Database No Table, column, row T-SQL Yes Yes Yes, in TSQL Throughput Relational Topics Why NoSQL? Key/Value store Document store Column Family store Graph database RECAP Key/Value store Key 1 2 3 4 Value Azure Tables Azure Tables Key/Value store Title A 1 string A 2 Title A APP Speaker string Speaker 2 string string Track string Partition A A 2 Title B 1 string Table Title Partition A – Partition key Entity 1 – Row key Property Data B Level string EndDate 2 string string EndDate date Partition B Azure options Azure Service Aggregate Storage Query language Transaction support Secundairy indexes Procs and Triggers Pricing SQL Database No Table, column, row T-SQL Yes Yes Yes, in TSQL Throughput Yes Table, partition, entity Subset of OData queries Within the partition No No Data storage Relational Azure Tables Key/Value Topics Why NoSQL? Key/Value store Document store Column Family store Graph database RECAP Document store id 1 Document { "UserName":"johnclarkson", "Email" :"[email protected]", "MemberSince" :"03-05-2015", "DateOfBirth" :"06-04-1980", "BillingAddress" :"Mainstreet 14, New York……" } 2 { "ProductName":"Shirts", "Size" :"L", "Colour" :"White", "RetailPrice" :"30", } Implicit schema! DocumentDB Document store Request APP {...} Collection Data (Documents) DocumentDB Azure options Azure Service Aggregate Storage Query language Transaction support Secundairy indexes Procs and Triggers Pricing SQL Database No Table, column, row T-SQL Yes Yes Yes, in TSQL Throughput Yes Table, partition, entity Subset of OData queries Within the partition No No Data storage Yes Collection, document Extended subset of SQL Documents within a collection Yes Yes, in JavaScript Throughput Relational Azure Tables Key/Value DocumentDB Document Topics Why NoSQL? Key/Value store Document store Column Family store Graph database RECAP Column Family store Row key Column Family Profile Column Qualifier Column value UserName Johnclarkson Email [email protected] MemberSince 03-05-2015 ProductName Shirts Size L Colour White RetailPrice <timestamp> : 30000 <timestamp> : 30 UserName Johnclarkson Email [email protected] 1 Product Implicit schema! Profile MemberSince 2 Manager ManagerName Henk Department Finance HDInsight HBase HDInsight HBase Column Family store Session Speaker Name Session Title 2 V2 1 APP 2 2 3 Table 4 Column Family Column 1 – Row key Row Data Country Title Level Room Azure options Azure Service Aggregate Storage Query language Transaction support Secundairy indexes Procs and Triggers Pricing SQL Database No Table, column, row T-SQL Yes Yes Yes, in TSQL Throughput Yes Table, partition, entity Subset of OData queries Within the partition No No Data storage Yes Collection, document Extended subset of SQL Documents within a collection Yes Yes, in JavaScript Throughput Yes Table, column family, column, row, version None (commands like create, get, put and scan) Row No Yes, in Java Data storage en VM’s Relational Azure Tables Key/Value DocumentDB Document HDInsight Hbase Column Family Topics Why NoSQL? Key/Value store Document store Column Family store Graph database RECAP Graph database Relationship Node Azure options Azure Service Aggregate Storage Query language Transaction support Secundairy indexes Procs and Triggers Pricing SQL Database No Table, column, row T-SQL Yes Yes Yes, in TSQL Throughput Yes Table, partition, entity Subset of OData queries Within the partition No No Data storage Yes Collection, document Extended subset of SQL Documents within a collection Yes Yes, in JavaScript Throughput Yes Table, column family, column, row, version None (commands like create, get, put and scan) Row No Yes, in Java Data storage en VM’s Yes and No - - - - - Per VM Relational Azure Tables Key/Value DocumentDB Document HDInsight Hbase Column Family VM’s All Topics Why NoSQL? Key/Value store Document store Column Family store Graph database RECAP ACID vs BASE U ACID UPDATE Sessions SET Level = 200 WHERE ID = 1 SQL Database UPDATE Sessions SET Level = 200 WHERE ID = 1 Azure Tables GRAPH Neo4J U U U BASE U DocumentDB HBASE Azure Data technologiën Operational data NoSQL Technologies SQL Technologies Key/Value - Tables - Riak… Column Family - HDInsight HBase - Cassandra… Document - DocumentDB - MongoDB… Graph - Neo4j… Relational Database - SQL Database - SQL Server - Oracle - MySQL… Analytical data Big Data Analytics - HDInsight - Hadoop… Relational Analytics - SQL Data Warehouse - SQL Server - Oracle - MySQL… Managed service in Azure Software that can run in Azure VM 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 28-11-2015 Raffle! + = Please review the event and sessions http://www.sqlsaturday.com/434/eventeval.aspx http://www.sqlsaturday.com/434/sessions/sessionevaluation.aspx Is there Demo time left? Demo Document DB Demo Graph database in Azure VM Neo4j IS_A Neo4j Graph database Used Sources & Extra information Azure Documentation (http://azure.microsoft.com/nl-nl/documentation/services/) Youtube teched 2014 – Introduction to NoSQL on Azure (https://www.youtube.com/watch?v=sDUHsUQC8NM) Martin fowler 2013 – Introduction to No SQL (https://www.youtube.com/watch?v=qI_g07C_Q5I) Graph databases (2nd edition) O’Reilly (http://graphdatabases.com/) HBASE 101 (https://www.youtube.com/watch?v=KZps2dzr_u4)