DBAs vs Developers: JSON in SQL Server 2016

Slides:



Advertisements
Similar presentations
By: Jose Chinchilla July 31, Jose Chinchilla MCITP: SQL Server 2008, Database Administrator MCTS: SQL Server 2005/2008, Business Intelligence DBA.
Advertisements

Eric J. Oszakiewski MCTS: SharePoint Application Development SharePoint Configuration.
new database engine component fully integrated into SQL Server 2014 optimized for OLTP workloads accessing memory resident data achive improvements.
Attie Naude 14 May 2013 Windows Azure Mobile Services.
PHP Hypertext Preprocessor Information Systems 337 Prof. Harry Plantinga.
Always Start With The Database Browser
Inventory Management System With Berkeley DB 1. What is Berkeley DB? Berkeley DB is an Open Source embedded database library that provides scalable, high-
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Overview of Database Languages and Architectures.
Capacity Planning in SharePoint Capacity Planning Process of evaluating a technology … Deciding … Hardware … Variety of Ways Different Services.
NovaBACKUP 10 xSP Technical Training By: Nathan Fouarge
CAEL 5012 Rich Internet Applications. What you need For this part of the course you will need access to a server with PHP and MYSQL which will be supplied.
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
DBA Developer. Responsibilities  Designing Relational databases  Developing interface layer Environment Microsoft SQL Server,.NET SQL Layer: Stored.
MAHI Research Database Data Validation System Software Prototype Demonstration September 18, 2001
Functions of a Database Management System
In addition to Word, Excel, PowerPoint, and Access, Microsoft Office® 2013 includes additional applications, including Outlook, OneNote, and Office Web.
Star Trek Comparisons The future of Technology: the Mactini Microsoft Future 2019 INFORMATION TECHNOLOGY.
Module 11: Programming Across Multiple Servers. Overview Introducing Distributed Queries Setting Up a Linked Server Environment Working with Linked Servers.
Mobile Photo James Anderson, Dustin Duran, Trevor Hamilton, Ahror Rahmedov, Vivek Rajkumar, Matthew Renzelmann.
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
GOAL User Interactive Web Interface Update Pages by Club Officers Two Level of Authentication.
Mr. Justin “JET” Turner CSCI 3000 – Fall 2015 CRN Section A – TR 9:30-10:45 CRN – Section B – TR 5:30-6:45.
STAGES Language Application Overview. The Language Application is available on a separate URL (typically /stagesLanguage) and tied to only one database.
Administrator Data Entry Training for Maintenance (Mx) LOSA and Ramp LOSA Database Software 11/26/2016.
IWDS – Local Customization and Swipe Card /22/2004.
 Tracks seats availability in a specific class (CRN)- only for HOKIES.  Has the ability to track a list of classes.  The tracking list grows dynamically.
Central Management Server Managing Your SQL Server Environment 1.
CAESked Computer Aided Engineering Scheduler. Introduction Team Members: Chris Fruin & Jerry Grochowski What CAESked is: Web based class scheduling application.
ISC321 Database Systems I Chapter 2: Overview of Database Languages and Architectures Fall 2015 Dr. Abdullah Almutairi.
9 Copyright © 2004, Oracle. All rights reserved. Getting Started with Oracle Migration Workbench.
A CASE STUDY PRESENTATION ON “THE DATABASE BEHIND MYSPACE”
Advanced Higher Computing Science
Introduction to Mongo DB(NO SQL data Base)
Intermountain West Data Warehouse - Western Air Quality Study
Building AD-SQL-APP Server on AZURE
SQL Server Security & Intrusion Prevention
Data Virtualization Demoette… Packaged Query Single Select Option
# 66.
DBAs vs Developers: JSON in SQL Server
Athanasios Topaloudis 3rd Forum 15/02/2017
Data Persistence In A Web Hosted World
OVirt Data Warehouse 02/11/11 Yaniv Dary BI Software Engineer, Red Hat.
INFORMATION RETRIEVAL AND KNOWLEDGE MANAGEMENT SYSTEM
Contained DB? Did it do something wrong?
Twitter & NoSQL Integration with MVC4 Web API
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Handling Data Using Databases
Populating a Data Warehouse
SQL 2014 In-Memory OLTP What, Why, and How
DATABASE SYSTEM UNIT I.
Built in Fairfield County: Front End Developers Meetup
Thank you Sponsors.
Populating a Data Warehouse
DBAs vs Developers: JSON in SQL Server
Cloud Data Replication with SQL Data Sync
In Memory OLTP Not Just for OLTP.
Let's make a complex dataset simple using Azure Cosmos DB
Integrating REST API and SQL Server JSON Functions
Welcome to SQLSaturday #767! Hosted by Lincoln SQL Server User Group
In Memory OLTP Not Just for OLTP.
SQL Server Query Design and Optimization Recommendations
REST Easy - Instant APIs for Your Database
Restaurant IOS application
SSIS Data Integration Data Warehouse Acceleration
SSIS Data Integration Data Warehouse Acceleration
Denis Reznik SQL Server 2017 Hidden Gems.
Azure Data Factory V2: SSIS in the Cloud or Not?
SSIS Data Integration Data Warehouse Acceleration
Just Enough SSIS Scripting to be Dangerous.
The Ins and Outs of Indexes
Presentation transcript:

