您的位置:首页 > 数据库

NoSQL技术

2015-12-30 11:24 239 查看
1Azure云将数据大概分为两种:运行时数据(云计算应用在运行过程中产生的数据)和分析数据(通过对运行时数据进行分析后的数据)

2文档存储

Azure的DocumentDB 包括了一些列由JSON格式构成的文档



(1)没有特定的Schema,并将全部的数据以字符串的形式存储

(2)在访问数据的时候,通常通过NoSQL给定的RESTful接口进行增删改查,可一次提交一个或多个类似SQL的查询语句

(3)DocumentDB可以处理海量数据,其数据存储可以分布在多台机器,为了防止访问出错,进行了多份备份

(4)4种数据访问格式:

a.增强型:最慢 正确性

b.过期数据标注型:告诉开发者数据是否过期,让开发者决定是否对数据进行更新

c.会话型:同一个应用内部可以保证数据的正确性,不保证跨应用的数据正确性

d.快速性:提供最快的数据访问速度,返回过期数据的概念也是最大的

(5)DocumentDB是Azure的内置服务,用户无需安装就可以创建新的数据库和数据集合

(6)”运行能力单元“保证多租户的情况下单一用户的性能需要

(7)一次transaction中修改多个文档,可通过服务器脚本(js)开发类似SQL Produre来完成

3Key/Value存储

(1)使用Azure的Tables 满足快速访问大量数据的需求

(2)在Azure Tables中,数据存储在分区中,每个分区存储一些实体,而实体则有属性,每个属性都有名字和类型比如整数或者字符和日期

(3)每个实体都有一个属性是分区的Key,整个这个分区的所有实体的该属性都是一样的值

(4)每个实体还有另外一个属性行值,用来区分同一个分区内的各个实体

(5)开发者要访问某一个实体,就可以通过分区Key和行Key来定位它

(6)跟DocumentDB不同的是,Tables对数据的一致性也有很好的处理,开发者总会得到最后修改过的数据

(7)Tables还提供跨数据中心的存储,让开发者将数据存储在Azure不同地区的数据中心里,通过异步来更新数据的改动

4列对象存储

(1)使用Azure的HBase:大部分字段没有值-->列有限的数据库来进行存储

(2)列组使用一个特定的命名来区分彼此,组内则维持原有的列名字、

(3)使得HBase能够将稀疏数据做进一步处理和优化存储

(4)并没有以文档或者实体的形式来看待数据,而是只有当心的数据需要存储的时候,才会为某一行增加新的列

(5)每个字段存储的都是bytestring

(6)每个字段都可以保留相当长的历史数据以及不同版本的数据

(7)跨机器存储,HBase将不同的行组合起来形成Region区域

(8)开发者在创建数据库时手动给定的

(9)访问 列组--列名称--行key

5


6大数据分析

(1)HDInsight 分析运行时数据的模式、趋势以及相关信息能够让开发者获得更近异步对应用的认识,获取第一首的评估资料

(2)提供商业智能相关的数据库支持如数据仓库

(3)HDFS:用来存储集群中大型二进制文件的文件系统

MapReduce:用来处理HDFS中数据的并行计算方法

Hive:提供类似SQL语言的HiveQL来查询数据

Pig:利用Pig脚本来创建分布式计算实例

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: