DocumentDB is the Microsofts NoSQL database as a service
implementation on Azure for modern web and mobile applications. Some of the
benefits of DocumentDB is that it can deliver consistently fast reads and
writes, allow schema flexibility as in the case of all NoSQL databases and thus
with the ability to easily scale a database up and down on demand.
It’s well integrated with JavaScript and supports complex
queries in a SQL language and also has a strong server side programming model
of UDFs, functions and stored procedures. If you have a valid Azure
subscription, you can create a document db account and start working
immediately. All resources within DocumentDB are modeled and stored as JSON
documents. Resources are managed as items, which are JSON documents containing
metadata, and as feeds which are collections of items. Sets of items are
contained within their respective feeds.
You can create a DocumentDB account by logging into Azure
and choosing Azure Document DB under the Data + Storage options.
Enter a valid AccountId, choose a resource group and create.
Once the DocumentDB account is created successfully, you can
see the notifications changed with the details and the account details in the
home page.
Click on the account details on the home page and then
navigate to the Keys section to see, the details of the uri and keys for the
account. Also note the databases section which is empty right now.
We’ll see how we can use the .NET APIs to use code first approach
on creating a database and add entries to the collection. For that, we’ll use
an ASP.NET MVC application.
The DocumentDB .NET SDK is packaged and distributed as a
NuGet package, which can be installed using the Install-Package cmdlet.
The uri and key management for our demo application is
handled in the configuration file as app settings.
Once we have these settings configured, we can use these
details to create an instance of the DocumentClient object which we’ll use to
create the database and collections.
var endpoint = ConfigurationManager.AppSettings["endpoint"];
var authKey = ConfigurationManager.AppSettings["authKey"];
var endpointUri = new Uri(endpoint);
_client = new DocumentClient(endpointUri, authKey);
A database instance can be created like
_database = _client.CreateDatabaseAsync(new Database { Id = DatabaseId }).Result;
If you have the database created, then using the database
instance the collection can be created as
_client.CreateDocumentCollectionAsync(_database.SelfLink,
new DocumentCollection { Id = CollectionId }).Result;
No comments:
Post a Comment