什么是列式数据库HBase:行式存储与列式存储的区别

2020年11月2日14:40:54什么是列式数据库HBase:行式存储与列式存储的区别已关闭评论

什么是列式数据库HBase:行式存储与列式存储的区别

列式数据库中的数据是按列存储的,而传统的关系数据库是按行存储的。这一区别与中国古代书写规则是从上到下从右到左按列顺序书写,而现代书写规则是从左到右从上向下按行顺序书写的区别类似。

不同的数据存储方式适用的应用场合差别很大。行式数据库适合小批量、要求精准的数据处理,其典型应用的是联机事务处理。列式数据库适合大批量、即席查询和数据分析,其典型应用的是数据仓库分析和信息检索。

与行式数据库相比,列式数据库通过按列存储(不会取出不关心的列数据)和大表存储(减少表链接)降低了I/O开销,支持大量并发查询,但行数据的重组代价很大,不适合需要对数据进行修改的操作。

在HBase的物理存储中,实际上是按列族存储的。列族由数个关系较近的列组成,将它们放在一起管理对提高存储效率和访问效率均有益。这是因为,HBase将一个列族数据放在一个或多个数据文件中,一个数据文件只属于一个列族,不会在一个文件中混放多个列族数据。同一列族数据被同时访问的概率较高;同一列族数据往往相似度高,可以采用针对性强的高效压缩方法对其进行压缩存储。

列式存储便于表结构的修改,这是它与关系型数据库的主要区别,也是其主要优势。HBase允许对表结构中的列进行修改、增加和删除操作,但不允许对列族进行任何更改。数据操作只有插入、查询、清空,表与表之间是没有关联关系的,所以不涉及表间链接操作。

  • 版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。