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

贵州省住房和城乡建设厅官网站首页wordpress选项卡分页

贵州省住房和城乡建设厅官网站首页,wordpress选项卡分页,杭州企业网站建设方案,wordpress增加首页菜单一、Hbase的概念 HBase是Hadoop的生态系统#xff0c;是建立在Hadoop文件系统#xff08;HDFS#xff09;之上的分布式、面向列的数据库#xff0c;通过利用Hadoop的文件系统提供容错能力。如果你需要进行实时读写或者随机访问大规模的数据集的时候#xff0c;请考虑使用H…一、Hbase的概念 HBase是Hadoop的生态系统是建立在Hadoop文件系统HDFS之上的分布式、面向列的数据库通过利用Hadoop的文件系统提供容错能力。如果你需要进行实时读写或者随机访问大规模的数据集的时候请考虑使用HBase HBase作为Google Bigtable的开源实现Google Bigtable利用GFS作为其文件存储系统类似则HBase利用Hadoop HDFS作为其文件存储系统Google通过运行MapReduce来处理Bigtable中的海量数据同样HBase利用Hadoop MapReduce来处理HBase中的海量数据Google Bigtable利用Chubby作为协同服务HBase利用Zookeeper作为对应。 HBase 是一个高可靠、高性能、面向列、可伸缩的分布式数据库主要用来存储非结构化和半结构化的松散数据设计它的目的就是用于处理非常庞大的表——通过水平扩展的方式用计算机集群就可以处理由超过 10 亿行数据和数百万列元素所组成的数据表。 二、Hbase的架构 Hbase中的每张表都按照一定的范围被分割成多个子表HRegion默认一个HRegion超过 256M 就要被分割成两个由 HRegionServer管理管理哪些HRegion由HMaster分配。 1Client 提供了访问HBase的一系列API接口如Java Native API、Rest风格http API、Thrift API、scala等并维护cache来加快对HBase的访问。 2Zookeeper HBase 通过 Zookeeper 来做 Master 的高可用保证任何时候集群中只有一个Master 、实时监控RegionServer的上线和下线信息并实时通知Master、元数据的入口以及集群配置的维护等工作。 Zookeeper的作用如下 保证任何时候集群中只有一个master存储所有Region的寻址入口 实时监控Regionserver的上线和下线信息。并实时通知给master 存储HBase的schema和table元数据 3HRegion HBase表在行的方向上分隔为多个Region。Region是HBase中分布式存储和负载均衡的最小单元即不同的region可以分别在不同的Region Server上但同一个Region是不会拆分到多个server上。Region按大小分隔每个表一般是只有一个region当region的某个列族达到一个阈值默认256M时就会分成两个新的region。 4HRegionServer 1RegionServer维护Region处理对这些Region的IO请求向HDFS文件系统中读写数据。 一个RegionServer由多个Region组成一个Region由多个Store组成一个Store对应一个CF列族而一个store包括位于内存中的Mem Store和位于磁盘的StoreFile每个StoreFile以HFile格式保存在HDFS上。写操作先写入Mem Store当Mem Store中的数据达到某个阈值时RegionServer会启动flashcache进程写入StoreFile每次写入形成单独的一个StoreFile。 2RegionServer负责切分在运行过程中变得过大的Region。 每个表一开始只有一个Region随着表数据不断插入数据越来越多StoreFile也越来越大当StoreFile文件的数量增长到一定阈值后系统会进行合并minor、major compactionminor主要是合并一些小的文件不做删除清理操作而majar在合并过程中会进行版本合并和删除工作形成更大的StoreFile。 当一个Region所有StoreFile的大小和数量超过一定阈值后会把当前的Region分割为两个新的Region裂变每个Region保存一段连续的数据片段如此往复就会有越来越多的region并由Master分配到相应的RegionServer服务器这样一张完整的表被保存在多个RegionServer 上实现负载均衡。 3对于数据的操作DMLget, put, delete 5Store 每一个Region由一个或多个Store组成至少是一个StoreHBase会把一起访问的数据放在一个Store里面即为每个ColumnFamily建一个Store如果有几个ColumnFamily也就有几个Store。一个Store由一个memStore和0或者多个StoreFile组成。Store的大小被HBase用来判断是否需要切分Region。 6StoreFile memStore内存中的数据写到文件后就是StoreFileStoreFile底层是以HFile的格式保存。这是在磁盘上保存原始数据的实际的物理文件是实际的存储文件。StoreFile是以HFile的形式存储在HDFS的。每个 Store 会有一个或多个 StoreFile数据在每个 StoreFile 中都是有序的按照RowKey的字典顺序排序。 7HLog HLog记录数据的所有变更可以用来恢复文件一旦region server 宕机就可以从log中进行恢复。HBase的修改记录当对HBase读写数据的时候数据不是直接写进磁盘它会在内存中保留一段时间时间以及数据量阈值可以设定。由于数据要经 Mem Store 排序后才能刷写到 StoreFile但把数据保存在内存中可能有更高的概率引起数据丢失为了解决这个问题数据会先写在一个叫做Write-Ahead logFile的文件中然后再写入内存中。所以在系统出现故障的时候可以通过这个日志文件来恢复数据。 8LogFlusher 一个LogFlusher的类是用来调用HLog.optionalSync()的。 9HDFS HDFS 为 HBase 提供底层数据存储服务同时为 HBase提供高可用的支持 HBase 将 HLog 存储在 HDFS 上当服务器发生异常宕机时可以重放 HLog 来恢复数据。 三、Hbase的数据模型 1逻辑数据模型 2物理数据模型 3数据模型内容 1Name Space 命名空间类似于关系型数据库的 DatabBase 概念每个命名空间下有多个表。HBase有两个自带的命名空间分别是“hbase” 和 “default”“hbase” 中存放的是 HBase 内置的表“default”表是用户默认使用的命名空间。 2 Region 类似于关系型数据库的表的概念实际上Region在HBase数据库中是表的切片。建表时不同的是HBase定义表时只需要声明列簇即可不需要声明具体的列。这意味着往HBase中写入数据时字段可以动态、按需指定。因此和关系型数据库相比HBase能够轻松应对字段变更的场景。 3Row HBase 表中的每行数据都由一个 RowKey 和多个 Column列组成数据是按照 RowKey的字典顺序存储的并且查询数据时只能根据 RowKey 进行检索所以 RowKey 的设计十分重要。 4Column HBase 中的每个列都是由Column Family(列簇)和 Column Qualifier(列限定符)运行限定例如info: nameinfo: age 。建表时只需声明列簇而列限定符无需预先定义。 5Time Stamp 用于标识数据的不同版本version每条数据写入时如果不指定时间戳系统会自动为其加上该字段其值为写入 HBase 的时间。 6Cell 由{RowKey, Column FamilyColumn Qualifier, Time Stamp} 唯一确定的单元。cell 中的数据是没有类型的全部是字节码形式存储byte[]数组。 四、HBase的优缺点 1HBase的优点 1在传统的关系数据库中如果数据结构发生了变化就需要停机维护而且需要修改表结构而在 HBase 中数据表内的列可以做到动态增加并且列为空的时候不存储数据从而节省存储空间。 2HBase 适合存储 PB 数量级的海量数据PB 级的数据在只采用廉价 PC 来存储的情况下也可以在几十到一百毫秒内返回数据。这与 HBase 的极易扩展息息相关正因如此HBase 为海量数据的存储提供了便利。 3传统的通用关系数据库无法应对在数据规模剧增时导致的系统扩展性问题和性能问题。HBase 可以做到自动切分数据并且会随着数据的增长自动地拆分和重新分布。 4HBase 可以提供高并发的读写操作而且可以利用廉价的计算机来处理超过 10 亿行的表数据。 5HBase 具有可伸缩性如果当前集群的处理能力明显下降可以增加集群的服务器数量来维持甚至提高处理能力。 2HBase的缺点 1不能支持条件查询只支持按照 RowKey行键来查询也就是只能按照主键来查询。这样在设计 RowKey 时就需要完美的方案以设计出符合业务的查询。 2HBase 不能支持 Master主服务器的故障切换当 Master 宕机后整个存储系统就会挂掉不能提供正常的服务。 3查询 HBase 时不支持通过 SQL 语句进行查询。 五、HBase的特征 1海量存储 HBase 作为一个开源的分布式 Key-Value 数据库其主要作用是面向 PB 级别数据的实时入库和快速随机访问。这主要源于上述易扩展的特点使得 HBase 通过扩展来存储海量的数据。 2列式存储 Hbase 是根据列族来存储数据的。列族下面可以有非常多的列。列式存储的最大好处就是其数据在表中是按照某列存储的这样在查询只需要少数几个字段时能大大减少读取的数据量。 3自动分片 HBase 中的表通过 Region 分布在集群上而且 Region 会随着数据的增长自动拆分和重新分布。 4并行处理 HBase 支持通过 MapReduce 进行大规模并行处理将 HBase 用作源和接收器。 5高可靠性 WAL 机制保证了数据写入时不会因集群异常而导致写入数据丢失Replication 机制保证了在集群出现严重的问题时数据不会发生丢失或损坏。而且 Hbase 底层使用 HDFSHDFS 本身也有备份。 6多种语言的API HBase 支持使用 Java 的 API 来编程进行数据的存取还支持使用 Thrift 语言和 REST 语言的 API 来编程进行数据的存取。 六、HBase的应用场景 1数据量超千万可以选择使用HBase 一般而言如果单表的数据量只有百万的数量级或者更少则不建议使用 HBase而应该考虑关系数据库是否能够满足应用的需求。 2实时根据主键查询可以选择使用HBase HBase 是一个 Key-Value 数据库默认对 RowKey 做了索引优化所以即使数据量非常庞大根据 RowKey 查询的效率也会很高。但是如果还需要根据其他条件进行查询则不建议使用 HBase。 3多表连接查询不建议使用HBase HBase 是 NoSQL 产品中的一种它也具有 NoSQL 的缺点就是不能进行连表查询等操作也就是说如果业务场景是需要事务支持、复杂的关联查询则不建议使用 HBase。 4数据分析需求不多可以选择使用HBase 虽然说 HBase 是一个面向列的数据库但是它与真正的列式存储系统比如 Parquet、Kudu等又有所区别再加上自身存储架构的设计使得 HBase 并不擅长做数据分析。所以如果业务需求是为了做数据分析比如做报表那么不建议使用 HBase。
http://www.dnsts.com.cn/news/202596.html

