Learning Azure DocumentDB - Riccardo Becker - E-Book

Learning Azure DocumentDB E-Book

Riccardo Becker

0,0
27,59 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

Learning DocumentDB adopts a practical, step-by-step approach to help you learn the basics of DocumentDB and use your new-found abilities in real-life scenarios and enterprise solutions.
We start with the absolute basics, such as setting up a DocumentDB environment, and guide you through managing your databases, and executing simple and complex queries. Next, we explain how to work with DocumentDB using the open REST protocol, and demonstrate how JavaScript works with DocumentDB. We’ll also show you how to authenticate and execute queries. Moving on, you’ll find out how to use DocumentDB from within Node.js to kick-start your Node.js projects. Next, you’ll discover how to increase the performance of your DocumentDB database and fine-tune it.
Finally, you’ll get to grips with using DocumentDB in conjunction with other services offered from the Microsoft Azure platform.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB
MOBI

Seitenzahl: 138

Veröffentlichungsjahr: 2015

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Table of Contents

Learning Azure DocumentDB
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why subscribe?
Free access for Packt account holders
Instant updates on new Packt books
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Downloading the color images of this book
Errata
Piracy
Questions
1. Getting Started with DocumentDB
What is DocumentDB?
The characteristics of a schema
Having JavaScript at the core
Indexing a document
DocumentDB as a service
Understanding performance
Handling transactions
Common use cases
Building the Internet of Things
Storing user profile information
Logging information
Building mobile solutions
Exploring the data model
DocumentDB account
Creating databases
Administering users
Setting permissions
Managing collections
DocumentDB versus other databases
Azure Table storage
MongoDB
Comparison chart
Understanding the price model
Account charges
Number of collections
Request Units
Understanding storage
Expanding resources
Building your first application
Provisioning an account
Creating a database
Creating a collection
Building a console application
Setting up a solution
Saving a document
Summary
2. Setting up and Managing Your Database
Managing your keys
Recycling keys
Managing read-only keys
Using resource tokens
Creating resource tokens
Creating a collection
Creating a user and its permission
Creating a document with permissions
Creating a document without permissions
Listing permissions
Setting consistency levels
Managing alerts
Monitoring your account
Creating alerts
Summary
3. Basic Querying
Creating resources
Creating a collection
Creating a document
Using DocumentDB SQL
Using LINQ to object
Using LINQ
Updating the PersonInformation
Reading resources
Reading documents
Using the WHERE clause
Using a simple JOIN
Updating documents
Updating documents
Deleting documents
Summary
4. Advanced Querying
Using the SELECT statement
Selecting some documents
Using the FROM clause
Aliasing
Joining documents
Selecting from subdocuments
Using the WHERE clause
Binary operators
The BETWEEN keyword
Logical operators
Using the IN keyword
Conditional expressions
Using built-in functions
Building stored procedures
Building triggers
Building user-defined functions
Using LINQ to DocumentDB
Summary
5. Using REST to Access Your Database
Understanding the basics of REST
Using the GET verb
Using the POST verb
Using the PUT verb
Using the DELETE verb
Querying DocumentDB resources
Setting request headers
Generating the authorization header
Getting all databases
Adding a document
Summary
6. Using Node.js to Access Your Database
Introducing Node.js
What is Node.js?
Why use Node.js?
Preparing Visual Studio 2015
Building our first Node.js application
Creating our first app
Creating a web app
Utilizing DocumentDB from Node.js
Preparing our project
Connecting to DocumentDB
Creating a module
Creating and finding a document
Summary
7. Advanced Techniques
Introducing indexes
Explaining default indexing
Customizing indexing policies
Configuring index update mode
Consistent indexing mode
Lazy indexing mode
None indexing mode
Setting index precisions
Manipulating paths in indexes
Setting different index types
Configuring index paths
Setting the index precision
Partitioning data
Using hash partitioning
Using range partitioning
Managing performance
Using transactions
Setting consistency levels
Using strong consistency
Using bounded staleness consistency
Using session consistency
Using eventual staleness consistency
Summary
8. Putting Your Database at the Heart of Azure Solutions
Introducing an Internet of Things scenario
IoT Inc.
Technical requirements
Designing the model
Building a custom partition resolver
Building the Web API
Registering a device
Increasing search capabilities
Setting up Azure Search
Enhancing security
Creating and configuring Key Vault
Using Key Vault from ASP.NET
Encrypting sensitive data
Migrating data
Summary
Index

