Azure的NoSQL技术
jopen 10年前
长期以来,传统关系型数据库占据了数据存储的大片江山。但是随着互联网 web2.0 网站的兴起,传统的关系数据库在应付 web2.0 网站,特别是超大规模和高并发的 SNS 类型的 web2.0 纯动态网站已经显得力不从心,暴露了很多难以克服的问题。NoSQL,泛指非关系型的数据库,由于其本身的特点得到了非常迅速的发展。
作为云计算领域大型厂商的 Azure 云,对 NoSQL 技术有一系列很好的支持。Azure 云将数据大概分为两种:运行时数据和分析数据。所谓运行时数据就是云计算应用在运行过程中产生的数据,比如购物车添加的某个商品,比如人力资源系统中员工 信息以及股票交易系统里的股票买入卖出价格。所谓分析数据,则是通过对运行时数据进行分析后的数据,比如对用户购买数据进行分析后得到的市场预测或者用户 购买行为建模数据。这些数据随着应用的运行不断积累,通常来讲要比运行时数据大得多。虽然这种分类不是那么清晰,但是业界通常用这种方式来选择是否使用 NoSQL 技术。如下图所示:
图中的绿色部分,就是 Azure 云提供的数据库相关工具,而黑色部分则是可以运行在 Azure 云上的其他数据库相关工具。在 NoSQL 方面,Azure 可以提供如下服务:
文档存储
使用 Azure 的 DocumentDB,类似 MongoDB。它包括了一系列由 JSON 格式构成的文档。注意这里面的 Document 跟以往微软 Word 软件给出的 Document 不是一个意思。下图给出了 DocumentDB 的一个例子:
来自: InfoQ