合 列式内存关系数据库SAP HANA简介
什么是 SAP HANA?
SAP HANA(高性能分析工具)是一款将数据存储在内存而不是硬盘的多模型数据库。这款列式内存数据库支持企业在同一系统中执行快速的事务处理和先进的分析处理。
SAP HANA 是一款列式内存关系数据库,集 OLAP 和 OLTP 操作于一体。相较于同类产品,SAP HANA 需要的磁盘空间更少,并且具有高度的可扩展性。SAP HANA 可以部署在本地、公有云或私有云以及混合场景中。该数据库适用于各种数据类型的高级分析和事务处理。除数据库管理外,SAP HANA 还提供高级分析处理、数据集成和应用开发功能。
为什么 SAP HANA 如此重要?因为该产品支持企业近乎零延迟地处理海量数据,即时查询数据,并真正实现由数据驱动。SAP HANA 拥有独特的优势。该平台将数据存储在主内存的列存储表中,并且集联机分析处理 (OLAP) 和联机事务处理 (OLTP) 于一体,处理速度比目前市场上的其他数据库管理系统 (DBMS) 快很多。
SAP HANA 于 2010 年推出,是一款成熟的现代化解决方案,目前在全球已经拥有数万家客户。不过,SAP HANA 不只是一个数据库。除了充当数据库服务器,存储和检索应用请求的数据外,SAP HANA 还针对所有类型的数据(包括结构化和非结构化数据)提供高级搜索、分析和数据集成功能。此外,SAP HANA 还可以作为应用服务器,帮助企业基于实时数据、内存计算和机器学习技术构建由洞察驱动的智能应用。而且,这些功能在云端和本地均可用。
通过整合众多数据管理功能,并在同一系统中即时提供所有类型的数据,SAP HANA 能够简化 IT,帮助企业开展创新,打破数字化转型的障碍。
什么是内存数据库?
内存数据库 (IMDB) 是一种将数据存储在计算机主内存 (RAM),而不是传统磁盘或固态硬盘 (SSD) 的数据库。虽然如今大多数数据库都增加了许多内存功能,但从根本上来说还是基于磁盘的存储数据库。SAP HANA 则是从零开始构建,主要目的是利用内存处理数据,其次才是利用其他必要的存储机制来平衡性能和成本。从内存中检索数据要比从磁盘或固态硬盘中检索数据快得多,因此 SAP HANA 可以实现瞬时响应。
内存数据库通常用于对速度和处理量有着极高要求的场景,例如电信网络和银行系统。在过去的 10 年中,随着多核处理器的发展和 RAM 价格回落,企业开始将内存数据库用于更广泛的场景,包括实时分析和预测建模、客户体验管理、物流等等。
SAP HANA 有多快?
SAP HANA 的十大优势
SAP HANA 数据库除了存储数据、提供数据服务和打造统一的真实数据源外,还有许多其他优势。以下是 SAP HANA 和 SAP HANA Cloud [SAP HANA 云] 的十大优势:
- 全面:包括数据库服务、高级分析处理、应用开发和数据集成
- 快速:在大规模生产性使用场景中,1 秒内响应查询
- 多功能:同时支持事务处理和分析处理以及多种数据类型
- 高效:减少数据足迹,无需数据复制,具有高级压缩功能,减少数据孤岛
- 强大:使用大规模并行处理 (MPP) 数据库,快速查询大型数据集
- 可扩展:根据分布式环境中的数据量和并发用户数量轻松进行扩展
- 灵活:可以部署在公有云或私有云、多云、本地或混合场景中
- 简单:利用先进的数据虚拟化,为所有数据提供统一的网关
- 智能:利用内置的机器学习技术 (ML) 增强应用和分析功能
- 安全:提供全面的数据和应用安全性、安全设置等
SAP HANA 架构
SAP HANA 采用列式内存架构,支持快速执行查询和事务处理。除此之外,该架构还提供数据库管理、应用开发、高级分析处理和灵活的数据虚拟化功能。
SAP HANA 架构图
数据库设计
- 内存、列式、大规模并行处理数据库:SAP HANA 基于统一的平台和数据实例执行事务处理和分析处理。该产品将数据按列存储在高速内存中,并对数据进行分区,然后在多个服务器之间进行分配。与聚合数据相比,这样做可以提高查询速度和效率,并避免成本高昂的全表扫描。
- ACID 合规性:确保符合原子性、一致性、隔离性和持久性 (ACID) 标准的所有要求。
- 多租户:支持多个租户数据库在一个系统中运行,共享相同的内存和处理器。每个租户数据库都与自己的数据库用户、目录、资源库、数据文件和日志文件完全隔离,能够最大程度地提高安全性和掌控度。
- 多层存储和持久内存支持:采用各种软件解决方案管理多温数据(热数据、暖数据和冷数据),进而优化存储性能和成本。SAP HANA 原生存储扩展是一项内置功能,可以智能地管理内存和持久存储(如 SAP HANA Cloud 数据湖)之间的数据。了解有关 SAP HANA 持久内存的更多信息。
- 扩展:单一服务器可以支持 TB 级数据;而且,通过在同一集群的多个服务器之间实施无共享架构,该产品还可以实现进一步扩展。此外,该产品还可以根据规则,自动在这些服务器之间分配大型表。
数据库管理
- 数据建模:SAP HANA 的内存技术支持应用开发人员和建模人员利用虚拟数据模型重新构想传统建模。图形建模工具支持利益相关者轻松开展协作,并创建模型来执行可实时处理的复杂业务逻辑和数据转换。
- 存储程序:SAP HANA 拥有用于构建存储程序的原生语言,并且能够使用高级功能创建可以在数据库内运行的复杂逻辑。
- 管理:提供全面的管理工具,支持各种平台生命周期及性能管理操作和自动化,例如启动、停止、重新启动、备份和恢复。
- 安全性:提供独特的实时数据匿名化功能,在保护隐私的同时,充分挖掘数据的价值。SAP HANA 采用强大的身份验证、用户管理和授权协议,可以确保用户仅访问他们有权限查看和处理的数据。了解有关 SAP HANA 安全性的更多信息。
- 高可用性和灾难恢复:SAP HANA 利用备份、存储镜像、同步、异步和多目标系统复制、热备份、自动重启以及自动故障转移等一系列方法,支持高可用性和灾难恢复,满足广泛的服务水平要求。
应用开发
- SAP HANA 扩展应用服务:该内置应用服务器支持开发 REST 和 OData 等服务,以及可在本地、云端和移动设备上运行的 Web 应用。
- 响应式 Web 应用:SAP HANA 包括基于 SAP Fiori 用户界面的 HTML5 和 JavaScript 框架,可以用于开发响应式 Web 应用。这些应用可以在任何设备上运行,并能自动适应屏幕大小,在所有接触点提供一致的观感。
- 客户端访问:提供许多客户端库,支持用户从其他应用平台或使用其他语言访问 SAP HANA,例如 JavaScript、Python、R、Java 和 Go。
- 应用生命周期管理:帮助构建和打包应用,管理从开发到测试再到生产的整个过程,并帮助部署和升级应用。
- 应用开发工具:提供轻量级开发工具,支持本地和云端的数据建模和应用开发。另外,ABAP 编程语言提供经优化的 SAP 应用扩展构建功能。
高级分析
- 搜索:使用 SQL 跨多个列和文本内容快速查找文本。针对多种语言运行全文本搜索和高级模糊搜索。
- 空间数据处理:SAP HANA 原生支持空间数据和空间功能。SQL 基于开放标准支持空间数据处理,可以存储、查询和访问基于位置的内容。了解有关 SAP HANA 空间数据处理的更多信息。
- 图形:使用属性图存储和处理高度关联的数据。将图形数据处理与 SAP HANA 中的其他高级分析处理功能相结合,例如文本分析、预测分析、空间数据分析、文档 (JSON) 分析和标准关系数据结构的数据分析。
- 流分析:存储、查询流数据,并利用机器学习分析流数据,发现一段时间内的趋势。这些数据源包括来自传感器、工厂设备和物联网设备的时序数据。
数据虚拟化
- 数据集成和复制:SAP HANA 提供全面的功能,可以处理所有数据集成场景,包括 ETL(提取、转换和加载)和 ELT、实时数据复制、批量加载处理、数据转换以及内置的数据质量和丰富服务。
- 数据联合:通过数据联合,实时对远程数据源(如外部云原生数据源、Apache Hadoop 和其他数据库)执行查询。
- 缓存:能够缓存数据,针对远程数据源优化联合查询;控制进行缓存的数据源和结构以及刷新缓存的方式和时间。
什么是列式数据库?
列式数据库将相关信息存储在列中,而不是按行存储。与行存储系统相比,列存储可以更快地查询和分析类似数据。列式数据库在内存业务应用和要求检索速度的数据仓库中非常常见。这种格式一直都非常适合分析。列式数据库减少了查询相关数据集所需的资源量。