- 1、本文档共86页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
NoSQL非关系的型数据库技术和应用
部署方案与性能分析 2 3)存储操作 (1)首先把键值-日期“rq”建立成唯一索引,保证在一个集合中不会出现重复日期的文档。使用Shell命令db.test.ensureIndex({“rq”:1},{“unique”:true,“dropDups”:true}); 建立该唯一索引以后,当插入或存入文档键值“rq”有重复时,将会返回错误,若需跟新数据,只有删除存在的文档再插入,或者通过 update 命令更新已存在的文档。这与RDBMS中的使用主键类似; 部署方案与性能分析 2 (2)使用db.test.save(文档)命令或者db.test.insert(文档)命令,将编码后的天气现象数据存储到MongoDB系统dbname数据库中的test集合中; (3)使用update命令更新已经存入的文档。例如需要修改日期为的文档的天气现象数据,使用命令db.test.update ({“rq”:},{$set:{“ww”:[天气现象文档数组]}}); 部署方案与性能分析 2 (4)使用remove命令删除已经存入的文档。例如需要删除日期为的文档,使用命令db.test.remove({“rq”:})。 部署方案与性能分析 2 2. 基于Hbase的地震大数据存储研究 1) 存储原理 Hbase表是一个分布式多维表,表中的数据通过一个行关键字(Row Key)、一个列族和一个列名(Colunmfamily:column name)以及一个时间戳进行索引和查询定位。其关键在于设计好Row Key,以方便数据查询和数据分析。 部署方案与性能分析 2 地震信息的业务逻辑是通过台网(Netid)、台站(Stationid)、测点(Pointid)、仪器(Intrid)、测项(Itenid)、采样率(Samplerate)、产品类别(Protype)和时间戳(Timestamp)进行查询的。 部署方案与性能分析 2 假设地震业务数据库中有一个Obs观测数据表,按照传统的RDBMS,Obs表中的列是不能随意改变的,比如Schema定义了Netid、Stationid、Pointid、Intrid、Itenid、Samplerate、Protype、Timestamp等属性,Obs表的属性是不能动态增加的。而对于Hbase列存储数据库,在创建Obs表时,再为它定义一个info列族,Obs的数据便可以表示为info:value=23.4。如果要增加新的字段属性,只需要通过添加一个info:newProperty就可以了。 部署方案与性能分析 2 因此,如果采用传统关系数据库存储将非常复杂,且会造成一些为空值的存储浪费。而Hbase就不会出现该问题,列存储的每一个列单元如果是空值,则不占用存储空间。 3)时间戳 Bigtable中的表项可以包含同一数据的不同版本,采用时间戳进行索引。时间戳是64位整型,既可以由系统赋值也可由用户指定。为了简化多版本数据的管理,每个列族都有两个设置参数用于版本的自动回收,用户可以指定保存最近 N 个版本,或保留足够新的版本(如最近7天的内容)。 基础理论与架构分类 1 列存储数据库 列数据库是对应并区别于行数据库的概念。 行数据库就是我们所熟知的传统关系型数据库,即数据按记录存储,每一条记录的所有属性都存储在一起,如果要查询一条记录的一个属性值,需要先读取整条记录的数据。 而列数据库是按数据库记录的列来组织和存储数据的,数据库中每个表由一组页链的集合组成,每条页链对应表中的一个存储列,而该页链中每一页存储的是该列的一个或多个值。 基础理论与架构分类 1 HBase Hbase是运行在由多个节点构成的服务集群基础之上,为TB级甚至PB级别的数据存储提供支持,并为用户提供基于Row Key的高效查询机制,它是由一个一个Row Key作为唯一标识,并包含任意多例的一张表来根据存储的数据量以大小被分割成一个或多个称为 region 的子表. 基础理论与架构分类 1 基础理论与架构分类 1 一个HBase集群通常由一个master和多个region组成,且每个region Server管理一个或多个由master分配的region,而master则负责维护每个region的元信息,以及region和region Server之间的映射关系。 基础理论与架构分类 1 region中的数据最终将被存放在Hadoop的多副本分布式文件系统HDFS中,且每个值出现一个region,使得同一时间t内每个region只被分配给一台region服务器,就让所有行内的mutation操作都是原子操作,所有的put操作要么完全成功、要么完全失败,以及通过任何API返回
文档评论(0)