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