当前位置: 首页 > news >正文

电商网站的建设的主要目的合肥网页设计方法

电商网站的建设的主要目的,合肥网页设计方法,湖州民生建设有限公司网站,手机网站建设北京本文结合了个人的笔记以及工作中实践经验以及参考HBase官网,我尽可能把自己的知识点呈现出来,如果有误,还请指正。 1. HBase背景 HBase作为面向列的数据库运行在HDFS之上,HDFS缺乏随机读写操作,HBase正是为此而出现。…

        本文结合了个人的笔记以及工作中实践经验以及参考HBase官网,我尽可能把自己的知识点呈现出来,如果有误,还请指正。

1. HBase背景

        HBase作为面向列的数据库运行在HDFS之上,HDFS缺乏随机读写操作,HBase正是为此而出现。HBase参考 Google 的 Bigtable 实现,以键值对的形式存储。项目的目标就是快速在主机内数十亿行数据中定位所需的数据并访问它。

分析这句话包含的隐藏信息:

2. hbase特点

  • 建立在HDFS之上的分布式面向列的数据库

  • KV结构数据库,原生不支持标准SQL,属于NOSQL数据库

  • 支持快速随机读写海量数据

  • 具备HDFS的高容错能力

  • 不属于关系型数据库,适合存储非机构化数据,基于列存储

3. hbase和hive的区别

  1. hive适合统计分析,hive底层执行的是MapReduce,延迟较高

  2. 列式存储适合关联查询场景,而行式存储适合点查询场景

  3. hbase适合大数据量查询,不适合统计分析,hbase底层采用KV结构存储,可以快速返回数据(能知道你的数据存在哪个region上)

  4. hbase采用列式存储,可以动态扩展列(想加多少列就能加多少)

具体对上面解释的笔记

4. hbase数据单元

4.1 基础知识

hbase是一个稀疏的、多维度、有序的映射表,表中的每个单元是通过行键、列族、列限定符和时间戳组成的索引来标识的,每个单元存储的值是一个未经解释的二进制数组byte[],没有数据类型,当用户在表中存储数据时,每一行都有一个唯一的行键和任意多的列,表的每一行由一个或者多个列族组成,一个列族可以包含任意多个列。

  • 行键rowkey(主键)

每条数据的主键,rowkey是有序的,采用字典顺序排序,方便快速查找,rowkey的设计至关重要,建表时不指定。

  • 列族column family(将相同类别的字段,放到同一个列族中)

多个列的组合,建表时指定。

  • 列限定符column(字段)

归属于一个列族,代表着一列,建表时不指定,可动态扩展列,表达方式为column family:column,例:cf:name,标识在cf列族下的name列。

  • 时间戳version

默认为系统时间戳timestamp,代表着一份数据不同时间节点的版本。

  • 值value

由rowkey、column family、column、version索引检索得到的唯一值,key<rowkey、column family、column、version> ,value<唯一的值>,KV结构就由此而来。

4.2 hbase架构细节解释

索引

表中的每个单元是通过行键、列族、列限定符和时间戳组成的索引来标识的

img

img

                            【这张图片引用参考:https://zhuanlan.zhihu.com/p/151871736】

单元存储

每个单元存储的值是一个未经解释的二进制数组byte[],没有数据类型

 

hive行式存储与hbase列式存储

如下示例进行两种数据存储方式的对比: 当用户在表中存储数据时,每一行都有一个唯一的行键和任意多的列,表的每一行由一个或者多个列族组成,一个列族可以包含任意多个列。

列族


列族column family(将相同类别的字段,放到同一个列族中)

4.3两种数据存储方式的对比:

hive行式存储

rowkeynameageaddress
1001user120beijing
1002user221shanghai
  • hbase列式存储

rowkeycfcolumnversion(时间戳)value
1001cfcf:namet1user1
1001cfcf:aget220
1001cfcf:addresst3beijing
1002cfcf:namet4user2
1002cfcf:aget521
1002cfcf:addresst6shanghai

hbase 版本

        hbase没有修改语法,当要修改一条数据只需要直接写入即可。

        version默认是由系统时间戳表示,当用户重复写入一条数据时,hbase会记录两条数据,因为rowkey、column family、column相同,此时则使用version字段进行区分,并且会保留上一个版本的数据,同一条数据不同版本使用version倒序排序!如下:

原数据

rowkeycfcolumnversionvalue
1001cfcf:namet1user1
1001cfcf:aget220
1001cfcf:addresst3beijing
1002cfcf:namet4user2
1002cfcf:aget521
1002cfcf:addresst6shanghai

此时用户要修改如下数据name的value值

rowkeycfcolumnvalue
1001cfcf:namenewusername

执行添加数据命令put 'namespace:tablename','1001','cf:name','newusername'后hbase表数据

rowkeycfcolumnversionvalue
1001cfcf:namet7newusername
1001cfcf:namet1user1
1001cfcf:aget220
1001cfcf:addresst3beijing
1001cfcf:namet4user2
1001cfcf:aget521
1001cfcf:addresst6shanghai

        当一条数据存在多个版本的时候,查询如果不指定版本,则默认查询最新一条数据,hbase的version也不是可以无限存的,默认版本数为3,可以设置最多存储多少个版本,当超过设定的版本数之后则删除最早版本的数据。

laoli_matrix70演示:插入数据

参考资料:

Apache HBase® Reference Guide    HBASE官网

http://www.yayakq.cn/news/529765/

相关文章:

  • 岳阳建设网站查找北京建设投标项目网站
  • 做企业网站设计方案icoc.cc是哪个网站域名
  • 青岛企业建站系统模板一般通过逸民
  • 深圳营销型网站方案百度h5转换器
  • 网站开发建设协议网络营销策划要素
  • 如何做博客网站电子商务网站建设需要哪些工作
  • 淘宝网官方网站电脑版微信端网站开发模板
  • 上海公司网站建设方案精准获客
  • 月子会所网站建设方案怎么把网站做成自适应
  • 网站设计想法吉林最新消息今天新增
  • 网站根目录权限设置网站建设评比考核报告
  • 喀什做网站邯郸市第一医院
  • 东莞专业全网推广建站公司浏览器网站免费进入
  • 房地产网站开发公司高质量外链网站
  • 连云港品牌网站建设广州网站建设费用多少
  • 吴江和城乡建设局网站网站分页设计
  • 荆州市做网站的深圳保障性住房规划
  • 域名和网站建设怎么快速开发一个网站
  • 公司支付的网站建设如何入账wordpress标签路径
  • 上弘科技网站建设做网站跟赚钱嘛
  • 怎么做加盟网站深夜免费软件app下载
  • 软件网站开发平台重庆专业网站搭建公司
  • 做医学期刊杂志网站数码类网站名称
  • 夏津网站建设电话电脑培训学校排名
  • 工业品一站式采购平台让家里的电脑做网站服务器
  • 网站建设与应用广州网站制作知名 乐云践新
  • 新手怎么优化网站新公司网站设计
  • 靖州建设局网站安徽建设工程造价信息网
  • 网站做专题页面网站建设评估
  • 网新科技做网站怎么样网站开发 外文文献