Travis Sansome NoSQL PaaS in Azure through DocumentDB DAT332.

Slides:



Advertisements
Similar presentations
Running Hadoop-as-a-Service in the Cloud
Advertisements

Sessions about to start – Get your rig on!. Chris J.T. Auld Intergen.
Azure’s new NoSQL PaaS Offering A Lap Around Azure DocumentDB Louis Berman National Architect
Cross Platform Mobile Backend with Mobile Services James
WINDOWS AZURE STORAGE SERVICES A brief comparison and overview of storage services offered by Microsoft.
Jan Peterson Microsoft Dynamics CRM Mobility Update - Productivity on the Go PRD24 1.
Jordan Knight Developing for the Microsoft Band MOB342.
Matthew Winter and Ned Shawa
Andrew Hennessy Automating Server Application migrations to the Cloud – Goodbye Server INF21 3.
Kevin Francis Developing on Windows Devices ARC33 2.
Chris Hewitt Adding magic to your business with Perceptual Intelligence ARC323 B.
Matt McSpirit Software-defined Networking in Windows Server 2016 INF32 4.
Martin Cairney Hybrid data platform – making the most of Azure plus your on- prem kit DAT341 B.
Kevin Francis Azure Media Services Architecture Deep Dive CLD31 2.
Creating highly available and resilient Microservices on Microsoft Azure Service Fabric
Andrew Coates Advanced Windows 10 development with the Office 365 APIs DEV33 5.
Michael Porfirio and Chris Gondek Beyond Backup The Next Generation Commvault Data Platform DAT22 5.
Jeff Alexander & Andrew McMurray Runtime Provisioning in Windows 10 WIN327.
Michael Niehaus Using the Windows Store for Business: New Capabilities for Managing Apps in the Enterprise WIN335.
Jessica Payne Microsoft Global Incident Response and Recovery
Dr Greg Low Working with SQL Server Spatial Data DAT33 3.
Matt Lavery & Joanna Podgoetsky Being a DBA is cool again with SQL 2016 DAT335 A.
James Bannan Freddy vs JSON: Azure Resource Manager CLD44 3.
Warwick Rudd – Henry Rooney – How Available is SQL Server 2016? DAT33 6.
Pat Fetty – Principal PM Manager Securing your mobile assets with Microsoft Intune WIN33 1.
Mick Badran Using Microsoft Service Fabric to build your next Solution with zero downtime – Lvl 300 CLD32 5.
Nick Application Development for the Universal Windows Platform MOB225.
Please note that the session topic has changed
Matt McSpirit Understanding the Azure Stack INF33 2.
Alec Tucker An Introduction to Cross Platform Native App Development using Xamarin to Develop, Test and Monitor MOB227.
Orin Thomas 30 Bad Habits of Server Administrators INF32 3.
Building a Microservices solution using Docker,
Technology Drill Down: Windows Azure Platform Eric Nelson | ISV Application Architect | Microsoft UK |
Basil Apostolou & Craig Pringle The why and how of hybrid cloud CLD22 3.
Kevin Francis Big Building Blocks – a tour of Dynamics ARC323 A.
Joe Clancy Deployment Lifecycles and New Policy Features with the Azure Resource Manager ARC22 1.
Dr Greg Low Azure Datacamp Power Hour CLD21 3.
James Bannan The Cloud That Chuck Norris Built: Resilient Architecture in Azure ARC44 3.
JSON C# Libraries Parsing JSON Files “Deserialize” OR Generating JSON Files “Serialize” JavaScriptSerializer.NET Class JSON.NET.
Rick Claus Architect like a PRO for Performance and Availability of your Microsoft Azure VMs ARC43 6.
Going Hybrid – part 2 Moving to Hybrid Cloud with Windows Azure Virtual Machines & System Center 2012 R2.
DreamFactory for Microsoft Azure Is an Open Source REST API Platform That Enables Mobilization of Data in Minutes across Frameworks and Storage Methods.
Polyglot persistence with Azure data storage services. SQL Database, Azure Table Storage and Document DB June 18, 2016.
A deep dive into Azure AD B2C
3 Ways to Integrate Business Systems to Partners
CSE-291 (Distributed Systems) Winter 2017 Gregory Kesden
Making of the Ignite Bot
Data Platform and Analytics Foundational Training
Building Business Application with Office 365 and Other Line Business Systems
Need for Speed: Why Applications With No Database and No Services are Fast ARC334 Nick Randolph – Built to Roam.
Twitter & NoSQL Integration with MVC4 Web API
CSE-291 (Cloud Computing) Fall 2016 Gregory Kesden
Darren Neimke and Jonathan Ruckert
What’s new in Visual Studio in 2015?
Modern cloud PaaS for mobile apps, web sites, API's and business logic apps
Deep Dive into Azure API Apps and Logic Apps
Azure Cosmos DB with SQL API .Net SDK
Azure DocumentDB Ryan CrawCour Senior Program Manager.
Server-Side Programming
Global Distribution.
Introduction To DocumentDB
Securing ASP.NET in an Azure Environment
Polyglot Persistence: Document Databases
Microsoft Virtual Academy
Server & Tools Business
Cosmic DBA Cosmos DB for SQL Server Admins and Developers
Azure Cosmos DB – FY20 Top Use Cases
Presentation transcript:

Travis Sansome NoSQL PaaS in Azure through DocumentDB DAT332

