产品网站怎样做外部链接,太仓网站建设排名,刀客源码网,公司为什么做网站OpenGauss 列存储学习总结 2 概述文章链接 概述 列存储是一种优化技术#xff0c;用于在数据库系统中存储和查询大量数据。与传统的行存储方式不同#xff0c;列存储将每个列的数据分别存储在独立的存储单元中#xff0c;而不是按照行的方式存储。这种存储方式在分析性查询、… OpenGauss 列存储学习总结 2 概述文章链接 概述 列存储是一种优化技术用于在数据库系统中存储和查询大量数据。与传统的行存储方式不同列存储将每个列的数据分别存储在独立的存储单元中而不是按照行的方式存储。这种存储方式在分析性查询、聚合操作和大规模数据处理等场景下具有很大的优势。 行、列存储模型各有优劣建议根据实际情况选择。通常openGauss用于OLTP联机事务处理场景的数据库默认使用行存储仅对执行复杂查询且数据量大的OLAP联机分析处理场景时才使用列存储。默认情况下创建的表为行存储。行存储和列存储的差异如下图所示 上图中左上为行存表右上为行存表在硬盘上的存储方式。左下为列存表右下为列存表在硬盘上的存储方式。 列存储的特点和优势 压缩效率高由于相同类型的数据在列中是连续存储的可以采用更加高效的压缩算法从而减少存储空间的使用。数据读取效率高在查询中只加载需要的列减少了不必要的数据传输提高了查询效率。聚合操作效率高在列存储中同一列的数据相邻存储这样在进行聚合操作时只需要对该列中的数据进行计算减少了不必要的读取和计算。列存储适合分析性查询分析性查询通常涉及多个列的聚合和筛选操作列存储的存储方式更适合这种场景可以提高查询效率。适用于大规模数据处理列存储在大规模数据处理、数据仓库等场景中具有明显的性能优势能够更好地支持复杂的分析任务。 列存储相比于行存储的优点和缺点如下
存储模型优点缺点行存数据被保存在一起。INSERT/UPDATE 容易。选择(SELECT)时即使只涉及某几列所有数据也都会被读取。列存1. 查询时只有涉及到的列会被读取。2. 投影(Projection)很高效。3. 任何列都能作为索引。1. 选择完成时被选择的列要重新组装。2. INSERT/UPDATE 比较麻烦。 一般情况下如果表的字段比较多大宽表查询中涉及到的列不多的情况下适合列存储。如果表的字段个数比较少查询大部分字段那么选择行存储比较好。
存储类型适用场景行存1. 点查询(返回记录少基于索引的简单查询)。2. 增、删、改操作较多的场景。3. 频繁的更新、少量的插入。列存1. 统计分析类查询 (关联、分组操作较多的场景)。2. 即席查询查询条件不确定行存表扫描难以使用索引。3. 一次性大批量插入。4. 表列数较多建议使用列存表。5. 如果每次查询时只涉及了表的少数50%总列数几个列建议使用列存表。
文章链接 在先前的学习中【列存储学习总结】一文总结了对列存储的阶段性学习笔记本文我们在其基础上进一步总结后续的学习笔记目前所有列存储的文章学习连接如下
文章连接列存储Copy相关【 OpenGauss源码学习 —— 列存储CopyTo】 【 OpenGauss源码学习CopyOneRowTo】列存储介绍相关【 OpenGauss源码学习 —— 列存储创建表】【 OpenGauss源码学习 —— 列存储cstore_vector】【 OpenGauss源码学习 —— 列存储CStoreAllocator 类】【 OpenGauss源码学习 —— 列存储ColumnTableSample】列存储DML相关【 OpenGauss源码学习 —— 列存储Insert】【 OpenGauss源码学习 —— 列存储update】列存储analyze相关【 OpenGauss源码学习 —— 列存储analyze(一)】【 OpenGauss源码学习 —— 列存储analyze(二)】【 OpenGauss源码学习 —— 列存储analyze(三)】【 OpenGauss源码学习 —— 列存储analyze(四)】列存储autoanalyze相关【 OpenGauss源码学习 —— 列存储autoanalyze一】【 OpenGauss源码学习 —— 列存储autoanalyze二】【 OpenGauss源码学习 —— 列存储update_pages_and_tuples_pgclass】列存储CU相关【 OpenGauss源码学习 —— 列存储CU一】【 OpenGauss源码学习 —— 列存储CU二】【 OpenGauss源码学习 —— 列存储CU三】【 OpenGauss源码学习 —— 列存储CUStorage】列存储CStore相关【 OpenGauss源码学习 —— 列存储CStore一】【 OpenGauss源码学习 —— 列存储CStore二】【 OpenGauss源码学习 —— 列存储CStore三】【 OpenGauss源码学习 —— 列存储CStore四】【 OpenGauss源码学习 —— 列存储CStore五】【 OpenGauss源码学习 —— 列存储CStore六】 以上便为目前我所学习的内容在后续的学习中我也会持续不断地完善和更新更多有关列存的模块知识。