SAP重棒消息,HANA Cloud于3月25日正式发布2024第一个版本QRC1 。有时候,我爱把它跟PostgreSQL的小版本进行类比。因为PG基本上也是一个季度,发布一个版本,但那个是小版本。看起来有些类似。如果以年份开头,HANA Cloud也算是一个大版本来着,然后每个季度一个QRC版本,号称为Quaterly Release Cycle。
那么2024的QRC1发布的版本提供了哪些新特性呢?且听我逐个介绍:
1、Golang Driver上的更新增强
golang驱动程序支持从所有可能返回错误的SQL包API函数中获取更详细的错误信息。
import driver "SAP/go-hdlre/driver"
...
_, err = db.Exec("Invalid")
// Get more detailed error
v := reflect.ValueOf(err)
hdbError, ok := v.Interface().(*driver.HdlError)
numberOfErrors := hdbError.NumberOfErrors() // number of errors
_ = numberOfErrors
errorLevel := hdlError.ErrorLevel() // Error severity level
_ = errorLevel
errorCode := hdlError.ErrorCode() // Error Cod
_ = errorCode
errorText := hdbError.ErrorText() // Error Text
_ = errorText
sqlState := hdlError.SqlState() // SQL State
_ = sqlState
isError := hdlError.IsError()
_ = isError
isWarning := hdlError.IsWarning()
_ = isWarning
err = hdlError.SetErrorPosition(0)
_ = err
hdbErr.Reset()
hasNextError := hdlErr.NextError()
_ = hasNextError
2、SQL: 潜在TIMESTAMP数据类型冲突的警告提醒
SAP Alert Notification服务现在在检测到SAP HANA数据库和数据湖关系引擎TIMESTAMP数据类型之间可能存在冲突时提供警报。此外,数据湖关系引擎现在可以防止在INSERT、UPDATE或CAST期间将7位数的精确TIMESTAMP值加载到6位数的列中。
3、审计:精确的审计增强
简洁的审计简化了数据湖关系引擎审计。这是审计行为中的一个重大变化。您可以在升级到QRC 1/2024(不中断审计)之前将新的CONCISE_AUDITING数据库选项设置为“Off”,或者什么都不做,让数据湖在QRC 1/2024升级期间切换到新的简洁审计行为。
参考:CONCISE_AUDITING Option for Data Lake Relational Engine (SAP HANA DB-Managed)[1]
4、警告与通知:提供过滤选择功能
在SAP HANA Cloud Central中,警报的过滤和屏幕显示方式发生了变化。只显示最严重的警报。如果应用筛选器仅显示当前警报,则不会应用时间范围筛选器值,并显示所有活动警报。
具体参考文档:Alert[2]
5、应用程序锁:提供用户自定义的应用程序锁
SAP HANA Cloud中引入了用户自定义的应用锁。这是用于自定义应用程序的,可以通过调用过程获得或释放。详细的锁的功能介绍见文档:sap-hana-cloud-sap-hana-database-administration-guide/locks[3]
6、缓存管理
通过(在SYSTEM数据库中)配置每个缓存的最大限制,现在支持对单个缓存的最大大小进行细粒度控制。
select distinct memory_size, cache_id, entry_id, entry_hash, user_name from sys.m_cache_entries;
// remove cache
ALTER SYSTEM REMOVE CACHE '<cache_id>' ENTRY ('<entry_hash>', '<entry_hash>')
// 设置cache
ALTER SYSTEM ALTER CONFIGURATION ('indexserver.ini', 'SYSTEM') SET ('memoryobjects_properties', 'multi_model/HierarchyCache/upper_limit_abs') = '10240' WITH RECONFIGURE;
详细内容可以参考文档:sap-hana-cloud-sap-hana-database-administration-guide/cache-management[4]
7、HDI:SAP HDI ADMIN
The HDI .hdbstructuredprivilege plug-in现在支持模糊匹配。如下边的例子:
STRUCTURED PRIVILEGE PRIVILEGE_NAME
FOR SELECT ON <object_identifier>[, <object_identifier>]
[ ESCAPE '\' ]
[ LIKE <wildcard_object_identifier>[, <wildcard_object_identifier>]
[ NOT LIKE <wildcard_object_identifier>[, <wildcard_object_identifier>] ] ]
WHERE | CONDITION PROVIDER
// 这里头就可以使用like, not like进行模糊匹配
e.g.
LIKE obj1, obj2, … objN NOT LIKE notObj1, notObj2, … notObjM
它相当于:
(obj1 or obj2 or … or objN) AND NOT (notObj1 or notObj2 or … or notObjM)
e.g.
/src/USER_DATA_VIEW_PRIVILEGE_WILDCARD.hdbstructuredprivilege
STRUCTURED PRIVILEGE USER_DATA_VIEW_PRIVILEGE_WILDCARD
FOR SELECT ON USER_DATA_VIEW
ESCAPE '\'
LIKE "USER\_Data\_VIEW1%", "USER\_Data\_VIEW2%"
NOT LIKE "USER_Data_VIEW1\%"
WHERE USER_DATA_VIEW.USER_NAME = CURRENT_USER
这里,除了前面的定义之外,应该自动添加所有以USER_Data_VIEW1或USER_Data_VIEW2开头的具有结构化特权检查的视图(不包括USER_Data_VIEW1视图)。视图USERsData_VIEW1也没有被检测到,因为下划线('_')被转义了。
8、HDI:SAP HDI ADMIN
HDI hdbfabricvirtualtable插件使您能够从设计时结构虚拟表向虚拟表添加系统所有的副本。可以参考:Fabric Virtual Tables (.hdbfabricvirtualtable)[5].
9、数据导入导出:支持嵌套的parquet数据
通过将一组嵌套值的数据作为JSON格式的单个文本字符串(数据类型为NVARCHAR/NCLOB)写入表,现在支持以拼花格式导入嵌套数据。参考:Importing and Exporting Data[6].
10、通知和metrics: 检查服务的可用性
Metrics API (HDBServiceActive)现在支持一个新的度量来测试服务的可用性。参考:Overview of Available Metrics[7].
11、分区:分区键列的改进
在这个版本中取消了生成列和标识列不能用作分区列的限制。关于分区的详细内容:Table Partitioning[8].
12、计划缓存:自动进行重编译
计划缓存现在可以检测查询的不良性能,然后根据此评估从缓存中删除查询计划条目,以便触发重新编译。内容可以参考:SQL Plan Cache, Auto Recompilation[9].
13、智能数据访问:主要是ABAP cloud and ABAP on-premise remote sources
现在,您可以使用SAP HANA智能数据访问abapodbc适配器,为ABAP云系统或本地ABAP系统的ABAP SQL服务创建远程源。ABAP云或本地远程源是只读的,允许您访问远程ABAP系统中的ABAP CDS视图实体和参数化的ABAP CDS视图实体。
除了对ABAP远程源的支持之外,您现在还可以创建虚拟参数化视图,这些视图指向远程ABAP系统中的远程参数化ABAP CDS视图实体。
有下述文档可以参考:
-
Create an ABAP Cloud Remote Source[10]
-
Create an ABAP On-Premise Remote Source[11]
-
Virtualizing Parameterized Views[12]
14、智能数据访问:SAP HANA云、数据湖关系引擎实例的X.509证书互鉴
现在支持连接到远程SAP HANA Cloud、数据湖关系引擎实例的基于X.509证书的身份验证。对于X.509身份验证,使用凭据类型“X509”创建远程源。详情可参考:
-
Managing Mutual Authentication with X.509 Certificates[13]
-
Create an SAP HANA Cloud, Data Lake Relational Engine Remote Source[14]
15、智能数据访问:对远程数据库支持SAP passport
当接收到入站SAP护照时,现在可以为对远程数据库的请求生成相应的出站SAP护照。出站护照目前只支持SAP HANA云、SAP HANA数据库远程源和SAP HANA本地远程源,基于智能数据集成HanaAdapter适配器或智能数据访问hanaodbc适配器。
相关内容可以参考:SAP Passport for Remote Systems[15].
16、智能数据访问:基于用户的OAuth认证用于Google BigQuery远程数据源
现在可以使用基于会话凭据的基于用户的OAuth身份验证方法。应用程序用户可以专门为他们自己的用户会话设置会话凭据,这允许他们使用自己的凭据向Google Authorization Server进行身份验证。
参考:
-
Managing User-Based OAuth Authentication for Google BigQuery Remote Sources[16]
-
Create a Google BigQuery Remote Source[17]
17、自动预言库:SAP HANA APL 2402
SAP HANA APL 2402集成到了当前版本的HANA Cloud中。
18、自动预言库:Fair ML的增强
PAL_FAIRML函数中增加了新参数FAIR_EXCLUDE_SENSITIVE_VARIABLE,用于决定是否在训练过程中排除敏感变量。默认情况下,敏感变量被排除在外。参考:Fair ML[18].
19、预言分析库:AutoML的增强
-
新的FINETUNE_BESTPIPELINE功能允许您对所选的最佳管道模型进行持续更新。
-
现在在SEARCH_METHOD参数中支持随机搜索,以支持很少的小配置。
-
AutoML日志现在支持通过新添加的过程:PAL_REMOVE_AUTOML_LOG进行删除。
参考:Optimization[19] and AutoML[20].
20、预言分析库:HGBT的增强
-
通过PAL_HGBT方法中OBJ_FUNC参数的新参数值10,为HGBT回归增加一个新的目标函数重加权平方。
-
新增参数VALIDATION_SET_METRIC,指定HGBT提前停止的度量值。
-
在参数EVALUATION_METRIC中添加新的值用于交叉验证:
-
F1_SCORE
-
RECALL
-
PRECISION
-
-
新的参数SCALE_WEIGHT和SCALE_WEIGHT_TARGET被添加到带有指定标签的scale实例权重中。
参考:Hybrid Gradient Boosting Tree[21].
21、预言分析库:pipeline的增强
除了原始的Kernel SHAP方法之外,还为PAL_PIPELINE_FIT函数的EXPLAIN_METHOD参数添加了SHAPGlobal代理模型,以提供一种轻量级的管道解释快速方法。参考:Pipeline[22].
22、预言分析库:文本挖掘功能的大量输入接口
文本挖掘功能增加了一组海量文本项输入函数,如下:
-
批量处理相关文件
-
获取与大规模处理相关的术语
-
批量处理相关文件
-
通过大规模处理获取相关术语
-
获取海量处理的建议术语
参考:Text Mining[23].
23、预言分析库:MLP推荐支持多类分类和回归任务
现在,MLP推荐器可以通过在输入数据表中指定不同的目标来支持多类分类和回归任务。
可以参考:MLP Recommender[24].
24、安全性:有关数据湖文件的安全指南
有关数据湖文件的相关安全指南现在发布在文档:SAP HANA Cloud, Data Lake Files Security Guide[25]. 中。
参考资料
[1]CONCISE_AUDITING Option for Data Lake Relational Engine (SAP HANA DB-Managed): https://help.sap.com/docs/SAP_HANA_DATA_LAKE/a898e08b84f21015969fa437e89860c8/e47cf784a3274b41bbaaa416bcc07d97.html
[2]Alert: https://help.sap.com/docs/HANA_CLOUD/9ae9104a46f74a6583ce5182e7fb20cb/b8cc733919ff40eb8725ef47316c840b.html
[3]sap-hana-cloud-sap-hana-database-administration-guide/locks: https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-administration-guide/locks
[4]sap-hana-cloud-sap-hana-database-administration-guide/cache-management: https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-administration-guide/cache-management
[5]Fabric Virtual Tables (.hdbfabricvirtualtable): https://help.sap.com/docs/HANA_CLOUD_DATABASE/c2cc2e43458d4abda6788049c58143dc/001965588c394dadb02ee999c0d0cda7.html
[6]Importing and Exporting Data: https://help.sap.com/docs/HANA_CLOUD_DATABASE/f9c5015e72e04fffa14d7d4f7267d897/fd45a3b7917349a1a8cbc81e202c5cdd.html
[7]Overview of Available Metrics: https://help.sap.com/docs/HANA_CLOUD_DATABASE/f9c5015e72e04fffa14d7d4f7267d897/46e370ced3ef4d2bbd0ec2337df5f565.html
[8]Table Partitioning: https://help.sap.com/docs/HANA_CLOUD_DATABASE/f9c5015e72e04fffa14d7d4f7267d897/c2ea130bbb571014b024ffeda5090764.html
[9]SQL Plan Cache, Auto Recompilation: https://help.sap.com/docs/HANA_CLOUD_DATABASE/f9c5015e72e04fffa14d7d4f7267d897/f0aaab730a1540758a8f36c9aee2118a.html
[10]Create an ABAP Cloud Remote Source: https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-data-access-guide/create-abap-cloud-remote-source
[11]Create an ABAP On-Premise Remote Source: https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-data-access-guide/create-abap-on-premise-remote-source
[12]Virtualizing Parameterized Views: https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-data-access-guide/virtualizing-parameterized-sql-views
[13]Managing Mutual Authentication with X.509 Certificates: https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-data-access-guide/managing-mutual-authentication-with-x-509-certificates
[14]Create an SAP HANA Cloud, Data Lake Relational Engine Remote Source: https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-data-access-guide/create-sap-hana-cloud-data-lake-relational-engine-remote-source
[15]SAP Passport for Remote Systems: https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-data-access-guide/sap-passport-for-remote-systems
[16]Managing User-Based OAuth Authentication for Google BigQuery Remote Sources: https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-data-access-guide/managing-user-based-oauth-authentication-for-google-bigquery-remote-sources
[17]Create a Google BigQuery Remote Source: https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-data-access-guide/create-google-bigquery-remote-source
[18]Fair ML: https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-predictive-analysis-library/fair-ml
[19]Optimization: https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-predictive-analysis-library/optimization-optimization-d7d821c
[20]AutoML: https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-predictive-analysis-library/automl-automl
[21]Hybrid Gradient Boosting Tree: https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-predictive-analysis-library/hybrid-gradient-boosting-tree-hybrid-gradient-boosting-tree-ca5106c
[22]Pipeline: https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-predictive-analysis-library/pipeline-pipeline-de96493
[23]Text Mining: https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-predictive-analysis-library/text-mining-text-mining-96687ab
[24]MLP Recommender: https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-predictive-analysis-library/mlp-recommender
[25]SAP HANA Cloud, Data Lake Files Security Guide: https://help.sap.com/docs/SAP_HANA_DATA_LAKE/fe412ebedacd454684dcf64bd6cd24bd/dff203d127444abf99000bfd6915b17d.html