catzure documentdb

17
Marçal Montserrat Robert Bermejo Document DB - Bye bye schemas, welcome freedom # CATAzureDay

Upload: robert-bermejo-blasco

Post on 16-Apr-2017

123 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Catzure documentdb

Marçal MontserratRobert Bermejo

Document DB - Bye bye schemas, welcome freedom

#CATAzureDay

Page 2: Catzure documentdb

Robert Bermejo

.NET Architect & Mobile & Azure Practice Lead (Sogeti España,SLU)

Organizador meetup CATzure (@cat_zure)

www.robertbermejo.com

@robertbemejo

https://es.linkedin.com/in/robert-bermejo-blasco-75a73b2a

[email protected]

MarçalMontserrat

@Marcal_MC 

Senior Developer & Cloud Specialist (Sogeti España,SLU)

https://es.linkedin.com/in/marçal-montserrat-53469a41

https://itblogsogeti.com/

https://itblogsogeti.com/

http://www.compartimoss.com/

#CATAzureDay

Page 3: Catzure documentdb

Agenda

ANTES DEMO DEMO

#CATAzureDay

Page 4: Catzure documentdb

Las Aplicaciones modernas de hoy• Consumir datos rápidamente• Tiempos de respuesta casi instantáneos•Modelos de datos en constante evolución• Crecimiento rápido e impredecible.

#CATAzureDay

Page 5: Catzure documentdb

Microsoft Azure DocumentDB

{ “topic” : “intro”}

{ }

DocumentDB

Schema Free query

JavaScript as a

modern T-SQL

Tunable Consisten

cy

Fully Managed

#CATAzureDay

Page 6: Catzure documentdb

Reliable & Predictable Performance

DocumentDBNoSQL document database-as-a-service

Rich Query and Transactions over JSON Data

Rapid Development

Elastically scalable toughput and storage

Multi-Region Replication

Automatic indexing

#CATAzureDay

Page 7: Catzure documentdb

DocumentDB Esquema

https://myaccountname.documents.azure.net/dbs/{id}/colls/{id}/docs/{id}

/docs/{id}

/attachments/{id}

/sprocs/{id}

/triggers/{id}

/functions/{id}

/colls/{id}

/dbs/{id}

/users/{id}

/permissions/{id}

#CATAzureDay

Page 8: Catzure documentdb

Collections != tablesParticionamientoTransacciones sobre collectionSchema flexibleQueried or updated se realiza sobre una collection

DocumentDB Collections

#CATAzureDay

Page 9: Catzure documentdb

DocumentDB: A Document StoreCollections

Document 1 Document 2

Document 3 Document 4

DocumentDB

Application

Application

SQL query

{ "name": "John", "country": "Canada", "age": 43, "lastUse": "March 4, 2014"}

{ "name": "Lou", "country": "Australia", "age": 51, "firstUse": "May 8, 2013"}

{ "docCount": 3, "last": "May 1, 2014"}

{ "name": "Eva", "country": "Germany", "age": 25}

JSON

#CATAzureDay

Page 10: Catzure documentdb

Screen shot or image here

DocumentDB JSON Documents{

“locations”:[

{“country”: “Germany”, “city”: “Berlin”},

{“country”: “France”, “city”: “Paris”},

],“headquarter”: “Belgium”,“exports”:[{“city”; “Moscow”},{“city:

”Athens”}]};

JSON document as tree

Locations Headquarter

Belgium

Country City Country City

Germany Berlin France Paris

Exports

CityCity

Moscow Athens

0 10 1

#CATAzureDay

Page 11: Catzure documentdb

SQL In DocumentDB

SQL SELECT location.country FROM location IN company.locations WHERE location.city = 'Berlin'

Results[ {"country": "Germany"}]

Var company1= { “locations” : [{“country”: “Germany”, “city”: “Berlin”},{“country”: “France”, “city”: “Paris”},], “headquarter”: “Belgium”, “exports”: [{ “city”; “Moscow” },{ “city: ”Athens” }]

};

Var company2= { “locations” : [{“country”: “Germany”, “city”: “Bonn”,

revenue”: 200 } ], “headquarter”: “Italy”, “exports”: [ { “city”; “Berlin” },{ “dealers”: [{“name”: “Hans”}] }, {city”: ”Athens” }]};

Locations Headquarter Exports

City CityDealersGermany Bonn 200 Berli

n Name Athens

0 Italy 0 1

Hans

Country City Revenue

Locations Headquarter

Belgium

Country City Country City

Germany Berlin France Paris

Exports

CityCity

Moscow Athens

0 10 1

#CATAzureDay

Page 12: Catzure documentdb

SQL In DocumentDB

http://www.documentdb.com/sql/demo#CATAzureDay

Page 13: Catzure documentdb

DocumentDB Transactions• Javascript• Mediante stored procedures o triggers• La inserción de los documentos está bajo una

transacción• ACID

#CATAzureDay

Page 14: Catzure documentdb

DocumentDB: Consistency LevelsDocument DB soporta la opción multi región

#CATAzureDay

Page 15: Catzure documentdb

DocumentDB Index

Data consistency policy

Strong Bounded Staleness

Session Eventual

Indexing mode

Lazy Eventual Eventual Eventual Eventual

Consistent Strong Bounded Staleness

Session Eventual

#CATAzureDay

Page 16: Catzure documentdb

CONCLUSION

#CATAzureDay

Page 17: Catzure documentdb

DEMO

#CATAzureDay