Learning Azure DocumentDB

Learning Azure DocumentDB

Copyright © 2015 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

First published: November 2015

Production reference: 1161115

Published by Packt Publishing Ltd.

Livery Place

35 Livery Street

Birmingham B3 2PB, UK.

ISBN 978-1-78355-246-7

www.packtpub.com

Credits

Author

Riccardo Becker

Reviewers

Rémon ter Haar

Juan Carlos Sánchez

Commissioning Editor

Neil Alexander

Acquisition Editor

Kirk D'costa

Content Development Editor

Samantha Gonsalves

Technical Editor

Madhunikita Sunil Chindarkar

Copy Editor

Roshni Banerjee

Project Coordinator

Sanchita Mandal

Proofreader

Safis Editing

Indexer

Priya Sane

Production Coordinator

Nitesh Thakur

Cover Work

Nitesh Thakur

About the Author

Riccardo Becker works full time as a principal IT architect for CGI in the Netherlands. He holds several certifications and his background in computing goes way back to 1998, when he started working with good old Visual Basic 5.0 (or was it 6.0?). Ever since, he has fulfilled several roles, such as a developer, lead developer, architect, project leader, practice manager. Recently, he decided to accept the role of a principal IT architect where he focuses on innovation, cutting-edge technology, and specifically on Microsoft Azure, the Internet of Things, and cloud computing in general.

In 2007, he joined the Microsoft LEAP program where he got a peek at the move Microsoft was about to make on their road to the cloud. Pat Helland gave him that insight, and since the first release of Microsoft Azure on PDC 2008, he started to focus on it, keeping track of the progress and the maturity of the platform. In the past few years, he has also done a lot of work on incubation with his employer, raising awareness of cloud computing in general and Microsoft Azure in particular.

I would like to thank all my colleagues who have helped me on various subjects inside the world of Azure. Special thanks go to Rémon ter Haar and Juan Carlos Sánchez who were patient enough to review my chapters. Thanks Rémon and Juan!

I would also like to thank the folks from Packt Publishing who helped me stay on track and on schedule despite some bummers and some changes that I made to the original outline.

Special thanks to my employer CGI for giving me all the opportunities and interesting projects that have helped me in realizing this book. Thanks to my daily job and the ability to focus on the subjects, I have come to the point of having enough knowledge to write this book.

This is my second published book, since I have already published Windows Azure Programming Patterns for Start-ups, also with the help of Packt Publishing.

About the Reviewers

Rémon ter Haar is highly experienced in designing and implementing Microsoft technology-based solutions. He has worked as a technical solution architect and lead developer in various projects. For the last 8 years, he has been specializing as a system integrator using Microsoft BizTalk technology and Microsoft Azure. He currently works at Motion10 (www.motion10.nl) as a BizTalk consultant. Motion10 is the leading competence center in the Netherlands when it comes to system integration, SharePoint, Office 365, BI, and Internet of Things.

He has also reviewed Windows Azure Programming Patterns for Start-ups.

Juan Carlos Sánchez is a software engineer and he writes code for fun. He loves to work in teams and is familiar with the SCRUM process and Agile Release Train.

He has experience of the following applications:

Desktop windows applications (WPF)Cross-platform phone applications (Cordova and Ionic)Azure: Cloud services, Active Directory, and web applications (AngularJS)Databases: Entity Framework SQL Server, DocumentDB, and Azure StorageHe contributes to the community with his blog and code at the following links:
http://www.softwarejuancarlos.comhttp://github.com/softwarejc

To my family and girlfriend—I love you.

www.PacktPub.com

Support files, eBooks, discount offers, and more

For support files and downloads related to your book, please visit www.PacktPub.com.

Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at <[email protected]> for more details.

At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.

https://www2.packtpub.com/books/subscription/packtlib

Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can search, access, and read Packt's entire library of books.

Why subscribe?

Fully searchable across every book published by PacktCopy and paste, print, and bookmark contentOn demand and accessible via a web browser

Free access for Packt account holders

If you have an account with Packt at www.PacktPub.com, you can use this to access PacktLib today and view 9 entirely free books. Simply use your login credentials for immediate access.

