Introduction to Azure DocumentDB. Jeff Renz, BI Architect RevGen Partners

Similar documents
Turbo-Charged Transaction Logs. David Maxwell

Introducing DocumentDB

SQL Server Internals: The Practical Angle Sneak Peek. Dmitri Korotkevitch Moderated by Roberto Fonseca

Introducing DocumentDB

10/18/2017. Announcements. NoSQL Motivation. NoSQL. Serverless Architecture. What is the Problem? Database Systems CSE 414

Every Byte Counts. Why Datatype Choices Matter. Andy Yun, Database Architect/Developer

Locking, Blocking, Versions: Concurrency for Maximum Performance. Kalen Delaney, Moderated By: Daniel Janik

Introduction to JSON. Roger Lacroix MQ Technical Conference v

Monitoring & Tuning Azure SQL Database

Top 7 Data API Headaches (and How to Handle Them) Jeff Reser Data Connectivity & Integration Progress Software

Take a Load Off with U2 RESTful Web Services. Nik Kesic, Lead Technical Support for Rocket U2

5/1/17. Announcements. NoSQL Motivation. NoSQL. Serverless Architecture. What is the Problem? Database Systems CSE 414

5/2/16. Announcements. NoSQL Motivation. The New Hipster: NoSQL. Serverless. What is the Problem? Database Systems CSE 414

CSE 344 JULY 9 TH NOSQL

Database Systems CSE 414

20762B: DEVELOPING SQL DATABASES

SELECT TOP (?) * FROM [50 Things All SQL Server Developers Need To Know] Aaron Bertrand, Senior Consultant

Schema-Agnostic Indexing with Azure Document DB

SQL Operations Studio - a new multi-platform tool for SQL Server database development, administration, and monitoring

MCSE Mobility Earned: MCSE Cloud Platform & Infrastructure Earned: 2017 MCSE MCSE. MCSD App Builder. MCSE Business Applications Earned 2017

CSC Web Technologies, Spring Web Data Exchange Formats

R Language for the SQL Server DBA

Microsoft. [MS20762]: Developing SQL Databases

Developing SQL Databases

Swimming in the Data Lake. Presented by Warner Chaves Moderated by Sander Stad

SCALABLE DATABASES. Sergio Bossa. From Relational Databases To Polyglot Persistence.

A Crash-Course in Biml. Tim Mitchell, Principal Data Architect, Tyleris Data Solutions Moderated By: Cathrine Wilhelmsen

IBM Informix xC2 Enhancements IBM Corporation

IBMi in the IT infrastructure of tomorrow

Using JSON with SQL Server Presented by Steve Hughes Moderated by Sarah Huang

Kyle Rainville Littleton Coin Company

Postgres Plus and JBoss

SQL Server Development 20762: Developing SQL Databases in Microsoft SQL Server Upcoming Dates. Course Description.

Azure SQL Database. Indika Dalugama. Data platform solution architect Microsoft datalake.lk

Monitoring Page Splits in SQL Server

<Insert Picture Here>

מרכז התמחות DBA. NoSQL and MongoDB תאריך: 3 דצמבר 2015 מציג: רז הורוביץ, ארכיטקט מרכז ההתמחות

Low Friction Data Warehousing WITH PERSPECTIVE ILM DATA GOVERNOR

Flat triples approach to RDF graphs in JSON

#mstrworld. Analyzing Multiple Data Sources with Multisource Data Federation and In-Memory Data Blending. Presented by: Trishla Maru.

Fast Track Model Based Design and Development with Oracle9i Designer. An Oracle White Paper August 2002

JSON - Overview JSon Terminology

Foglight. Resolving the Database Performance. Finding clues in your DB2 LUW workloads

Tour of Database Platforms as a Service. June 2016 Warner Chaves Christo Kutrovsky Solutions Architect

Things I Learned The Hard Way About Azure Data Platform Services So You Don t Have To -Meagan Longoria

Session id: The Self-Managing Database: Guided Application and SQL Tuning

"Charting the Course... MOC C: Developing SQL Databases. Course Summary

