xml> vs. {JSON}

Werbung
<xml> vs. {JSON}
SQL Server vs. Azure DocumentDB
ein battle zwischen
<xml> und {JSON}
SQL saturday #409
Organizer
13.06.2015
SQLSaturday Rheinland 2015
Bronze Sponsor
13.06.2015
SQLSaturday Rheinland 2015
Silver Sponsor
13.06.2015
SQLSaturday Rheinland 2015
Gold Sponsor
13.06.2015
SQLSaturday Rheinland 2015
You rock!
13.06.2015
SQLSaturday Rheinland 2015
About me
Alexander Karl
SQL + BI Consultant ... and „2012er“ SQL MCSE
13.06.2015
SQLSaturday Rheinland 2015
About me
Sascha Dittmann
Sr. So2ware Developer Sr. Solu8ons Architect Twitter: @SaschaDittmann
Blog:
http://www.sascha-dittmann.de
13.06.2015
SQLSaturday Rheinland 2015
Agenda
§ 
§ 
§ 
§ 
§ 
§ 
§ 
§ 
Setup
Tooling
Consistency
CRUD
Indexing
Schema validation <xml> only
Server side code
Complex queries and transformation <xml> only
13.06.2015
SQLSaturday Rheinland 2015
Setup
§  SQL Server Setup
erfolgt mittels Wizard oder via cmd-Line
§  native xml Unterstützung
„out of the Box“
13.06.2015
SQLSaturday Rheinland 2015
Setup
13.06.2015
SQLSaturday Rheinland 2015
Tooling
§  SQL Server Management Studio
>> für queries
>> für „xml-results“
13.06.2015
SQLSaturday Rheinland 2015
Tooling
13.06.2015
SQLSaturday Rheinland 2015
Tooling
13.06.2015
SQLSaturday Rheinland 2015
Tooling
13.06.2015
SQLSaturday Rheinland 2015
Consistency (ACID)
A tomicity
C onsistency
I solation
D urabilty
13.06.2015
SQLSaturday Rheinland 2015
Consistency (BASE)
B asically
A vailable
S oft state
E ventual consistency
13.06.2015
SQLSaturday Rheinland 2015
Select & Ins/Upd/Del
§  T-SQL conformer Ins/Upd/Del
§  T-SQL XQuery
§ 
§ 
§ 
§ 
<column>.query
<column>.value
<column>.exist
<column>.nodes
13.06.2015
( return xml )
( return sql-Type )
( return bit )
SQLSaturday Rheinland 2015
Select & Ins/Upd/Del
§  T-SQL Xquery Navigation im <xml>
§ 
§ 
§ 
§ 
§ 
§ 
child
descendant
parent
Attribut
self
descendant-or-self
§  .node()
§  .text()
13.06.2015
SQLSaturday Rheinland 2015
CRUD Samples
13.06.2015
SQLSaturday Rheinland 2015
Select & Ins/Upd/Del
§  LINQ, SQL
§  REST API over HTTPS
§ 
§ 
§ 
§ 
.NET
Node.js
JavaScript
Python
§  …
13.06.2015
SQLSaturday Rheinland 2015
CRUD Samples
13.06.2015
SQLSaturday Rheinland 2015
Indexing
§  PRIMARY XML INDEX IX_primaryXml
§  CREATE XML INDEX IX_name
ON sch.table ( xmlCol )
USING XML INDEX IX_primaryXml
-  FOR PATH;
-  FOR VALUE;
-  FOR PROPERTY;
13.06.2015
SQLSaturday Rheinland 2015
Indexing
13.06.2015
SQLSaturday Rheinland 2015
Indexing
13.06.2015
SQLSaturday Rheinland 2015
Indexing Policies
13.06.2015
SQLSaturday Rheinland 2015
Schema Validation
§  XML SCHEMA COLLECTION schemaName
§  (table) xmlColumn
xml ( DOCUMENT schemaName )
13.06.2015
SQLSaturday Rheinland 2015
Schema Validation
13.06.2015
SQLSaturday Rheinland 2015
Schema Validation
13.06.2015
SQLSaturday Rheinland 2015
Schema Validation
§  Triggers
§  Client-Side Code
13.06.2015
SQLSaturday Rheinland 2015
server side code
13.06.2015
SQLSaturday Rheinland 2015
compl. queries & transformation
§  XML
„FLWOR“
for let where order return
§  Aggregat functions
ü 
ü 
ü 
13.06.2015
{count($j)}
{sum($j)}
{avg($j)}
SQLSaturday Rheinland 2015
compl. queries & transformation
13.06.2015
SQLSaturday Rheinland 2015
compl. queries
13.06.2015
SQLSaturday Rheinland 2015
Questions
???
13.06.2015
SQLSaturday Rheinland 2015
Demo
DEMO
13.06.2015
SQLSaturday Rheinland 2015
Save the date!
13.06.2015
SQLSaturday Rheinland 2015
Herunterladen