导
语
本篇是StoneDB学术分享会专栏的第七篇,在上一期里,我们分享的《TheSAPHANADatabase–AnArchitectureOverview》论文,主要是介绍了SAPHANA列式存储引擎的架构设计,该列存引擎利用现代硬件(多CPU内核、大容量主内存和缓存),支持数据压缩、数据库内核并行最大化,提供层次结构(hierarchy)专用的数据结构、用于特定领域的语言支持等企业应用所需的数据库扩展。
本期,我们将带大家读一读这篇《EfficientTransactionProcessinginSAPHANADatabase–TheEndofaColumnStoreMyth》,瞧瞧,这个标题就起得很有火药味,SAP提出列式存储引擎的时候,市面上敢用行列混存做HTAP数据库的基本没几个,但是人家竟然敢直接跟你说,SAPHANA数据库,就是为了结束人们对列式存储的偏见而生的,谁说列式存储不能做事务型工作(OLTP)的?我们SAPHANA证明给你看~(当然了,现在列式存储的数据库其实已经很多了,我们的StoneDB团队自研的Tianmu引擎就是列式存储引擎)
是不是还挺横的?一众数据库界的大佬也坐不住了:你们SAP到底哪来的底气?别急,今天就带大家看看这篇经典论文,揭开SAPHANA数据库的神秘面纱。
摘要
SAPHANA数据库是SAP新推出的数据管理平台的核心。SAPHANA数据库的总体目标是为事务型查询和分析型查询场景提供一个通用的、强大的系统,且在高度可扩展的执行环境中为不同的查询场景提供相同的数据表示。本文重点介绍了SAPHANA数据库区别于传统关系型数据库引擎的主要特性。因此,在本文中,我们首先概述了SAPHANA的总体架构和设计标准。其次,SAPHANA挑战了人们关于列存数据结构的偏见,即列存储数据结构只在分析型工作负载中表现优异,并不适合事务型工作负载。我们概述了如何通过管理记录(record)生命周期来使用不同的格式存储不同阶段的同一记录。除了提供概念的解读外,我们还深入探讨了如何在记录的生命周期中对其进行高效同步,以及如何将数据库条目从写优化的存储格式转移到读优化的存储格式的一些细节。总之,本文旨在说明SAPHANA数据库如何实现同时在分析型和事务型工作负载环境中进行高效工作。
简介
现代商业应用中的数据管理是当今软件行业面临的最具挑战性的课题之一。现如今,数据不仅推动着业务发展,还为新业务理念或业务案例的发展提供了基础。各种各样的数据管理已经成为企业的核心资产。此外,数据管理作为推动和发展当前业务的主要工具,已经引起了高层管理者的极大