CSE 344 APRIL 16 TH SEMI-STRUCTURED DATA

Microsoft Developing SQL Databases

RethinkDB. Niharika Vithala, Deepan Sekar, Aidan Pace, and Chang Xu

Evaluation Guide for ASP.NET Web CMS and Experience Platforms

TPC-E testing of Microsoft SQL Server 2016 on Dell EMC PowerEdge R830 Server and Dell EMC SC9000 Storage

STREAMLINED CERTIFICATION PATHS

IBM dashdb Local. Using a software-defined environment in a private cloud to enable hybrid data warehousing. Evolving the data warehouse

<Insert Picture Here> Forms Strategies: Modernizing Your Oracle Forms Investment

This tutorial will help you understand JSON and its use within various programming languages such as PHP, PERL, Python, Ruby, Java, etc.

Asanka Padmakumara. ETL 2.0: Data Engineering with Azure Databricks

SQL Azure. Abhay Parekh Microsoft Corporation

Advanced Scripting Using SSIS Script Tasks and Components

COGNOS DYNAMIC CUBES: SET TO RETIRE TRANSFORMER? Update: Pros & Cons

Windows Azure Mobile Services

Azure Cosmos DB. Planet Earth Scale, for now. Mike Sr. Consultant, Microsoft

Announcements. Two Classes of Database Applications. Class Overview. NoSQL Motivation. RDBMS Review: Serverless

MySQL for Developers. Duration: 5 Days

Class Overview. Two Classes of Database Applications. NoSQL Motivation. RDBMS Review: Client-Server. RDBMS Review: Serverless

Oracle Database 11g: SQL Tuning Workshop

Infonova R6 Certification Program. For selling and delivering successful Infonova R6 solutions

Whitepaper. Solving Complex Hierarchical Data Integration Issues. What is Complex Data? Types of Data

When, Where & Why to Use NoSQL?

MySQL for Developers. Duration: 5 Days

Boost your Analytics with ML for SQL Nerds

Database Administration for Azure SQL DB

A NoSQL Introduction for Relational Database Developers. Andrew Karcher Las Vegas SQL Saturday September 12th, 2015

MCSE Cloud Platform & Infrastructure CLOUD PLATFORM & INFRASTRUCTURE.

Updating Your Skills to SQL Server 2016

Administration Naive DBMS CMPT 454 Topics. John Edgar 2

Understanding Impact of J2EE Applications On Relational Databases. Dennis Leung, VP Development Oracle9iAS TopLink Oracle Corporation

Microsoft certified solutions associate

Copyright 2018, Oracle and/or its affiliates. All rights reserved.

The Ambiguous Case of Off-Row Storage in In- Memory OLTP. Dmitri Korotkevitch, aboutsqlserver.com Moderated By: Sander Stad

Manohar Punna. Azure Database Migration Choosing the Right Tier

Performance Issue : More than 30 sec to load. Design OK, No complex calculation. 7 tables joined, 500+ millions rows

Super SQL Bootcamp. Price $ (inc GST)

Ooops, data breach? Not with Always Encrypted. Daniel de Sousa, BI Specialist, Dominos Pizza Enterprise Moderated By: Shane O'Neill

NosDB vs DocumentDB. Comparison. For.NET and Java Applications. This document compares NosDB and DocumentDB. Read this comparison to:

ETL Transformations Performance Optimization

Efficient Object-Relational Mapping for JAVA and J2EE Applications or the impact of J2EE on RDB. Marc Stampfli Oracle Software (Switzerland) Ltd.

Cisco UCS Director API Integration and Customization Guide, Release 5.4

Chapter 2 The relational Model of data. Relational model introduction

Columnstore Technology Improvements in SQL Server Presented by Niko Neugebauer Moderated by Nagaraj Venkatesan

Database infrastructure for electronic structure calculations

Oracle Database 12c: Use XML DB

CSE 344 Final Review. August 16 th

Performance Tuning In Sql Server 2008 R2 Interview Questions And Answers >>>CLICK HERE<<<

