DocumentDB 简介

一种 NoSQL JSON 数据库

Azure DocumentDB 提供完全托管的 NoSQL 数据库服务,高度可用,自动缩放,开发简易,可以加速并预测性能。它适合诸如 Web、Mobile、Gaming 和 IoT 等需无缝缩放的应用程序。

本篇探讨问题如下:

  • 什么是 DocumentDB?

  • DocumentDB 如何管理数据?

  • 如何使用 DocumentDB 进行开发?

  • 后续步骤有哪些?

什么是 Azure DocumentDB?

DocumentDB 是真正无架构的 NoSQL 数据库服务。作为一种 JSON 数据库,DocumentDB 支持应用程序架构可简单迭代的 JSON 文档;支持需要键/值、文档或表格数据模型的应用程序。DocumentDB 采用广泛普及的 JSON 和 JavaScript 语言,避免了应用程序定义对象和数据库架构之间的不匹配。

Azure DocumentDB 功能及优势如下:

•        可灵活增减的吞吐量和存储

•        通过熟悉的 SQL 语法进行即席查询

•        在数据库中执行 JavaScript

•        可调优的一致性级别

•        完全托管

•        源于设计的开放性

DocumentDB 适合在 Internet 上大规模运行的应用程序。

Azure DocumentDB 如何管理数据

Azure DocumentDB 通过定义完好的数据库资源进行数据管理。经过复制的资源具有高可用性,允许其逻辑 URI 进行单独唯一访址。DocumentDB 为所有资源提供基于 HTTP 的 RESTful 编程模型。

DocumentDB 数据库帐户是访问 Azure Document DB 的唯一途径。创建帐户前须先订阅 Azure ,才能访问其服务。

DocumentDB 中的资源全部以 JSON 文档的形式建模和存储。这些资源既可以作为项(一种包含元数据的 JSON 文档)进行管理,也可以作为源(项的集合)进行管理。项集包含在它们各自的源中。

使用 Azure DocumentDB 进行开发

Azure DocumentDB 可以通过 REST API 公开资源,发出 HTTP/HTTPS 请求的任何语言都可调用此API。另外,DocumentDB 还为多种主流语言提供编程库。该库目前可用于以下语言和平台:

下载

文档

.NET SDK

.NET 库

Node.js SDK

Node.js 库

Java SDK

Java 库

JavaScript SDK

JavaScript 库

不适用

服务器端 JavaScript SDK

Python SDK

Python 库

除基本操作外,DocumentDB 提供的 SQL 查询接口还可以用来检索 JSON 文档,支持JavaScript 应用程序执行事务。查询和脚本执行接口适用于所有平台库以及 REST API。

SQL 查询

Azure DocumentDB 使用 SQL 语言和支持关系、层级和空间查询的表达式,来支持查询文档。对于 .NET 开发人员,DocumentDB 还提供 LINQ 查询提供程序(作为.NET SDK的一部分)。

 后续步骤

已有 Azure 帐户的用户,请在 Azure 门户预览中使用 DocumentDB。

没有 Azure 帐户的用户,请注册 Azure 1元试用,可使用价值 1,500 元人民币的 Azure 服务。

