一分钟搞懂列式与行式数据库

2020-05-27  本文已影响0人  李坡_e17f

    本文对行式数据库与列式数据库进行对比,并讲解如果根据GIS相关系统及业务需求选择对应的数据库系统;

定义

    列式存储(Column-based)是相对于传统关系数据库的行式存储(Row-based)定义的,简单的说两者的区别就是如何组织表。

    将表放入存储系统中有两种方式,而绝大部分是采用行存储的。行存储是将各行放入连续的物理位置,这很像传统的记录和文件系统。列存储是将数据按照列存储到数据库中。下图是行、列两种存储方式的图形化解释。

    

行、列存储结构

        应用行式存储的数据库系统成为行式数据库,同理应用列式存储的数据库系统称为列式数据库。

        传统的GIS关系型数据库,如postgres、mysql、sql_server等采用行式存储。新兴的HBase等分布式数据库采用列式存储,当然这些数据库也有对行式存储的支持比如HP Vertica。随着传统关系型数据库与新兴的分布式数据库不断的发展,列式存储与行式存储会不断融合,数据库系统会呈现双模式数据存放方式。

        区别

    传统的行式存储的数据满足OLTP应用,列式存储的数据满足以查询为主的OLAP应用。

行、列数据库区别

为什么列存储可以大幅降低系统的I/O

    列式存储的主要优点之一就是可以大幅降低系统的I/O,尤其是在海量数据查询时,I/O向来是系统的主要瓶颈之一。下面以图进行详解

优势详解
上一篇 下一篇

猜你喜欢

热点阅读