[301] JSON. Tyler Caraza-Harter

CISC 7610 Lecture 4 Approaches to multimedia databases. Topics: Graph databases Neo4j syntax and examples Document databases

Assigns a number to 110,000 letters/glyphs U+0041 is an A U+0062 is an a. U+00A9 is a copyright symbol U+0F03 is an

So You Want To Be A Rockstar Report Developer?

JAVASCRIPT CHARTING. Scaling for the Enterprise with Metric Insights Copyright Metric insights, Inc.

Improving the ROI of Your Data Warehouse

Transcription:

Introduction to Azure DocumentDB Jeff Renz, BI Architect RevGen Partners

Thank You Presenting Sponsors Gain insights through familiar tools while balancing monitoring and managing user created content across structured and unstructured sources. Unifying computer, storage, networking, and virtualization, Cisco UCS is the optimal database and business intelligence platform for SQL Server. Supporting Sponsors Solutions from Dell help you monitor, manage, protect and improve your SQL Server environment. www.microsoft.com www.cisco.com www.software.dell.com 2 2

Planning on attending PASS Summit 2015? Start saving today! The world s largest gathering of SQL Server & BI professionals Take your SQL Server skills to the next level by learning from the world s SQL Server experts, in over 190 technical sessions Over 5000 attendees, representing 2000 companies, from 52 countries, ready to network & learn Contact your Local or Virtual Chapter for an additional $150 discount. $1795 until July 12 th, 2015

Jeff Renz BI Architect at RevGen Partners 15 years SQL Server and BI 10 years Data Warehouse Design and Implementation jrenz@revgen.com jeff.renz @jeff_renz jeff-renz 4

Agenda Getting Going With Azure DocumentDB Creating and Working with JSON Azure DocumentDB Overview JSON Validation 5 5

Microsoft Azure DocumentDB 6 6

Azure DocumentDB DocumentDB delivers consistently fast reads and writes, schema flexibility and the ability to easily scale a database up and down on demand Microsoft Azure DocumentDB is a NoSQL document database service designed for modern mobile and web applications 7 7

Getting To Azure https://portal.azure.com/ 8 8

Create a New DocumentDB In Azure 9 9

Quick Start 10 10

Demo Provision a DocumentDB

Azure DocumentDB Azure DocumentDB natively supports JSON documents enabling easy iteration of application schema It embraces the ubiquity of JSON and JavaScript, eliminating mismatch between the application type system and database schema Deep integration of JavaScript also allows developers to execute application logic efficiently directly within the database engine within a database transaction 12 12

What is JSON? JSON (JavaScript Object Notation) is a lightweight data-interchange format It is easy for humans to read and write It is easy for machines to parse and generate It is based on a subset of the JavaScript Programming Language JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages These properties make JSON an ideal data-interchange language 13 13

JSON - Object An object is an unordered set of name/value pairs. An object begins with { (left brace) and ends with } (right brace). Each name is followed by : (colon) and the name/value pairs are separated by, (comma). 14 14

JSON - Array An array is an ordered collection of values. An array begins with [ (left bracket) and ends with ] (right bracket). Values are separated by, (comma). 15 15

JSON - Value A value can be a string in double quotes, or a number, or true or false or null, or an object or an array. These structures can be nested. 16 16

JSON - Number A number is very much like a C or Java number, except that the octal and hexadecimal formats are not used. 17 17

What About XML? For awhile, XML (extensible markup language) was the only choice for open data interchange. But over the years there has been a lot of transformation in the world of open data sharing. The more lightweight JSON has become a popular alternative to XML for various reasons XML <root EmployeeName="Arnie Admin"> <Role> <item> <RoleID>1</RoleID> <RoleName>"Developer"</RoleName> </item> <item> <RoleID>2</RoleID> <RoleName>"DBA"</RoleName> </item> </Role> </root> JSON { "EmployeeName": "Arnie Admin", "Role": [ { "RoleID":1, "RoleName": "Developer" }, { "RoleID":2, "RoleName": "DBA" }] } 18 18

