【首席架构看HANA】SAP HANA行和列存储表
Chinese, Simplified
SAP HANA Modeler视图只能在基于列的表的顶部创建。在列表中存储数据并不是什么新鲜事。在此之前,假定将数据存储在基于柱状结构的结构中需要更大的内存大小,并且没有优化性能。
随着SAP HANA的发展,HANA在信息视图中使用了基于列的数据存储,并展示了与基于行的表相比,柱状表的真正优点。
列存储
在列存储表中,数据是垂直存储的。因此,类似的数据类型组合在一起,如上面的示例所示。在内存计算引擎的帮助下,它提供了更快的内存读写操作。
在传统的数据库中,数据是以行为基础的结构,即水平存储的。SAP HANA以基于行和列的结构存储数据。这为HANA数据库提供了性能优化、灵活性和数据压缩。
将数据存储在基于列的表中有以下好处
- 数据压缩
- 与传统的基于行的存储相比,对表的读写访问更快
- 灵活性和并行处理
- 以更快的速度执行聚合和计算
功能差异—行存储与列存储
如果SQL语句必须执行聚合函数和计算,则始终建议使用基于列的存储。当运行诸如Sum、Count、Max、Min之类的聚合函数时,基于列的表的性能总是更好。
当输出必须返回完整行时,首选基于行的存储。下面给出的例子很容易理解。
当在sales列中运行带有Where子句的聚合函数(Sum)时,它将只在运行SQL查询时使用Date和sales列,因此如果它是基于列的存储表,那么它将进行性能优化,速度更快,因为只需要来自两列的数据。
在运行简单的Select查询时,必须在输出中打印完整的行,因此建议根据此场景将表存储为行。
讨论:请加入知识星球或者小红圈【首席架构师圈】
本文地址
https://architect.pub/sap-hana-row-and-column-store-table
- 247 次浏览
SEO Title
SAP HANA row and column store table