相关文章:

  • 网站建设产品编辑的工作内容自己怎么创建微信小程序
  • 网站的栏目规划做网站宣传图片
  • 网站建设中html 下载wordpress story 模板
  • 怎样在百度上做推广网站昆明网站开发的公司
  • 中英文网站后台网站空间1
  • 重庆专业网站推广怎么用网络推广业务
  • 网站怎么更改关键词wordpress添加子菜单
  • 淘宝客网站用什么软件做微站小程序
  • 西安网站制作公司哪安溪城乡建设局网站
  • 可以做投票功能的网站网站做好了如何发布
  • xp怎么建设网站wordpress自动登录ftp
  • 成都的企业网站建设公司做商务楼房型图网站
  • 精美的php个人网站源码推广图片模版
  • 商城网站哪个公司做的好处响应式网页模板制作
  • 建设网站公司那里好相关的热搜问题解决方案wordpress文章页面边栏
  • 潮阳网站建设公司免费游戏网页
  • 深圳便宜网站建设济南专业制作网站
  • 重庆网站建设找重庆万为做微商网站设计
  • 建设银行贵阳银行下载官方网站如何做淘宝网站
  • 做模具的网站wordpress 自定义面板
  • 成都网站建设详细内容广告公司名字起名大全
  • 那做网站协会网站建设计划
  • 最好的外贸网站建设wordpress水印
  • 网站 开发逻辑wordpress dx seo
  • wordpress 购物网站主题变身小说网址wordpress
  • 网站统计分析工具的主要功能石家庄网站建设企业
  • 网站建设费进项税金可以抵扣吗wordpress装修模板制作
  • 阿里网站搭建ps企业站网站做多大的
  • p2p网站建设小微金融wordpress联系方式
  • 网站建设系统哪家便宜些网站营销中常见问题