Why JSON is Better Than XML Less verbose- XML uses more words than necessary JSON is faster- Parsing XML software is slow and cumbersome. Applications can use large amounts of memory due to the verbosity and cost of parsing large XML files Benchmark two million row of business data Text Gzip Zip Duration XML 91.78M 18.74M 3.38s JSON 49.78M 17.09M 2.78s XML Overhead 84.38% 9.62% 21.3% http://www.codeproject.com/articles/604720/json-vs-xml-some-hard-numbers-about-verbosity 19 19

JSON Use Case Project Details Create commission Engine and modeling tool Scenario Modeling includes changing payout ranges and rates based upon performance metrics Modeling includes setting goals/targets for commissions paid sales agents, supervisors and managers Complex rate card had over 1296 payouts Benefits JSON avoids serialization development (mapping data from SQL to C# objects) Scenario creation passes a high amount of parameters from UI to database Goal to have a reusable design for other implementations 20 20

Metric B Complex Rate Card Example Metric A 21 21

Consuming JSON Strings in SQL https://www.simple-talk.com/sql/t-sqlprogramming/consuming-json-strings-in-sql-server/ 22 22

Validating JSON Strings JSON Viewer for NotePad++ 23 23

Demo Creating and Working with JSON

Azure DocumentDB Modern Applications Produce, consume and respond quickly to very large volumes of data Evolve very rapidly and so does the underlying data schema. Developers have increasingly chosen schema-free NoSQL document databases as simple, fast, elastic solutions to store and process data Advantages Many schema-free databases do not allow non-trivial queries and transactional processing, making advanced data management hard. Microsoft developed Azure DocumentDB to provide these capabilities when managing schema-free data 25 25

Azure DocumentDB You can use Azure DocumentDB to store flexible datasets that require query retrieval and transactional processing 26 26

Azure DocumentDB Indexing Technology DocumentDB utilizes a highly concurrent, lock free, log structured indexing technology to automatically index all document content. This enables rich real-time queries without the need to specify schema hints, secondary indexes or views Fully Managed Eliminate the need to manage database and machine resources. As a fullymanaged Microsoft Azure service, you do not need to manage virtual machines, deploy and configure software, or deal with complex data-tier upgrades. Every database is automatically backed up and protected against regional failures 27 27

Azure DocumentDB Provision Provision Capacity 28 28

Azure DocumentDB Consistency Options Maintains at least three copies of all data, storing each copy on a different physical server Replicating each collection also helps reliability by ensuring that data is still available even if one or two servers become inaccessible Types Strong Bounded Staleness Session (Default) Eventual 29 29

Azure DocumentDB Consistency Strong A DocumentDB client always sees completely consistent data. The tradeoff is that reads and writes are slower than with the other three options. An application that must always see the most current data, such as banking software that moves money between documents, might choose this option Bounded A client might see old data, but it s guaranteed to see changes in the order in which they were made. In other words, clients will never see out-of-order data. A client can also specify a limit for how old that data can be, e.g., one second. In a multi-player game, for instance, which requires great performance and strict ordering of events, Bounded Staleness might be the right choice. 30 30

Azure DocumentDB Consistency Session (Default) A client will always read its own writes correctly, but other clients reading this same data might see older values or out-oforder updates. An application that works on behalf of a specific user, such as a blogging application, might choose this option. Eventual This option has the highest performance, but a client might sometimes read out-ofdate information or see updates out of order 31 31

Azure DocumentDB Resources 32 32

Azure DocumentDB Structure 33 33

Azure DocumentDB Structure 34 34

Azure DocumentDB Stored Procedures 35 35

Demo Azure DocumentDB

JSON Schema Validation JSON Schema Validation http://jsonschema.net/#/ Allow Additional Properties Force Required Restrict Values to Enum C# Validate JSON Against Schema http://www.netonsoft.com/json JSON.net Schema Create Unit Tests JSON from DB Create Unit Tests JSON to DB 37 37

Send JSON From DB to C# 38 38

Demo Schema Binding