Azure DocumentDB 正式发布的更多相关文章

  1. Azure DocumentDB对比MongoDB

    (此文章同时发表在本人微信公众号"dotNET每日精华文章") 今天推荐的文章对Azure DocumentDB和MongoDB的进行了比较,也给出了一些使用建议. 我想很多朋友都 ...

  2. Cloud Foundry 在 Azure 中国正式发布

    Cloud Foundry 今天在 Azure 中国上正式发布了!这对于 Azure 平台,以及开源社区都是一个令人振奋的里程碑. Cloud Foundry 简化了云计算应用程序的构建,测试,发布和 ...

  3. Azure 8月众多新版本公布

    Azure 8月新发布:IoT 中心S3 版,Azure 热/冷存储层,DocumentDB,SQL Server Stretch Database, MySQL 5.7, Cloud Foundry ...

  4. 运行预构建 Linux 映像的 Windows Azure 虚拟机中的交换空间 – 第 1 部分

    本文章由 Azure CAT 团队的 Piyush Ranjan (MSFT) 撰写. 随着基础结构服务(虚拟机和虚拟网络)近期在 Windows Azure 上正式发布,越来越多的企业工作负荷正在向 ...

  5. Azure架构(一):云计算基础

    云计算的定义 云计算(英语:cloud computing),是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给使用各种计算终端(桌面电脑.笔记本电脑.平板电脑.手机等) ...

  6. 【SqlServer系列】JSON数据

    1   概述 本文将结合MSDN简要概述JSON数据. 2   具体内容 JSON 是一种流行的数据格式,用于在现代 Web 和移动应用程序中交换数据. JSON 还可用于在 Microsoft Az ...

  7. Spring Data(一)概念和仓库的定义

    Spring Data(一)概念和仓库的定义 Spring Data的主要任务是为数据访问提供一个相似的.一致的.基于Spring的编程模型,同时又保留着下面各个数据存储的特征.它使得使用数据访问技术 ...

  8. VS Code 常用命令记录

    1. 创建解决方案 例:dotnet new sln -o HelloWorld.Solutions 其中 -o 表示输出文件夹 2.创建类库.web.mvc.webapi等项目 例:dotnet n ...

  9. Awesome Big Data List

    https://github.com/onurakpolat/awesome-bigdata A curated list of awesome big data frameworks, resour ...

随机推荐

  1. ubuntu下nodejs环境搭建

    #0.0.0.0 account.jetbrains.com”添加到hosts文件中 apt-get升级 sudo apt-get upgrade apt-get更新 sudo apt-get upd ...

  2. C语言中结构体定义

    struct test { int a; }; /* 定义一个结构体,名字是test,这样就可以使用struct test 来定义变量.比如 struct test a; */ typedef str ...

  3. PCB中的SOLD MASK和阻抗开窗

    应用场合:1 PCB中的贴片的焊盘是不过油的,需要暴露出来用于焊接:对于电机驱动需要大电流的走线需要将走线保留暴露出来不过油,然后在上面走一层锡,增大锡箔,铜箔厚度,增大过流和防过热能力. 方法:先在 ...

  4. jacvascript 保留小数点

    //四舍五入保留2位小数(若第二位小数为0,则保留一位小数) function keepTwoDecimal(num) {  var result = parseFloat(num);  if (is ...

  5. 3dsmax2020卸载/安装失败/如何彻底卸载清除干净3dsmax2020注册表和文件的方法

    3dsmax2020提示安装未完成,某些产品无法安装该怎样解决呢?一些朋友在win7或者win10系统下安装3dsmax2020失败提示3dsmax2020安装未完成,某些产品无法安装,也有时候想重新 ...

  6. JAVA学习4:用Maven创建Struts2项目

    采用struts版本:struts-2.3.8 一.创建一个web项目 参考前面文章,项目名:maven-struts-demo. 二.配置pom.xml文件添加struts2依赖   <pro ...

  7. android 小工具:pc 上用 curl 命令打开手机浏览器,浏览指定网址

    测试 API 时或其它情况经常需要在手机浏览器中输入 url 一长串的 url 输起来真是麻烦 AirDroid 很强大也不用数据线,但有时老断开连接,不是很爽.发到手机 qq 吧还得手动粘贴 所以自 ...

  8. git笔记四

    git log --graph --oneline 中的--oneline相当于 --pretty=oneline但是可以显示更短小的id git reset --hard HEAD^ git res ...

  9. emacs 配置 clojure

    安装JDK,Version >= 6.0 java -version 2 安装EMACS,Version>=24 在脚本~/.emacs.d/init.el中增加如下内容 (require ...

  10. js中的闭包理解一

    闭包是一个比较抽象的概念,尤其是对js新手来说.书上的解释实在是比较晦涩,对我来说也是一样. 但是他也是js能力提升中无法绕过的一环,几乎每次面试必问的问题,因为在回答的时候.你的答案的深度,对术语的 ...