DBAs vs Developers: JSON in SQL Server 2016 | Bert Wagner | July 22, 2017

Background BI developer @ Progressive Insurance for 6+ years I ❤ JSON – I use it in APIs, hardware projects, websites I also ❤ SQL – relational database structures

Overview What is JSON? Why use JSON? When is it appropriate to store JSON in SQL? Usage examples: ETL and reporting Database object maintenance Performance parsing Performance comparisons

What does JSON look like? { “Make” : “Volkswagen”, “Year” : 2003, “Model” : { “Base” : “Golf”, “Trim” : “GL” }, “Colors” : [“White” , “Rust”], , “Pearl” “PurchaseDate” : “2006-10-05T00:00:00.000Z” } What is JSON, where it used, why is it used

Why use JSON? Easy Processing Javascript: var car = { "Make" : "Volkswagen" }; console.log(car.Make); // Output: Volkswagen car.Year = 2003; console.log(car); // Output: { "Make" : "Volkswagen", "Year" : 2003" }

Why use JSON? APIs

Why use JSON? Storage Size XML: 225 Characters JSON: 145 Characters <Car> <Make>Volkswagen</Make> <Year>2003</Year> <Model> <Base>Golf</Base> <Trim>GL</Trim> </Model> <Colors> <Color>White</Color> <Color>Pearl</Color> <Color>Rust</Color> </Colors> <PurchaseDate> 2006-10-05 00:00:00.000 </PurcaseDate> </Car> { “Make” : “Volkswagen”, “Year” : 2003, “Model” : { “Base” : “Golf”, “Trim” : “GL” }, “Colors” : [“White”, “Pearl”, Rust”], “PurchaseDate” : “2006-10-05T00:00:00.000Z” }

Appropriate Usage Staging Data Load data raw Validate Transform

Appropriate Usage Error Logging ErrorDate Component Data 2016-03-17 21:23:39 GetInventory { "Make : "Volkswagen", "Year" : 2003} 2016-03-19 12:59:31 Login { "User" : "Bert", "Referrer" : "http://google.com", "AdditionalDetails" : "Invalid number of login attempts" }

Appropriate Usage Non-Analytical Data Sessions User preferences Non-frequently changing variables Admin emails Static dropdown menus

High-Performance Requirements Inappropriate Usage High-Performance Requirements

Validation/Integrity Requirements Inappropriate Usage Validation/Integrity Requirements

Inappropriate Usage Being Lazy

Demos ETL and reporting Database object maintenance Performance parsing w/ computed column indexes SQL JSON vs XML vs .NET performance comparisons

Performance Results - XML JSON faster in almost all categories If considering entire app performance, maybe faster in all categories

Performance Results - .NET Competitive with C# libraries Indexes on computed columns are BLAZING!

Recap Many good (and bad) uses for JSON in SQL exist JSON can be fully manipulated in SQL Server 2016 JSON is preferable to XML for new projects JSON performance is comparable to .NET, faster with computed column indexes

Thank you! Twitter: @bertwagner Blog: https://blog.bertwagner.com <- new post every Tuesday YouTube: http://bit.ly/bertsyoutube <- new video every Tuesday Email: bertwagner@bertwagner.com

Appendix Software for keeping screen region on top On Top Replica Blog posts and YouTube videos: SQL Server JSON Usage - Parsing SQL Server JSON Usage - Creating SQL Server JSON Usage - Updating, Adding, Deleting Performance Comparisons - .NET Performance Comparisons - XML Performance Comparisons - .NET and XML Redux JSON Computed Column Indexes Microsoft Connect Add an option to JSON_MODIFY() to fully delete values from arrays