• 小记--------hbase数据库介绍及存储方式


    一、Hbase基本原理

    1hbase基本介绍

    HBASE是一个分布式的,面向列的开源数据库。Hbase的存储是基于hadoop的。因为Hadoop实现了一个分布式文件系统(HDFS),基于hadoop意味着hbase与生俱来的超强的扩展性和吞吐量,hbase采用的是keyvalue的存储方式。意味着即使随着数据量增大,也几乎不会导致查询的性能下降。

     

    2、hbase存储方式

    hbase将数据按列簇分别存储,而并非简单的列式存储;首先了解几个概念:行式存储、列式存储、列簇式存储。

    A.行式存储:会将一行数据存储在一起,一行数据写完之后再接着写下一行数据。eg:mysql等关系型数据库;

    行式存储在获取一行数据时很高效,但是如果某个查询只需要读取表中指定列对应的数,那么行式存储会先取出一行行的数据,再在每一行数据中截取待查找目标列。因此会导致大量的内存占用

    B.列式存储:列式存储理论上会将一列数据存储在一起,不同列的数据分别接种存储。eg:kudu 、 parquet on HDFS;

    列式存储查找与行式存储,恰恰相反,对于只查找某些列数据的请求非常高效,但是对于获取一行的请求就比较差; 

    因为同一列的数据通常都具有相同的数据类型,因此列式存储具有天然的高压缩特性

    C.列簇式存储:列簇式存储介于行式存储和列式存储之间;如果一张表只设置一个列簇,这个列簇包含所有的列,hbase中一个列簇的数据是存储在一起的,因此这种设计模式就等同于行式存储;如果一张表的每一列都属于一个唯一的列簇,那么就相当于列式存储。

  • 相关阅读:
    [NOIP 2012] 疫情控制
    [HDU 6315] Naive Operations
    [BZOJ 3363] Cow Marathon
    单片机的模块化编程
    QT中定时器的使用方法
    47: error: undefined reference to `QWebView::QWebView(QWidget*)'
    如何分析一个QT类
    个人收集的一些库、工具、技术介绍
    点阵字体显示系列之二:汉字显示
    点阵字体显示系列之一:ASCII码字库的显示
  • 原文地址:https://www.cnblogs.com/yzqyxq/p/12103277.html
Copyright © 2020-2023  润新知