ITPub博客

首页 > 数据库 > 数据库开发技术 > 说说HANA数据库中的行式存储与列式存储

说说HANA数据库中的行式存储与列式存储

原创 数据库开发技术 作者:数据库杂记 时间:2023-05-02 06:00:00 0 删除 编辑

前言

通常的性能表现:

下边是我在网上搜到的多年以前对HANA的使用场景的归纳:

Column-Based andRow-Based Storage in the SAP HANA Database

HANA数据库同时支持行存储和列存储。列存储读性能好,拥有较高的压缩比,一些特性如分区只适用于列存储。常用于批量更新的大数据量表。行存储更新插入性能好,常用于经常单独操作的小数据量表。

存储类型 使用情况
列存储 Ø 在少数列上进行的计算

Ø 基于少数列的值进行表搜索

Ø 表有很多列

Ø 表有大量的行和列操作(集合,扫描等)

Ø 因为主要列含有大量重复值可以达到高压缩比


行存储 Ø  一次只存储少量数据(如select/update一条记录)

Ø  应用需要访问整条记录数据

Ø  列含有较少重复值以至于压缩效果不好

Ø  不需要集合和快速搜索操作

Ø  表数据量较小(如配置表)

实际情况:

目前,HANA针对列式存储已经做了相当多的优化。其OLTP性能与行式存储已经没有什么明显区别。上边关于行存储的那些结论和适用场合基本还算吻合。但是列存储的使用情况,限制已经没有那么多了。

另外,如果是数据量超大,需要各种分区支持,并且还有一些高级特性,列式存储都比行式存储更适用。同时,它最吸引人的地方在于它 的高压缩比,这意味着在云计算环境中,在取得相同性能的前提下,更节省资源,更省钱。

所以,如果没有什么特殊需要的话,列存储基本上可以满足绝大多数需求,无论是OLAP还是OLTP。咱们也不提当下流行的HTAP(所谓的: hybrid transaction/analytics processing, 抱歉,我真的不是什么概念党。)

参考:

[1] HANA性能浅析 : https://cloud.tencent.com/developer/news/242802

[2] 性能测试之常见术语浅析: https://cloud.tencent.com/developer/news/281795

[3] 调整插入和数据负载的HANA性能: https://cloud.tencent.com/developer/news/454968

[4] SAP HAANSAP HAAN delta merge 详解: https://www.cnblogs.com/tingxin/p/12599870.html

[5] SAP HANA内存计算介绍: https://www.cnblogs.com/liuzhuqing/p/7480172.html

[6] 如何轻松搞定SAP HANA数据库备份: https://zhuanlan.zhihu.com/p/191550645

[7] 什么是SAP HAN:https://www.sap.cn/products/technology-platform/hana/what-is-sap-hana.html#database-design

[8] SAP HANA技术总结: HTAP介绍: https://cloud.tencent.com/developer/news/287688


原文作者:数据库杂记;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2019-04-22

  • 博文量
    276
  • 访问量
    160325