01-HBASE的安装和物理模型

本文介绍了关系型数据库如MySQL、Oracle、SQL Server的特点,并转向非关系型数据库Nosql,重点讲解了HBase的特性、应用场景、列存储与行存储的差异、数据模型以及HBase的分布式安装部署步骤。HBase适用于大数据平台数据存储和实时查询,其列存储特性适合结构化和非结构化数据的存储。
摘要由CSDN通过智能技术生成
1.传统的关系型数据库
      mysql 
1. 开源【社区版】,收费版【企业版】
2.市场占有率最高特别是在web领域
3.安装及操作比oracle简单许多
4.  端口:3306
     oracle
1. 实用环境比较严格
2.收费  
3.08年收购了mysql  
4.MariaDB--相当于是mysql的升级版  
5.集群能力比mysql强 ---  10台
6.端口:1521
     sqlserver
1.微软平台下的项目中使用  
2.收费  
3.端口:1433  
        
2.nosql--非关系型数据库    (not only sql)
    不支持sql语句(SQL99标准)                 
1.hbase      列存储数据库    -- 列家族:列簇/列族        
2.MongoDB  文档型数据库  -- 爬虫项目中
3.redis     基于内存的键值对数据库
        flume+kafka+sparkStreaming/storm+redis+机器学习/前端报表展示        
4.Neo4J    图形结构数据库   
       
什么时候选用nosql数据库:
    1.当单表数据量过大,又不得不全表扫描,且不能进行分库分表,可以考虑使用nosql数据库   
    2.单表行上亿条时  --oracle 性能瓶颈  
        
    nosql数据库对事务的支持不佳:
        事务: 确认支付-》更新所买产品的库存量-》与支付平台的系统交互确认-》订单生成并保存到数据库 -》更新用户的订单库数据-》完成   
             
3.hbase的应用场景:
    1.直接接入业务在线查询使用:
        借助hbase的强大的分布式查询系统及完善的检索机制,可以使客户从海量数据中快速的实时查询  
            1.电商      订单  
                             物流 --信息                   
            2.快递物流公司的物理信息存储查询  
            3.大型社交网站数据  
            4.银行数据 -- 信用卡   
            5.电信公司
            6.医疗、交通.............
            
    2.大数据平台数据存储:
        1.直接在线从hbase系统中获取数据进行需要分析
            MapReduce、hive、spark可以直接从hbase中获取数据进行分析
        2.离线分析平台的临时数据的存储
            驴妈妈离线分析平台中的应用
       3.作为实时数据展示的数据临时存储库
            flume+kafka+sparkStreaming/storm+redis/hbase+前端报表展示

4.hbase的特点:
    1.在生态系统中的位置 :hbase是构建在hdfs上
    2.hbase源于谷歌的BigTable ,和hdfs结合使用   
        google的三大潮流:GFS        MapReduce              BigTable --- HBASE的前身      
    3.为海量数据提供检索和存储平台   
    4.基于【列存储】的分布式nosql数据库  
         列存储和行存储:
            1.RDBMS都是基于行存储:
                每行的数据是一个连续的存储单元
                每行的数据被保存在一起, 插入数据或更新数据更简单
                如果select时只涉及到几个字段,行所有的数据都会被加载,系统io加大  
            2.Hbase列存储:
                每列的数据被保存在一起
                每列数据是一个连续的存储单元, 插入数据或更新数据比较麻烦  
                如果select时只涉及到几个字段,只有涉及的列才会被系统加载读取,系统io大大减小  
                以列为单位进行存储,每列数据类型相同,更容易实现压缩和存储,数据更加安全
                  
    5.合适【结构化】和【非结构化】数据的存储        
        针对日志的类型进行讲解:
            结构化的日志每条日志的字段数量和种类固定;
            非结构化的日志每条日志的字段数量和种类可能不一样;              
        各种文档、图片、视频也都是属于非结构化数据;           
    6. 基于key-value形式存储的数据库
       1.key:rowkey+列簇+列+时间戳 -> vlaue   
       2.高可用性、高性能、可伸缩的分布式数据库  
           高可用性、可伸缩:基于hdfs  
           高性能:对比RDBMS,hbase是大规模的高并发的分布式数据库;
                         借助强大的搜索引擎,可以快速的从海量数据中检索数据 。
            
结构化的日志数据    例如: Apache的访问日志       
访问ip                     时间            资源     http状态    访问流量   
101.81.13.86    2017-1019    Get xx      200            98kb   
101.81.13.88    2017-1019    Get xx      200            98kb
101.81.13.88    2017-1019    Get xx      200            98kb     
    
非结构化的日志数据      例如:用户行为日志数据       
日志类型    uuid    umid     时间      浏览器  
   pv            001      110      15xxx    Chrome  
日志类型    uuid    umid     时间      浏览器    订单id     金额    支付方式
支付请求    001        110    15xxx    Chrome    999       88        aliapy  
日志类型    uuid     订单id     金额    
支付成功     001      999          88        
  pv             001       110        15xxx    Chrome  
支付请求    001       110        15xxx    Chrome    999      88        aliapy
支付成功    001       999          88    
    如何将以上三种类型的日志数据存储到一张表中

5.hive与hbase区别
1.hive:
        1.高延迟,存储的是结构化的数据  
        2.面向分析的,使用hql语句
        3.hive不能接入业务中使用  
  hive与RDBMS的区别??
    1.hive是面向行存储的数据仓库工具,是纯逻辑表 (不是物理表)
    2.hive本身不存储和计算数据,完全依赖hdfs和MapReduce,本质就是将hql转换为MapReduce       
2.hbase:
        低延迟,适合存储结构化和非结构化的数据
        面向数据检索和存储的,是一个数据库
        hbase可以接入业务中使用  
        hbase是列存储,hbase中的表时物理表,通过索引可以快速进行数据的检索更新等操作  
        hbase是一种nosql数据库,是一个构建在hdfs上的面向列存储的分布式数据库

6.hbase的架构: 主从架构     
     master
            主节点,用来管理调度regionserver从节点;
            负责分布表的region给
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值