序言
前段时间做了一个大数据分析的一个项目,对于大数据分析的技术栈有了一个比较全面的认识,下面一个系列的文章,会对整个技术栈做一个介绍,本篇文章关注的是DB部分,HBase和Parquet。
HBase
HBase是什么呢?
HBase是架构在HDFS文件系统之上,面向列存储的,分布式的非关系型数据库。这句话里面包含的信息量有点多,不要急,由我慢慢道来。
架构在HDFS文件系统之上: 我们都知道HDFS是Hadoop这个分布式平台的标准的文件存储系统,就像FAT32是windows的标准文件系统一样。HBase作为一个分布式数据库,最终的数据存储在HDFS上。正常文件的访问都是按照顺序访问,而不能随机读取,如果用于查询,这种顺序访问的机制效率就很低下了。这就是数据库出现的原因了,支持随机的查找。HBase就是HDFS文件系统上,数据库实现的一种方式。
面向列存储: 普通的关系型数据库都是行存储的,而HBase是面向列存储的。行存储的数据库很容易操作行,但是不容易对列进行更改。而列存储的数据库很容易动态的增加,删除列。对于一些列信息不固定的数据,这个特性就显得很有价值。
分布式: HBase是分布式的数据库,分布式数据库的特点是,数据不容易丢失,存储能力很强。
非关系型 :决定分关系型和关系型数据库最重要的区别就是:需不需要关心事务的一致性。具体的关系型数据库和非关系型数据库的区别可以参考