云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

游戏服务器_服务器返回码_稳定性好

小七 141 0

一个复杂的HANA数据仓库可能会使用多个DB模式,其中包含表、视图和其他DB对象驻留。E、 例如,可能有一个由SLT管理的复制ERP模式、一个由Netweaver堆栈管理的Netweaver/BW模式和一个"本机"HANA模式,它们都驻留在同一个HANA实例中,并且都由同一个数据仓库应用程序使用。

在数据库级别,只需向用户提供相应的对象权限,就可以访问来自不同模式的表和其他DB对象。同义词可用于方便或改进设计,但不需要。

在基于XS Advanced(XSA)的HANA数据仓库和应用程序中,开发是无模式的。开发人员只能访问为应用程序生成的"本地模式"。访问其他模式中的对象必须通过在本地模式中创建的私有/本地同义词或投影视图来完成。

在这一系列的三篇博客文章中,我将介绍基本概念,展示如何使用同义词访问远程模式中的对象,并解释更复杂的概念,如配置和服务替换。尽管我关注HANA数据仓库,消费返现,但本文也适用于XSA应用程序开发中同义词的一般用法。我将不明确地介绍投影视图,但将它们包括在一个示例repos中。

关于同义词的一般介绍可以在https://blogs.sap.com/2016/12/05/using-synonyms-in-sap-hana/.还有一个简短的介绍,物联网技术,展示了https://blogs.sap.com/2016/07/03/xs-advanced-features-using-synonyms-using-non-hdi-container-schema-objects-in-hdi-container/

我主要考虑以下用例:

从基于XSA的模式(HDI容器)访问经典模式拥有的表,如何成为淘客,例如访问XSA中的现有ERP架构从另一个基于XSA的模式访问一个基于XSA的模式所拥有的表,例如,一个包含数据的模式,另一个基于XSA的DW应用程序访问这些数据运输/部署到另一个环境

下图显示了原理。更改模式名称是可选的。

在XSA DB中,对象驻留在HDI容器中,HDI容器是生成的模式。开发必须以一种无模式的方式进行。这将HDI容器与其他容器完全隔离开来,大数据培训班哪个好,使得将多个容器部署到同一个系统中变得更容易,让多个开发人员彼此独立工作等等。。因此,使用同义词是访问其他模式中对象的指定方法。

在没有任何本地HANA开发的纯SAP BW环境中,您可能不需要这种级别的隔离。但是当多个开发团队的原生HANA开发成为用例的一部分时,HDI容器的隔离是一种非常强大的安全机制,在这方面优于经典的存储库。

在继续之前,我们需要了解XSA的对象所有者和用户概念。为每个HDI容器生成几个预定义的用户。

一个模式所有者(HDI容器/模式的名称)对象所有者(创建并拥有所有对象)应用程序用户(也称为运行时用户,在HDI容器中运行XSA应用程序的HANA用户)其他一些我们不感兴趣的技术用户其他外部用户,例如来自BI工具的用户

下图试图说明不同的HDI容器/模式和涉及的用户:

要执行编码示例中的步骤,需要满足以下前提条件:

您熟悉XSA、Web IDE和SQL的基本概念您可以访问XS高级运行时环境您可以访问SAP HANA的SAP Web IDE您可以访问XS命令行界面客户端您可以访问"经典"数据库模式

一些示例可以访问经典数据库模式中的表。有关如何生成模式的说明的存储库,请参见https://github.com/CGilde/syn-prov-classic.一些示例访问HDI容器中的表。有关如何生成模式的说明的存储库,请参见https://github.com/CGilde/syn-prov-hdi.

完整的编码示例可以在公共github repos中找到https://github.com/CGilde .所有的例子都在HANA 2.0上进行了测试,大数据分析技术,但是大多数特性已经在1.0 SPS12中提供了。

我将用我能想到的最简单的例子来结束。可能HANA中最常用的公共同义词是DUMMY。因为DUMMY是指向表的公共同义词系统虚拟,用于XSA中指向表的私有同义词系统虚拟必须首先定义。

不是发出"CREATE SYNONYM"语句,而是在项目的db文件夹中包含一个.hdbsynonym文件,使用图形编辑器:

或包含一个文件:

为了简单起见,不使用任何名称空间(.hdinamespace file with empty name and option"subfolder":"ignore")。

为了测试同义词,通过包含一个文件测试创建一个短函数_函数HDB函数在项目的db文件夹中。此函数使用新创建的同义词DUMMY,可以从HANA运行时工具(hrtt)调用。

在hrtt/数据库资源管理器中执行此函数将为生成的HDI容器的应用程序用户提供结果(有关HDI中涉及的不同用户的详细信息,请参见上文)。

可以找到此示例的repo在https://github.com/CGilde/syn-dummy

解释了XSA中同义词的基本概念和涉及的用户,并给出了一个非常简单的例子。这个例子稍微简化了同义词的创建,因为我们不必考虑特权。生成的HDI用户已经具有访问所需的对象特权系统虚拟默认情况下,