Instant updates on new Packt books

Get notified! Find out when new books are published by following @PacktEnterprise on Twitter or the Packt Enterprise Facebook page.

Preface

In August 2014, Microsoft announced the preview of their DocumentDB service offering. DocumentDB is a NoSQL database that meets the requirements of today's applications that evolve at a higher pace, including modifications to the data model. DocumentDB covers all this by offering a schema-free document database that offers flexibility, scalability, automated indexing, and a mature range of querying possibilities. Recently, Microsoft announced support for geospatial indexing and querying, opening a whole new range of possibilities.

Setting an example, Microsoft utilizes DocumentDB in its renewed http://www.msn.com, servicing 450 million unique monthly visitors. 25 percent of these visitors have their own personalized data and this data is services from DocumentDB.

DocumentDB greatly enhances the flexibility of your evolving applications and offers a rich querying environment for any kind of data that you store.

This book covers all the concepts and possibilities of DocumentDB by covering the theory with lots of examples in every chapter. This book is linear and every chapter builds on the knowledge of the last. For the more experienced users, chapters can also be read individually and in any order.

By the end of this book, you will be able to use DocumentDB in your own daily work and benefit from best practices.

What this book covers

Chapter 1, Getting Started with DocumentDB, covers the basics of DocumentDB. It explores the data model and compares DocumentDB with other NoSQL technologies. It also outlines the pricing model of DocumentDB. By the end of this chapter, we will learn how to set up a DocumentDB environment and how to prepare Visual Studio 2015 to start building solutions using DocumentDB.

Chapter 2, Setting up and Managing Your Database, provides detailed information on how to set up, maintain, and manage your DocumentDB. It also covers how to monitor your DocumentDB and, based on monitoring results, reconfigure DocumentDB.

Chapter 3, Basic Querying, provides an insight into the basic querying options for DocumentDB. It covers how to create, update, read, and delete documents from your DocumentDB in the most basic form.

Chapter 4, Advanced Querying, provides an insight into all the possibilities in the SQL grammar that is available for DocumentDB.

Chapter 5, Using REST to Access Your Database, discusses how to use DocumentDB using the open REST protocol. It also covers how to use JavaScript to work with DocumentDB and how to authenticate and execute queries.

Chapter 6, Using Node.js to Access Your Database, provides a detailed description of how to use DocumentDB features with Node.js

Chapter 7, Advanced Techniques, covers indexes and how to use them effectively. It also covers how to measure the performance of our database and use partitioning techniques.

Chapter 8, Putting Your Database at the Heart of Azure Solutions, describes patterns that can be applied to your Azure solution, collaborating with DocumentDB. It also covers some patterns and how to integrate DocumentDB inside your current Azure solution by replacing some of the current data repositories, which will be moved to DocumentDB.

What you need for this book

The softwares that are needed to follow the examples outlined in this book are as follows:

Visual Studio 2015 (any version)Azure SDK 2.7DocumentDB .NET SDK Version 1.5An Azure subscriptionA modern browser

Who this book is for

This book is for novice developers and database architects who need a thorough knowledge of the features of DocumentDB to develop applications with it. Basic knowledge of SQL would be helpful.

Reader feedback

Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or disliked. Reader feedback is important for us as it helps us develop titles that you will really get the most out of.

To send us general feedback, simply e-mail <[email protected]>, and mention the book's title in the subject of your message.

If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide at www.packtpub.com/authors.

Customer support

Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.

Downloading the example code

You can download the example code files from your account at http://www.packtpub.com for all the Packt Publishing books you have purchased. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files e-mailed directly to you.

Downloading the color images of this book

We also provide you with a PDF file that has color images of the screenshots/diagrams used in this book. The color images will help you better understand the changes in the output. You can download this file from http://www.packtpub.com/sites/default/files/downloads/2467EN_ColorImages.pdf.

Errata

Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in the text or the code—we would be grateful if you could report this to us. By doing so, you can save other readers from frustration and help us improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded to our website or added to any list of existing errata under the Errata section of that title.

To view the previously submitted errata, go to https://www.packtpub.com/books/content/support and enter the name of the book in the search field. The required information will appear under the Errata section.

Piracy

Piracy of copyrighted material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works in any form on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy.

Please contact us at <[email protected]> with a link to the suspected pirated material.