Today’s modern apps Data – unpredictable, rapid growth and consumption Expectations – instance response times Developed iteratively – many versions supported and with evolving data models

DocumentDB overview A NoSQL document database-as-a-service, fully managed by Microsoft Azure. For cloud-designed apps when query over schema-free data; reliable and predictable performance; and rapid development are key. First of its kind database service to offer native support for JavaScript, SQL query and transactions over JSON documents. Perfect for cloud architects and developers who need an enterprise-ready NoSQL document database.

DocumentDB overview Reliable & Predictable Performance Fast, predictable performance Tunable consistency Elastic scale Query JSON data with no secondary indices Native JavaScript transactional processing Familiar SQL-based query language Build with familiar tools – REST, JSON, JavaScript Easy to start and fully-managed Enterprise-grade Azure platform Rich Query and Transactions over JSON Data Rapid Development

Some cool places its being used in

Consistency levels and performance The choice of consistency level has performance implications for both read and write operations: Write operations Consistency level changes impact request latency Stronger consistency levels result in higher write latencies Read operations Consistency level changes impact throughput Weaker consistency levels result in higher read throughput Tip: You can lower the consistency level of a specific read or query request by specifying [x-ms- consistency-level] request header or by using RequestOptions in the SDKs.

4 consistency levels: Strong: Guarantees that a write is only visible after it is committed durably by the majority quorum of replicas and reads are always acknowledged by the majority read quorum Session: Provides predictable read consistency for a session while offering the low latency writes; reads are also low latency as a read will be served by a single replica Bounded Staleness: Bounded Staleness consistency guarantees the total order of propagation of writes but reads may lag writes by N seconds or operations (configurable) Eventual: Eventual consistency is the weakest form of consistency wherein a client may get the values which are older than the ones it had seen before, over time

Indexing The “write” index for consistent queries Highly concurrent, lock free, log structured indexing technology developed with Microsoft Research Optimized for SSD Resource governed for tenant isolation Automatic indexing of JSON documents without requiring schema or secondary indices, but configurable via: Modes Policies Paths Types

Indexing – modes and policies Indexing modes Consistent Default mode Index updated synchronously on writes Lazy Useful for bulk ingestion scenarios Indexing policies Automatic Default Manual Can choose to index documents via RequestOptions IndexingDirective = IndexingDirective.Include Can read non-indexed documents via selflink Set indexing mode var collection = new DocumentCollection { Id = “lazyCollection” }; collection.IndexingPolicy.IndexingMode = IndexingMode.Lazy; collection = await client.CreateDocumentCollectionAsync(databaseLink, collection); Set indexing policy var collection = new DocumentCollection { Id = “manualCollection” }; collection.IndexingPolicy.Automatic = false; collection = await client.CreateDocumentCollectionAsync(databaseLink, collection);

Indexing – modes and policies Range Supported for numbers Optimized for comparison queries Index precision String precision Default is 3 Numeric precision Default is 3 Increase for larger number fields (epoch timestamps) var collection = new DocumentCollection { Id = “Orders” }; collection.IndexingPolicy.IncludedPaths.Add(new IndexingPath { IndexType = IndexType.Hash, Path = "/", }); collection.IndexingPolicy.IncludedPaths.Add(new IndexingPath { IndexType = IndexType.Range, Path NumericPrecision = 7 }); collection.IndexingPolicy.ExcludedPaths.Add("/\"metaData\"/*"); collection = await client.CreateDocumentCollectionAsync(databaseLink, collection);

Indexing – modes and policies Index paths Included Excluded Index types Hash Supported for strings and numbers Optimized for equality matches var collection = new DocumentCollection { Id = “Orders” }; collection.IndexingPolicy.IncludedPaths.Add(new IndexingPath { IndexType = IndexType.Hash, Path = "/", }); collection.IndexingPolicy.IncludedPaths.Add(new IndexingPath { IndexType = IndexType.Range, Path NumericPrecision = 7 }); collection.IndexingPolicy.ExcludedPaths.Add("/\"metaData\"/*"); collection = await client.CreateDocumentCollectionAsync(databaseLink, collection);

Query Consistency levels Data consistency policy StrongBounded Staleness SessionEventual Indexing mode LazyEventual ConsistentStrongBounded Staleness SessionEventual

Querying and index tips Consider query needs and index policies (index policies are immutable, for now) Understand query costs and limits, and avoid scans Pre-aggregate where possible

Document DB Service summary Unique among NoSQL stores It was developed for the cloud and to be delivered as a service. It’s truly query-able and is a native JSON store. It has transactional processing through language integrated JavaScript. It has predictable performance and tunable consistency. Consider DocumentDB for these development scenarios Customers building new web and mobile cloud based applications. Rapid development and high scalability requirements. Query and processing of user and device-generated data. Customers using K-V stores needing more query and processing support. Customers running a document store in virtual machines looking for a managed service.

Build your first DocumentDB app today Get Started … Sign up for DocumentDB at Access and configure your account through Download an SDK and build a sample at Give Feedback … Ask questions through the forum Suggest an idea and vote up other ideas for DocumentDB On

Continue your Ignite learning path Visit Microsoft Virtual Academy for free online training visit Visit Channel 9 to access a wide range of Microsoft training and event recordings Head to the TechNet Eval Centre to download trials of the latest Microsoft products