zoukankan      html  css  js  c++  java
  • 小记--------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中一个列簇的数据是存储在一起的,因此这种设计模式就等同于行式存储;如果一张表的每一列都属于一个唯一的列簇,那么就相当于列式存储。

  • 相关阅读:
    C语言中变量和函数类型
    ubuntu中耳机声音小的解决方案
    数据结构学习4——栈
    Linux 引导过程内幕
    linux gdb 没有符号表被读取。请使用 "file" 命令。
    linux 内存泄漏检查工具
    数据结构学习5——队列
    [转载]Ubuntu垃圾清理
    系统消息
    窗口相关概念和对应关系
  • 原文地址:https://www.cnblogs.com/yzqyxq/p/12103277.html
Copyright © 2011-2022 走看看