Successfully reported this slideshow.
Your SlideShare is downloading. ×

Azure No-Sql approach: DocumentDB

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
Azure for Game Developers
Azure for Game Developers
Loading in …3
×

Check these out next

1 of 14 Ad
Advertisement

More Related Content

Slideshows for you (20)

Similar to Azure No-Sql approach: DocumentDB (20)

Advertisement

More from Davide Benvegnù (20)

Recently uploaded (20)

Advertisement

Azure No-Sql approach: DocumentDB

  1. 1. Azure NoSQL approach: DocumentDB ABC… Azure Best Contents Davide Benvegnù davide.benvegnu@gmail.com blog.dbtek.it www.davidebenvegnu.com @davidebenvegnu #AzureABC
  2. 2. Chi sono • International Development Manager – Aruba.it • Freelancer – DBTek.it • Membro di DotNetToscana • Speaker a eventi nazionali (Community Days, Festival ICT…) • Trainer (a breve 2 corsi su Microsoft Virtual Academy) • Main fields: Azure e VSALM (Team Foundation Server e VSO) Davide Benvegnù #AzureABC
  3. 3. • Panoramica su DocumentDB • Funzionalità • Struttura ed organizzazione • Stored Procedure, Trigger e Funzioni • Sviluppare in .Net su DocumentDB • Demo Agenda #AzureABC
  4. 4. • È un database NoSQL • Un altro database NoSQL? Non bastavano quelli esistenti? • NO! Non esiste un servizio come questo • Fully managed (SaaS) • Schema free… con data model JSON • Indicizzato • Supporta l’esecuzione di JavaScript server-side (attraverso Stored Procedure, Trigger e funzioni) DocumentDB #AzureABC
  5. 5. Ma soprattutto: SELECT * FROM MyCollection Killer feature #AzureABC
  6. 6. • Si può creare e gestire solo dall’Azure Portal (preview) • Interrogabile via SDK che con REST API • SDK disponibile per .Net, Node.js, JavaScript e Python • Multiutente • È possibile creare utenti con SDK o REST API • Ogni user può avere permission diverse • Livello di consistenza personalizzabile • 4 tipi • Implementa l’Elastic Scale Features #AzureABC
  7. 7. Il servizio espone delle API RESTful con autenticazione HMAC • Anche l’SDK usa queste API • API Base Url https://{account_name}.documents.azure.com • Document Path: /dbs/{database_link}/colls/{collection_link}/docs/{document_link} • Esempio: https://dbtekddb.documents.azure.com/dbs/QDo9AA==/colls/QDo9AM- JWAE=/docs/ ju1TAP hIFAAJAAAAAAAAAA== REST API #AzureABC
  8. 8. Struttura #AzureABC
  9. 9. • Ogni risorsa ha un ID => nome • Ogni risorsa ha un Link univoco => ID • Per gli attachment sono disponibili al max 2 Gb per account Struttura #AzureABC
  10. 10. Organizzazione 1 Capacity Unit comprende: • 10 Gb di spazio su SSD • 2.000 richieste per secondo • Max 3 collections ??? 1 collection «occupa» 3.33 Gb Preview: max 5 CU #AzureABC
  11. 11. • Definiti a Collection level • Scritti in JavaScript, eseguiti server-side • Stored procedure • Possono operare su tutti i Document della Collection • Trigger • Eseguiti “Pre” oppure “Post” • Operazioni di Create, Replace e Delete • Funzioni (UDF) • Funzioni scalari • Invocabili solo dentro le query Stored Procedure,Trigger e Funzioni #AzureABC
  12. 12. • Nuget: • Install-Package Microsoft.Azure.Documents.Client -Pre • Versione corrente: 0.9.0-preview • Usa «Newtonsoft.Json» • Supporta LINQ!!!! • Per la connessione servono: • Endpoint url • Master Key (o Secondary Key) • Praticamente tutte le operazioni sono Async • Si basa tutto sul “SelfLink” Sviluppare in .Net su DocumentDB #AzureABC
  13. 13. demo WebDocDB DocumentDB Web Manager #AzureABC
  14. 14. • Documentazione ufficiale di DocumentDB: http://documentdb.com • WebDocDB https://webdocdb.codeplex.com • Blog: http://blog.dbtek.it/search/label/Azure • Channel9: http://channel9.msdn.com/Shows/Data-Exposed/Introduction-to-Azure- DocumentDB Riferimenti #AzureABC

×