Date post: | 16-Apr-2017 |
Category: |
Technology |
Upload: | robert-bermejo-blasco |
View: | 128 times |
Download: | 0 times |
Marçal MontserratRobert Bermejo
Document DB - Bye bye schemas, welcome freedom
#CATAzureDay
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
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
Agenda
ANTES DEMO DEMO
#CATAzureDay
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
Microsoft Azure DocumentDB
{ “topic” : “intro”}
{ }
DocumentDB
Schema Free query
JavaScript as a
modern T-SQL
Tunable Consisten
cy
Fully Managed
#CATAzureDay
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
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
Collections != tablesParticionamientoTransacciones sobre collectionSchema flexibleQueried or updated se realiza sobre una collection
DocumentDB Collections
#CATAzureDay
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
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
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
DocumentDB Transactions• Javascript• Mediante stored procedures o triggers• La inserción de los documentos está bajo una
transacción• ACID
#CATAzureDay
DocumentDB: Consistency LevelsDocument DB soporta la opción multi región
#CATAzureDay
DocumentDB Index
Data consistency policy
Strong Bounded Staleness
Session Eventual
Indexing mode
Lazy Eventual Eventual Eventual Eventual
Consistent Strong Bounded Staleness
Session Eventual
#CATAzureDay
CONCLUSION
#CATAzureDay
DEMO
#CATAzureDay