CN103870536B - 用于内存数据库处理的系统和方法 - Google Patents
用于内存数据库处理的系统和方法 Download PDFInfo
- Publication number
- CN103870536B CN103870536B CN201310692979.9A CN201310692979A CN103870536B CN 103870536 B CN103870536 B CN 103870536B CN 201310692979 A CN201310692979 A CN 201310692979A CN 103870536 B CN103870536 B CN 103870536B
- Authority
- CN
- China
- Prior art keywords
- duplication
- data
- column
- business object
- view
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012545 processing Methods 0.000 title claims abstract description 11
- 230000010076 replication Effects 0.000 claims description 66
- 238000003860 storage Methods 0.000 claims description 49
- 238000013439 planning Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 6
- 230000003362 replicative effect Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 abstract description 9
- 230000008569 process Effects 0.000 description 23
- 238000013507 mapping Methods 0.000 description 10
- 239000000872 buffer Substances 0.000 description 9
- 238000013500 data storage Methods 0.000 description 9
- 230000002085 persistent effect Effects 0.000 description 9
- 238000007726 management method Methods 0.000 description 8
- 230000002688 persistence Effects 0.000 description 8
- WVCHIGAIXREVNS-UHFFFAOYSA-N 2-hydroxy-1,4-naphthoquinone Chemical compound C1=CC=C2C(O)=CC(=O)C(=O)C2=C1 WVCHIGAIXREVNS-UHFFFAOYSA-N 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 239000003795 chemical substances by application Substances 0.000 description 5
- 238000007792 addition Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000013068 supply chain management Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 206010000210 abortion Diseases 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013506 data mapping Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000012536 storage buffer Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Tourism & Hospitality (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
提供了用于内存数据库处理的系统、方法和计算机程序产品。在第一系统中生成业务对象。将所生成的业务对象从第一系统复制到第二系统。基于至少一个系统特定视图,运行用于实施所复制的业务对象的高性能应用。
Description
技术领域
本公开一般涉及数据处理,而且具体地,涉及内存数据库处理。
背景技术
企业在它们的业务操作中使用多个业务流程应用和/或服务。应用和/或服务可以是最终用户运行以完成特定任务的程序,并且可以与一个或多个后端系统协同工作,所述一个或多个后端系统可以存储将基于其工作的数据,诸如例如业务对象和其他业务数据,以及用于操纵所述数据的逻辑,诸如例如事务或其他业务逻辑。后端系统的例子可以包括数据库系统、企业资源规划(“ERP”)系统和客户关系管理(“CRM”)系统。用户接口(“UI”)可以被设计为与应用程序一起工作,并且通过邀请和响应用户输入来促进人与计算机之间的交互。为了完成各种任务,用户可以启动各种应用、任务、代理等,它们可以以不同的方式操纵数据以便实现用户所希望的结果。
用户可以设计和/或创建各种业务流程对象,诸如销售订单、发票等。可以使用任何已知的计算系统和语言(例如,这样的一个示例性语言包括高级企业应用编程(“advanced business application programming,ABAP”)高级编程语言,它可从德国瓦尔多夫的SAP AG获得)来创建业务对象。这样创建的对象可以被存储在存储器中,诸如数据库中。这样的数据库的例子包括高性能分析工具(“High-Performance Analytic Appliance,HANA”),它是可从德国瓦尔多夫的SAP AG获得的面向列的(column-oriented)内存数据库应用。每个创建的对象与创建和/或存储它的系统特定的具体视图一起出现。这可以意味着创建和/或存储对象(例如,表)的系统的视图可能相互不同且彼此未知。这可能阻碍了用户在存储系统中访问可以在创建该对象的系统中访问的业务对象,反之亦然。这样,用户无法以成本和时间高效的方式使用这样的应用和/或服务。
发明内容
在一些实现方式中,当前主题涉及用于内存数据库处理的计算机实施的方法。该方法可以包括:在第一系统中生成业务对象,将所生成的业务对象从第一系统复制到第二系统,以及基于至少一个系统特定视图,运行用于实施所复制的业务对象的高性能应用。所述生成、所述复制、和所述运行中的至少一个可以在至少一个处理器上执行。
在一些实现方式中,当前主题可以包括以下可选特征中的一个或多个。第一系统可以是企业资源规划系统。第二系统可以是高性能分析工具内存数据库系统(highperformance analytic appliance in-memory database system)。
在一些实现方式中,运行高性能应用可以包括:从第一系统获得业务对象的元数据,向第二系统提供所获得的元数据,使用所提供的元数据来提供对第二系统中的至少一个业务对象的访问,以及基于所述至少一个系统特定视图生成第一系统和第二系统中的至少一个中的至少一个工件。
在一些实现方式中,复制所生成的业务对象可以基于存储在第二系统中的至少一个复制架构(replication schema)来执行。业务对象可以包括包含至少一列和至少一行的表。数据复制器模块可以通过执行以下操作中的至少一个来执行业务对象的复制:接管所述表中的至少一列,接管被添加到第一系统中的所述表的元数据,重命名第二系统中的所述表,可选地指定与用于接管的表相关联的至少一个外键,可选地指定与用于接管的表相关联的至少一个索引,指定用于存储第二系统中的所述表的行存储或列存储中的至少一个,添加列,去除列,和提供至少一个数据类型映射。数据复制器模块可以创建以下各项中的至少一个:用于提供对第二系统中的复制的表的访问的复制投影视图,和用于提供对第二系统的OpenSQL访问的外部视图。
还描述了计算机程序产品,其包括存储指令的非临时性计算机可读介质,当一个或多个计算系统中的一个或多个数据处理器执行所述指令时,所述指令使所述至少一个处理器执行这里的操作。类似地,还描述了计算机系统,其可以包括一个或多个数据处理器和耦合到所述一个或多个数据处理器的存储器。存储器可以临时或永久地存储使至少一个处理器执行这里所描述的一个或多个操作的指令。此外,方法可以通过要么在单一计算系统内要么在两个或更多个计算系统中分布的一个或多个数据处理器来实施。
这里所描述的主题的一个或多个变体的细节在附图和下面的描述中阐明。根据说明书和附图以及权利要求,这里所描述的主题的其他特征和优点将是明显的。
附图说明
附图被并入说明书并构成说明书的一部分,其与说明书一起示出这里所公开的主题的某些方面,帮助解释与所公开的实现方式相关联的一些原理。在附图中:
图1示出了示例性元数据复制系统;
图2示出了根据当前主题的一些实现方式的用于执行元数据复制的示例性下一代ABAP平台(NGAP)系统;
图3示出了根据当前主题的一些实现方式的示例性下一代ABAP平台(NGAP)系统内存数据库;
图4示出了根据当前主题的一些实现方式的用于从系统(例如,后端系统)复制表元数据的示例性过程;
图5示出了根据当前主题的一些实现方式的用于元数据的复制的示例性控制表;
图6示出了根据当前主题的一些实现方式的用于操作复制的表的示例性过程;
图7是示出了根据当前主题的一些实现方式的包括数据存储应用的示例性系统的示图;
图8是示出图7的系统的细节的示图;
图9示出了根据当前主题的一些实现方式的示例性系统;以及
图10示出了根据当前主题的一些实现方式的示例性方法。
具体实施方式
在一些实现方式中,当前主题涉及用于将高性能分析工具(“HANA”)数据库系统耦合到高级企业应用编程(“ABAP”)系统中的系统和方法。出于分析大量数据的目的,当前主题可以提供内存数据库(“IMDB”)和搜索引擎。当前主题还可以将IMDB系统联接到生产企业资源规划(“ERP”)系统,将ERP系统中的数据复制到IMDB系统,并使用不同种类的视图(例如,分析视图和/或计算视图)在IMDB系统上构建高性能应用(“HPA”)。
在一些实现方式中,HPA可以在复制的数据上工作。基于分析视图和/或计算视图,HPA可以从ERP系统获得表的元数据并将其提供给复制系统,在初始数据加载阶段之后定期更新表的内容,经由OpenSQL提供对不同数据库对象的访问,并传送和交付与HPA运行相关联的ABAP和数据库工件(artifact)。复制系统可以通过使用复制控制表来确定哪些表的元数据应该被复制,来执行表的元数据的复制。一旦确定了表的元数据,复制系统就定义至少一个复制投影视图(replication projection view)。然后,该系统复制所确定的表的元数据,并打开复制投影视图以用于OpenSQL运行。所确定的元数据还可以被维护以用于外部IMDB视图,所述外部IMDB视图可以提供给传送表复制元数据的数据字典。
图1示出了示例性元数据复制系统100,其可以将ERP系统102中的元数据复制到IMDB系统106。ERP系统102可以包括字典114和数据库110,其中数据库110可以是任意数据库。示例性的ERP系统和IMDB系统可以从德国瓦尔多夫的SAP AG获得。系统100可以进一步包括中间件系统104,其可以通信地耦合到ERP系统102和IMDB系统106。中间件系统104可以包括字典复制器模块116、带有复制控制模块120的字典118、和数据库112。
为了执行复制,中间件系统104中的字典复制器116可以读取从字典118中的复制控制模块120获得的复制控制数据。复制控制数据可以包括指示如何复制表的各种属性和/或参数,并且可以包括,例如,将被选择以用于复制的表中的数据、将被选择以用于复制的客户特定数据、作为复制的结果将被复制的表的名称是否将被改变、与将被复制的表相关联的外键和索引是否被选择以用于复制、在复制过程中是否使用行或列存储、作为表的复制的结果是否将移除数据、作为表的复制的结果是否将添加数据、作为复制的结果是否应该添加和/或从表中移除列、以及可以指示对将被复制的表执行哪些操作的任何其他信息。字典复制器116然后可以从ERP系统102的字典114获得表元数据。接着,复制器116可以将所获得的表元数据和任何其他相关联的数据(其中,表元数据和其他数据可以包括,例如,列描述或定义、数据类型(例如,char(n)、整数等)、外键(foreign key)和参考字段(reference field)(例如,CURR或QUAN数据类型)、索引、客户特定数据、和/或任何其他数据)适配和写入到字典118,并将其存储在中间件系统104中的数据库112(其可以是任意数据库)。中间件系统104可以执行可以基于复制控制数据的各种操作,以确保根据这样的复制控制数据将表从ERP系统102复制到IMDB系统106。由中间件系统104根据复制控制数据复制的表被存储在IMDB106中。因此,IMDB106和中间件系统104可以允许从ERP系统102复制元数据。中间件系统104可以包括HPA应用(未示出),其可以在ABAP运行时环境中运行。在一些实现方式中,Java应用也可以被运行,并且可以管理数据分析。
在一些实现方式中,元数据复制可以由系统200执行,该系统200可以包括通信地耦合到下一代ABAP平台(“NGAP”)系统202的ERP系统102,如图2所示。NGAP系统202可以合并图1所示的中间件系统104和IMDB106。
NGAP系统202可以包括字典复制器模块204、可以包括复制控制模块218的字典206、IMDB210、以及ABAP编程和OpenSQL模块208,其可以包括至少一个运行时对象216。IMDB218可以包括ABAP架构(schema)212和复制架构214。为了开始元数据复制,字典复制器模块204可以读取复制控制数据(这样的数据的例子在上面已讨论),该复制控制数据可以由字典206中的复制控制模块218来提供。ERP系统102中的字典模块110可以将表元数据(表元数据的例子在上面已讨论)提供给字典复制器模块204。复制器模块204然后可以将接收到的表元数据和复制控制数据适配和写入到字典218中,并将其存储在IMDB210中。接收到的表元数据和复制控制数据也可以被提供给ABAP编程和OpenSQL模块208,以用于运行数据操作语言(“data manipulation languag,DML”)语句并将它们提供给IMDB210。
在一些实现方式中,字典复制器模块204可以执行以下操作中的至少一个:接管(overtake)(或者要不然选择,以用于从一个系统到另一系统(例如,ERP系统到复制系统)的传送)每个选择的透明表的指定的列的集合、接管添加到ERP系统中的表的客户元数据、重命名复制系统中的表、主动指定(offer to specify)外键和索引是否应该被接管、主动指定行或列存储、删除数据元素和域信息、允许添加用于源系统分离的键列(key column)、允许添加数据列、允许移除列、提供合理的数据类型映射、和/或允许定义其中应用必须可执行的最小ERP版本、和/或任何其它功能和/或它们的各种组合。
为了接管表的不同元数据部分,系统200可以获得至少数据类型信息,其可以包括表中所包含的数据的长度和小数位长(length and decimals of data)、外键和索引、关于表的约束、和/或任何其他表参数。进一步的技术设置可以被包括,因为它们可以包含关于表是否存储在IMDB210的行或列存储中的信息。为了接管客户特定的元数据,客户特定的数据可以位于ERP源系统并且可以从ERP源系统获得。为了添加或重命名表中的列,在复制过程中可以包括数据库级别(database level)上的表的附加键、数据列和/或第二名称。这些都可以从不同的ERP源系统复制,而无需多次复制相同的表。此外,(多个)列可以从正在被复制的原始表中排除。为了执行数据类型映射,真实的数据类型可以被映射到数据库中的数据类型(例如,日期和时间数据类型被映射到数据库中的DATE(日期)和TIME(时间)数据类型)。这样的数据映射可以根据包含相应数据类型的特定列来执行。
下面提供了对NGAP系统202中的字典复制器模块204的体系结构(architecture)的概括讨论。字典复制器模块204可以是可以接管从一个系统到另一个系统的数据库表的元数据的工具。字典复制器模块204可以执行上面讨论的与元数据复制有关系的功能。它可以通过考虑客户特定的元数据来创建运行时信息以及生成并执行包括在(多个)表中的(多个)数据库定义。如果需要,可以创建和/或更新IMDB210中的附加数据库表示。
字典复制器模块204可以创建两个不同的视图。一个视图可以是复制投影视图,并可以允许使用OpenSQL访问复制的表。另一视图可以是外部视图,其可以提供对IMDB计算和/或属性视图的OpenSQL访问。字典复制器模块204可以对以下的复制控制表进行操作,以下的复制控制表可以包括作为键列的应用名称和表名称:
·DDREPLICATOR表,它可以包含主体和首标信息,诸如复制表的名称和/或最小版本;另外,它可以包括控制信息,诸如用于表的复制过程和/或在表已经被复制的情况下的返回代码;
·DDREPLINDATA表,它可以包含有关现有的(多个)表的将要添加和/或插入和/或数据类型映射的列的信息;
·DDREPLICREF表,它可以包含数据处理现有外键和参考字段,例如,它可以是将在复制系统中引用的表的名称;以及
·DDREPLICNVDATA表,其中可以包含用于(多个)表中的单一列的类型转换信息。
对于每个表,可以检查复制控制数据的一致性。如果成功地执行了该检查,则可以从源系统读取表的元数据,其包括客户特定的附加和CI包括信息(Append-and CI-includeinformation)。不能在目标系统中使用的所有的元数据都可以被除去和操纵,以使得剩余的元数据可以写在目标系统ABAP字典(在图2中未示出)中。如果需要,则根据复制控制数据,可以改变表的名称,可以添加、插入甚或删除列、并且可以执行数据类型映射。外键和参考表和字段可以被适配或者甚至完全去除。
复制的表或表的复制部分与如由复制控制数据所定义的任何相关联的表元数据和/或其他数据(如上面所讨论的)一起,可以被写入作为本地对象,并且可以被放置在本地开发组件中。在应用的开发过程中,复制的表或表的复制部分可以被用于构建(多个)运行时对象,应用语句可以被运行,而且任何其他操作可以被执行。
在一些实现方式中,可以使用字典复制器模块204创建各种视图。应用可以包括一个或多个复制投影视图,其可以被用于经由OpenSQL访问复制的表。视图的定义可以在表DDREPLICATORVI中维护,表DDREPLICATORVI可以包含以下信息:
·ALLIICATION(应用):视图所属的当前应用;
·OBJECTNAME(对象名称):数据字典中视图的名称;
·OBJECTTYPE(对象类型):视图;
·VIEWCLASS(视图类):R(复制投影视图);
·COLUMN(列):提供具有由SPACE(空格)分开的字典类型和长度信息的所有列;
·BASETABLE(基础表):复制表的名称;
·DEVCLASS(DEV类):构造的投影视图。
字典复制器模块204可以使用应用名称和“创建投影视图”参数在字典218中创建投影视图,所述应用名称和“创建投影视图”参数可以在用户接口上提供给用户。然后可以使用DDREPLICATORVI信息在字典218中创建并激活投影视图。也可以使用字典复制器,通过使用在字典复制器模块204中提供的“表和投影视图复制”功能,在数据库中创建该视图。投影视图的创建可以按如下方式执行:(1)对于每个应用复制上面讨论的字典复制表以及它们的内容和元数据信息,以及(2)在数据库中创建或重新加载这些表。
在一些实现方式中,即使每个应用针对这些表创建其自己的复制版本,这些表也可以在一些应用中使用(或重新使用)。如果应用针对复制的表使用相同的名称,则这样的重新使用是可以的。为了做到这一点,即使源系统(用于复制到目标系统的表可以来自于该源系统)以及表定义和表的复制控制数据与同于目标系统中的不同,表的列和/或整个表也可以在整个复制过程中被保留。
图3示出了根据当前主题的一些实现方式的耦合到内存数据库的示例性NGAP系统300。系统300可以类似于图2中所示的系统202。系统300可以包括字典/运行时对象模块302、利用OpenSQL的ABAP代码模块304、和IMDB306。模块302可以包括字典复制器模块310和复制的表T1 314、外部视图V2 312和表T1 314的复制的投影视图V_T1 316。模块304可以包括代码(图3中示出),其可以执行可以帮助在模块302和IMDB306之间接口的各种功能。IMDB306可以包括如上所讨论的各种复制架构。如图3所示,IMDB306可以包括用于存储表T1314的复制的默认架构318、用于根据架构S1存储复制的表S1.T1(它被存储为S1.V_T1)的架构S1320、以及可以提供分析视图和计算视图S2.V3的架构S2 322。字典复制器模块310可以在NGAP高性能应用(HPA)中用于处理HPA的工件以允许它们在包括OpenSQL访问的ABAP环境中使用。字典复制器模块310可以在NGAP系统300中运行,NGAP系统300可以在IMDB306的上面构建,如图3所示。HPA可以使用数据库默认架构318来控制应用、将第二数据库架构S1320用于复制的表和投影视图、以及使用第三数据库架构S2 322来提供复制的表的分析和/或计算视图。
图4示出了根据当前主题的一些实现方式的用于从系统(例如后端系统)复制表元数据的示例性过程400。该过程可以包括确定表元数据(402)、定义复制投影视图(404)、复制表并打开投影视图以供OpenSQL运行(406)、维护外部视图(例如,IMDB视图)的元数据(408)、向数据字典提供外部视图(410)、将表复制元数据传递到数据字典中(412)、以及可选地,创建日志(414)。下面更详细地讨论这些操作中的每一个。
为了确定用于复制的表元数据(402),确定将在复制数据库架构中复制表的定义的哪个(哪些)部分。这个信息可以在图5所示的若干个复制控制表500中定义。复制控制表500可以包括用于包含主表数据的控制表DDREPLICATOR 502、用于添加和/或插入表列的控制表DDREPLINDATA 504、用于保留外键的控制表DDREPLICREF 506、和/或用于改变现有的表列的类型的控制表DDREPLICNVDATA 508。
控制表DDREPLICATOR 502可以是字典复制器模块的主控制表。它可以控制表复制和视图创建,并且可以允许定义表元数据。DDREPLICATOR 表502可以包括以下字段中的至少一个:应用的名称、对象的类型和它的原始名称。这些信息可以构建DDREPLICATOR表502的主键。这些字段可以是每个控制表502-508的一部分。应用的名称可以包含任意名称,而且可以受字符数目的限制(例如,60个字符)。可以选择复制数据库架构中的表的新的名称NEWNAME、以及将从后端系统接管的字符串字段COLUMNS中的列名称。在DDREPLICATOR表502中的表列可以使用下列参数中的至少一个来复制:列DBNAMENEW、列ROWORCOLST、列EXISTCHECK和DROPCREATE。列DBNAMENEW可以拥有第二表名称,该第二表名称可以在数据库中的表的名称需要不同于数据字典中复制的表的情况下填写。列ROWORCOLST可以在IMDB行存储(值R)和/或列存储(值C)中创建。列EXISTCHECK可以在数据库中检查表的存在。DROPCREATE参数可以用于撤销并重新创建表。表中的外键和索引可以被保留,并且可以在复制过程中分别使用诸如PRESERVE_FK和PRESERVE_INDX的适当参数来接管。
控制表DDREPLINDATA 504可以用于执行表列的添加和/或插入。可以通过将控制数据插入到表DDREPLINDATA来添加新的列。类似于主控制表,可以提供应用名称、对象类型TABL和表的名称。此外,可以提供新的列名称FIELDNAMENEW、以及关于列是否应该被添加(KIND=ADD)和/或插入(KIND=INSERT)的信息。添加和/或插入功能可以包括以下参数:代表字典数据类型的DATATYPE(数据类型)、代表字典长度的LENGTH(长度)、以及如果新的列具有小数类型则代表小数位的数目的DECIMALS(小数位数)。为了插入列,也可以定义COLPOSITION中的插入位置。
控制表DDREPLICREF 506可以用于在复制过程中保留外键。为了保留外键,检查表和参考表可以被复制,而且如果NGAP系统中存在复制的表,则外键和/或参考字段可以指向该表。在复制过程中,可以使用列APPLICATION(应用)、OBJNAME(对象名称)和OBJTYPE(对象类型)将数据写入DDREPLICREF。保留外键的过程可以涉及在列FIELDNAME中提供所谈论的字段的名称、在列KIND(种类)中选择用于检查表的值CHECKTAB(检查表)和用于参考表的REFTAB(参考表)、当KIND列是CHECKTAB时提供CHECKTABLE,并且当KIND列是REFTAB是添加REFTABLE和REFFIELD。
控制表DDREPLICNVDATA 508可以用于改变现有的表列的类型。为了改变现有的表列的类型,可以提供列APPLICATION、OBJNAME和OBJTYPE的信息,而且可以执行以下操作:插入指示需要被重新定义的数据类型的FIELDNAME、提供指示改变的类型的KIND=TYPECHG、提供指示字典数据类型的DATATYPE、提供指示字典长度的LENGTH、以及如果新的列应该是小数类型则提供指示小数位的数目的DECIMALS。可以使用字典以及数据库中的新的数据类型来创建复制系统中的目标表。在一些实现方式中,原始表和复制的表的数据类型可以是兼容的,以确保表内容传送。
根据当前主题的一些实现方式,可以使用表DDREPLICATORVI来定义复制投影视图(在图4中示出的404处)。为此,可以提供列APPLICATION、OBJNAME和OBJTYPE中的应用的名称、列的类型和名称。所述类型可以是VIEW(视图),而且所述名称可以包含任意数目的字符(例如,30个字符),并且可以被进行正确性检查。VIEWCLASS(视图类)可以是R,其可以对应于复制投影视图,而且基础表的名称可以在字段BASETABLE中提供。新的表的名称可以在DDREPLICATOR–NEWNAME中选择。此外,可以提供字段DEVCLASS和视图列定义,它们可以是在字段COLUMNS中定义的基础表的列的子集。附加字段可以包括DONE(完成)和RC,DONE指示视图已经被处理,RC对应于可以提供关于各种动作的信息和返回代码的结果返回代码。一旦复制投影视图被定义,它们就可以被传递到字典。
复制表和打开投影视图以供OpenSQL运行(在图4中示出的406处)可以涉及以下操作:选择表和投影视图复制、提供连接信息、并填充任何输入字段。所述信息可以包括关于包含用于复制的表的源系统的信息、以及关于源系统和目标系统(例如,图3所示的NGAP系统的IMDB中的目标架构的名称TS1)之间的连接的信息。复制可以包括:创建本地临时对象,其可以表示存在于数据字典中以及IMDB中的架构S1中的数据库中的当前应用的表;以及使用复制投影视图在这些表上运行OpenSQL。所述视图可以作为默认架构中的数据库视图存在并且在复制架构TS1中的表上选择。在此之后,表的内容可以从源系统被复制到目标系统。
现在,表在IMDB架构TS1中可用,可以维护外部视图的元数据(在图4中所示的408处),这指示现在可以使用IMDB直接在数据库中定义具有计算、分析和属性视图的计算和分析模型。这可以使用图3中所示的架构TS2来完成。
然后,可以将外部视图提供给数据字典(在图4中所示的410处)。假设某些计算、分析和属性视图存在于架构TS2中的数据库中,视图可以被接管到数据字典中。可以使用控制表DDREPLICATORVI。此外,可以维护DBVIEWNAME,而且可以输入IMDB视图的名称。可以调用用于应用的报告RADDDREPLICATOR,并且可以启动在数据字典中创建外部视图并提供架构名称(例如,TS2)。一旦视图被创建,它就可以在OpenSQL使用。
一旦数据字典中的复制的表、复制投影视图和外部视图被确定,就可以进行传递操作(在图4中所示的412处)。传递(transport)可以包括将表复制元数据传递到字典中。表复制元数据可以包括针对特定应用名称的表DDRREPLICATOR、DDREPLINDATA、DDREPLICREF和DDREPLICNVDATA的条目。视图可以相对于复制字典元数据被激活和验证。
在一些实现方式中,可以为在复制过程中执行的每一操作准备可选的日志(在图4中所示的414处)。
当表从源系统被复制到目标系统时,用户可以在复制的表上工作。图6示出了根据当前主题的一些实现方式的用于在复制的表上工作的示例性过程600。过程600可以包括:在602处访问复制的表,在604处构建高性能应用(HPA),在606处实现用于HANA工件的OpenSQL,并在608处运行高性能应用(HPA)。
对复制表602的访问可以包括:为将要复制的表维护DDREPLICATOR,为每个复制投影视图维护DDREPLICATORVI,并启动字典复制器。构建高性能应用(HPA)604可以基于复制的表,通过在ABAP工件中对复制投影视图使用OpenSQL并且将它们指定为类、接口和/或报告来完成。HPA可以使用数据库对象,所述数据库对象可以使用HANA建模器来定义和创建。所述数据库对象可以是属性、分析和/或计算视图。实现用于HANA工件的OpenSQL606可以包括:在复制NGAP系统的ABAP运行时提供数据库视图的列描述信息并且将所提供的列描述重定向到视图数据库架构(它可以不同于NGAP默认架构)。提供列描述信息可以包括从数据库本身的元数据读取视图元数据,接管列信息并且根据字典类型对其映射。重定向所提供的列视图可以包括:利用数据库中视图的名称的同义词(synonyms)工作。因此,字典中的外部视图可以用来确定哪个数据库视图应该被访问。这个信息可以被维护在DDREPLICATORVI控制表中并且可以包括:
·APPLICATION,对应于视图所属的当前应用;
·OBJECTNAME,对应于数据字典中视图的名称;
·OBJECTTYPE,对应于视图;
·VIEWCLASSX;
·BASETABLE,它可以与OBJECTNAME相同;
·DBVIEWNAME,它可以是IMDB视图的名称;以及
·DEVCLASS,对应于结构化的外部视图的包(package)。
运行HPA 608可以包括:使用表和投影视图复制操作来启动字典复制器。因此,运行操作608可以涉及在数据库上复制表和创建复制投影视图。字典复制器可以被调用,应用的名称可以被提供而且表和投影视图复制操作可以被启动。一旦提供了适当的信息以及复制架构时,就可以执行表的复制以在数据库上创建复制的表和投影视图。
在一些实现方式中,当前主题可以在各种不同的内存数据库系统中实施,诸如由德国瓦尔多夫的SAP AG开发的高性能分析工具(“HANA”)系统。各种系统,如企业资源规划(“ERP”)系统、供应链管理系统(“SCM”)系统、供应商关系管理(“SRM”)系统、客户关系管理(“CRM”)系统、和/或其他系统可以,出于例如访问数据的目的,与内存系统进行交互。其它系统和/或系统的组合可以用于当前主题的实现方式。下面讨论示例性内存系统。
图7示出了根据当前主题的一些实现方式的示例性系统700,其中,计算系统702可以包括可以通过一个或多个网络并置、链接的一个或多个可编程处理器等,而且计算系统702运行数据存储应用704的一个或多个模块、软件组件等。数据存储应用704可以包括一个或多个数据库、企业资源程序、分布式存储系统(例如,可从加州的桑尼维尔的NetApp获得的NetApp Filer)等。
一个或多个模块、软件组件等可以由计算机系统702的本地用户访问,而且可以由通过网络连接710从一个或多个客户端机器706访问计算系统702的远程用户访问。由一个或多个第一模块产生的一个或多个用户接口屏幕可以要么经由本地显示器要么经由与客户端机器706之一相关联的显示器被显示给用户。数据存储应用704的数据单元可以被临时存储在持久层712(例如,页缓冲器或其它类型的临时持久层),其可以,例如经由输入/输出组件716,以存储页的形式将数据写到一个或多个存储装置714。一个或多个存储装置714可以包括一个或多个物理存储介质或设备(例如硬盘驱动器、持久性快闪存储器、随机存取存储器、光介质、磁介质等),其被配置为写入数据以用于长期存储。应当注意的是,存储装置714和输入/输出组件716可以被包括在计算系统702中,尽管在图7中被示出在计算系统702的外部。
保留在长期存储装置714中的数据可以以页来组织,每个页已经分配有定义的存储空间量。在一些实现方式中,分配给每个页的存储空间量可以是恒定的和固定的。然而,分配给每个页的存储空间量可以变化的其它实现方式也在当前主题的范围之内。
图8示出了根据当前主题的一些实现方式的示例性软件体系结构800。可以以一个或多个硬件和软件来实施的数据存储应用704可以包括数据库应用、连接网络的存储系统等中的一个或多个。根据当前主题的至少一些实现方式,这样的数据存储应用704可以包括持久层712或其他类型的存储缓冲器,或者要不然例如经由持久性接口802与持久层712或其他类型的缓冲存储器接口。持久层712内的页缓冲器804可以存储一个或多个逻辑页806,并且可选地可以包括影子页、活动页等。保留在持久层712中的逻辑页806可以经由输入/输出组件716被写到存储装置(例如,更长期的存储装置等)714,输入/输出组件716可以是软件模块、在一个或多个软件和硬件中实施的子系统等。存储装置714可以包括一个或多个数据卷810,其中存储的页812被分配在物理存储块处。
在一些实现方式中,数据存储应用704可以包括页管理器814和/或保存点管理器816,或者要不然与页管理器814和/或保存点管理器816通信。页管理器814可以在持久层712与页管理模块820通信,页管理模块820可以包括空闲块管理器822,用于监视页状态信息824,例如存储装置714内的物理页和持久层712中(和可选地页缓冲器804中)的逻辑页的状态。保存点管理器816可以在持久层712与保存点协调器826通信以处理保存点,所述保存点被用于创建数据库的一致持久状态以用于在可能的崩溃之后的重启。
在数据存储应用704的一些实现方式中,持久层712的页管理模块可以实现影子分页(shadow paging)。页管理模块820内的空闲块管理器822可以维护物理页的状态。页缓冲器804可以包括像这里所讨论的一样进行操作的固定页状态缓冲器。转换器组件840可以是页管理模块820的一部分或者可以与页管理模块820通信,而且转换器组件840可以负责在写入存储装置714的逻辑页和物理页之间映射。转换器840可以在转换器表842中维护逻辑页到相应物理页的当前映射。转换器840可以在一个或多个转换器表842中维护逻辑页806到相应物理页的当前映射。当从存储装置714读取逻辑页806时,可以使用转换器840从一个或多个转换器表842查找将被加载的存储页。当在保存点之后第一次将逻辑页写入存储装置714时,新的空闲物理页被分配给逻辑页。空闲块管理器822将新的物理页标记为“已使用”,而且新的映射被存储在一个或多个转换器表842中。
持久层712可以确保:在数据存储应用704中所做的改变是耐久的,而且数据存储应用704可以在重启之后被还原到最近的提交状态。将数据写到存储装置714不必与写入事务的结束同步。因此,当写入事务完成时,未提交的改变可能被写入盘,而且提交的改变可能还没有被写入盘。在系统崩溃后,由未完成的事务所做的改变可以被回滚(roll back)。由已提交的事务导致的改变不应该在这个过程中丢失。还可以包括日志器组件844,以便在线性日志中存储对数据存储应用的数据所做的改变。在恢复期间可以使用日志器组件844来重放从最后的保存点开始的操作以确保:在恢复过程结束时所有操作都被应用于数据以及在回滚仍然开启的事务之前具有记入日志的“提交”记录的事务被提交。
对于某些数据存储应用,将数据写到盘不必与写入事务的结束同步。可能发生这样的情况,即,当写入事务完成时,未提交的改变被写入盘,而同时,提交的改变尚未写入盘。在系统崩溃后,未完成的事务所做的改变必须被回滚而且由已提交的事务导致的改变一定不能丢失。
为了确保已提交的改变不丢失,每当做出改变时,可以由日志器组件844写入重做(redo)日志信息。这个信息可以最迟在事务结束时被写入盘。日志条目可以持久保持在单独的日志卷中,而普通数据被写入数据卷。利用重做日志,即使相应的数据页没有被写入盘,也可以将已提交的改变还原。对于撤消(undoing)的未提交的改变,持久层712可以使用撤销日志条目(来自一个或多个日志)和影式分页的组合。
持久接口802可以处理存储装置(例如,内存存储装置等)的读取和写入请求。持久接口802还可以提供用于写入数据同时记日志和写入数据但不记日志的写入方法。如果使用有日志的写入操作,则持久接口802调用日志器844。此外,日志器844提供接口,以允许存储装置(例如,内存存储装置等)直接添加日志条目到日志队列。日志器接口还提供用于请求将内存日志队列中的日志条目清除(flush)到盘上的方法。
日志条目包含日志序列号、日志条目的类型和事务的标识符。根据操作类型,由日志器844将附加信息记入日志。对于“更新”类型的条目,例如,这将是受影响的记录的标识和修改后的数据的后像(after image)。
当重启数据应用704后,日志条目需要被处理。为了加快这一过程,并不总是从一开始就处理重做日志。相反,正如上文所述,可以定期执行保存点,以将自最后的保存点之后所做的所有改变都写入盘(例如,内存等)。当启动系统时,只有在最后的保存点之后创建的日志才需要被处理。在下一次备份操作后,保存点位置之前的旧日志条目可以被删除。
当日志器844被调用以用于写入日志条目时,日志器844不会立即写入盘。相反,日志器844可以把日志条目写入内存中的日志队列。日志队列中的条目最迟可以在相应的事务完成(提交或中止)时被写入盘。为了保证已提交的改变不丢失,在相应的日志条目被清除到盘上之前,提交操作不被成功完成。将日志队列条目写入盘也可以由其他事件触发,例如,当日志队列页被写满或者当保存点被执行时。
利用当前主题,日志器844可以按自然顺序(例如,连续顺序等)将数据库日志(或这里简称为“日志”)依次写入存储缓冲器。如果若干个物理硬盘/存储设备用于存储日志数据,则可以定义若干个日志分区。此后,日志器844(其如上所述用于生成和组织日志数据)可以对日志缓冲器的写入在所有可用的日志分区上进行负载均衡。在一些情况下,负载均衡根据轮叫(round-robin)分布方案,其中,各个写入操作按照顺序和连续的方式被定向到日志缓冲器中。利用这种布置,被写入多分区日志的特定分区的单个日志段的日志缓冲器是不连续的。然而,在恢复期间,日志缓冲器可以从所有分区的日志段重新排序到正确的顺序。
如上所述,数据存储应用704可以使用影子分页,以使得保存点管理器816可以写入事务一致(transactionally-consistent)的保存点。利用这种布置,数据备份包括特定保存点中所包含的所有数据页的副本,其将作为数据备份过程的第一步来完成。当前主题也可以应用于其它类型的数据页存储装置。
在一些实现方式中,当前主题可以被配置为在系统900中实施,如图9中所示。系统900可以包括处理器910、存储器920、存储设备930、和输入/输出设备940。组件910、920、930和940中的每一个可以使用系统总线950互连。处理器910可以被配置为处理在系统900内运行的指令。在一些实现方式中,处理器910可以是单线程处理器。在可替换的实现方式中,处理器910可以是多线程处理器。处理器910可以进一步被配置为处理存储在存储器920或存储设备930中的指令,包括通过输入/输出设备940接收或发送信息。存储器920可以将信息存储在系统900内。在一些实现方式中,存储器920可以是计算机可读介质。在可替换的实现方式中,存储器920可以是易失性存储器单元。在另一些实现方式中,存储器920可以是非易失性存储器单元。存储设备930可以能够为系统900提供大容量存储。在一些实现方式中,存储设备930可以是计算机可读介质。在可替换的实现方式中,存储设备930可以是软盘设备、硬盘设备、光盘设备、磁带设备、非易失性固态存储器、或任何其它类型的存储设备。输入/输出设备940可以被配置为向系统900提供输入/输出操作。在一些实现方式中,输入/输出设备940可以包括键盘和/或指向设备。在可替换的实现方式中,输入/输出设备940可以包括用于显示图形用户界面的显示单元。
图10示出了根据当前主题的一些实现方式的示例性方法1000。在1002,可以在第一系统中生成业务对象。在1004,可以将所生成的业务对象从第一系统复制到第二系统。在1006,可以基于至少一个系统特定视图运行用于实施所复制的业务对象的高性能应用。可以在至少一个处理器上执行所述生成、所述复制、和所述运行中的至少一个。
在一些实现方式中,当前主题可以包括以下可选特征中的一个或多个。第一系统可以是企业资源规划系统。第二系统可以是高性能分析工具(“HANA”)内存数据库系统。
所述执行可以包括:从第一系统获得业务对象的元数据,向第二系统提供所获得的元数据,使用所提供的元数据来提供对第二系统中的至少一个业务对象的访问,以及基于至少一个系统特定视图生成第一系统和第二系统中的至少一个中的至少一个工件(artifact)。
所述复制可以基于存储在第二系统中的至少一个复制架构来执行。业务对象可以包括包含至少一列和至少一行的表。数据复制器模块可以通过执行以下操作中的至少一个来执行所述复制:接管表中的至少一列,接管被添加到第一系统中的表的元数据,重命名第二系统中的表,可选地指定与用于接管的表相关联的至少一个外键,可选地指定与用于接管的表相关联的至少一个索引,指定用于存储第二系统中的表的行存储或列存储中的至少一个,添加列,删除列,和提供至少一种数据类型映射。数据复制器模块可以创建以下各项中的至少一个:用于提供对第二系统中的复制的表的访问的复制投影视图,和用于提供对第二系统的OpenSQL访问的外部视图。
这里所公开的系统和方法可以以各种形式具体实施,所述各种形式包括,例如,数据处理器,诸如还包括数据库的计算机,数字电子电路,固件,软件或它们的组合。此外,当前公开的实现方式的上述特征和其它方面以及原理可以在各种环境中实施。这样的环境和相关应用可以被特别构造以用于实施根据所公开的实现方式的各种过程和操作,或者它们可以包括由代码选择性地激活或重新配置以提供必要功能的通用计算机或计算平台。这里所公开的过程并不固有地涉及任何特定的计算机、网络、体系结构、环境或其他装置,并且可以由硬件、软件和/或固件的适当组合来实施。例如,各种通用机器可以与根据所公开的实现方式的教导所写入的程序一起使用,或者可以更方便地构造专用装置或系统来执行所需的方法和技术。
这里所公开的系统和方法可以被实施为计算机程序产品,即有形地具体实施在信息载体中的计算机程序,信息载体例如在机器可读存储设备中或者在传播的信号中,以供数据处理装置执行或者控制数据处理装置的操作,所述数据处理装置例如可编程处理装置、计算机或多个计算机。计算机程序可以以任何形式的编程语言编写,包括汇编语言或解释语言,并且,它可以被以任何形式部署,包括作为独立的程序或者作为模块、组件、子程序或其他适于在计算环境中使用的单元。计算机程序可以被部署为在一个计算机上执行或在位于一个地点或跨过多个地点分布并被通信网络互连起来的多个计算机上执行。
如本文所使用的,术语“用户”可以指代包括人或计算机的任何实体。
虽然在某些情况下,诸如第一、第二等的序数词可能涉及顺序,但是如本文件中所使用的,序数词并不一定暗示顺序。例如,序数词可以仅仅用来区分一个项目和另一个项目。例如,用于区分第一事件和第二事件,但不一定暗示任何时间顺序或固定参考系(例如,一段描述中的第一事件可以是不同于另一段描述中的第一事件)。
以上描述旨在说明而不是限制本发明的范围,本发明的范围由所附权利要求的范围定义。其他实现方式在以下权利要求的范围之内。
这些计算机程序,其还可以被称为程序、软件、软件应用、应用、组件、或代码,包括可编程处理器的机器指令,并且可以用高级面向过程和/或面向对象的编程语言、和/或汇编/机器语言来实现。如此处使用的,术语“机器可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备,诸如磁盘、光盘、存储器和/或可编程逻辑器件(PLD),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”指任何用于提供机器指令和/或数据给可编程处理器的信号。机器可读介质可以非暂时性地存储这种机器指令,诸如作为非暂时性的固态存储器或磁硬盘驱动器或任何其它等效的存储介质。机器可读介质可以可替换地或另外地以暂时的方式存储这种机器指令,诸如作为处理器高速缓存或其它与一个或多个物理处理器核心相关联的随机存取存储器。
为提供与用户的交互,这里描述的主题可以在计算机上实施,该计算机具有诸如用于向用户显示信息的阴极射线管(CRT)或液晶显示器(LCD)的显示设备、以及用户用来向计算机提供输入的键盘以及诸如鼠标或轨迹球的指向设备。其它种类的设备也可以用于提供和用户的交互。例如,提供到用户的反馈可以是任何形式的感觉反馈,诸如视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入可以以任何形式接收,包括但不限于,声音、语音或触觉输入。
这里描述的主题可以在计算系统中实施,该计算系统包括后端组件或包括中间件组件或包括前端组件或者包括这些后端、中间件、前端组件的任意组合,后端组件例如一个或多个数据服务器,中间件组件例如一个或多个应用服务器,前端组件例如具有图形用户界面,或Web浏览器的一个或多个客户端计算机,通过图形用户界面或Web浏览器,用户可以和实现方式进行交互。可以利用数字数据通信的任何形式或介质,诸如通信网络,互连系统的组件。通信网络的例子包括,但不限于,局域网(“LAN”)、广域网(“WAN”)和因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常是,但不绝对是,彼此远离,并且典型地通过通信网络交互。客户端和服务器的关系由于在各个计算机上运行的并且相互具有客户端-服务器关系的计算机程序而发生。
在前面的说明中提出的实现方式不代表与本文描述的主题一致的所有实现方式。相反,它们仅仅是与所描述主题一致的一些例子。尽管上面已经详细描述了一些变化形式,但是可能做出其它的修改或添加。特别是,可以在此处提出的这些内容之外提供进一步的特征和/或变化。例如,上述实现方式可以指导出所公开的特征的各种组合和子组合和/或上述公开的一些进一步的特征的组合和子组合。另外,附图中示出的和/或本文描述的逻辑流程并不必然要求所显示的特定顺序或依次顺序来获得想要的结果。其它实现方式也可以在所附权利要求的范围之内。
Claims (17)
1.一种计算机实施的方法,包括:
在第一系统中生成业务对象;
将所生成的业务对象从第一系统复制到第二系统,其中复制所生成的业务对象包括:
读取由第二系统提供的复制控制数据,其中所述复制控制数据包括指示如何复制业务对象的属性和/或参数;
从第一系统接收对象元数据;
将复制控制数据和对象元数据存储到第二系统的数据库中;
根据复制控制数据将业务对象复制到第二系统;以及
创建所复制的业务对象的两个视图,其中第一视图是复制投影视图,第二视图是外部视图;
其中,所述生成、所述复制、和所述创建中的至少一个在至少一个处理器上执行。
2.如权利要求1所述的方法,其中,第一系统是企业资源规划系统。
3.如权利要求1所述的方法,其中,第二系统是高性能分析工具内存数据库系统。
4.如权利要求1所述的方法,其中,所述复制基于存储在第二系统中的至少一个复制架构来执行。
5.如权利要求1所述的方法,其中,所述业务对象包括包含至少一列和至少一行的表;
其中,数据复制器模块通过执行以下操作中的至少一个来执行所述复制:接管所述表中的至少一列,接管被添加到第一系统中的所述表的元数据,重命名第二系统中的所述表,可选地指定与用于接管的表相关联的至少一个外键,可选地指定与用于接管的表相关联的至少一个索引,指定用于存储第二系统中的所述表的行存储或列存储中的至少一个,添加列,去除列,和提供至少一个数据类型映射。
6.如权利要求5所述的方法,其中,所述复制投影视图提供对第二系统中的复制的表的访问,所述外部视图提供对第二系统的OpenSQL访问。
7.一种存储指令的用于内存数据库处理的机器可读介质,当至少一个可编程处理器执行所述指令时,所述指令使所述至少一个可编程处理器执行以下操作:
在第一系统中生成业务对象;
将所生成的业务对象从第一系统复制到第二系统,其中复制所生成的业务对象包括:
读取由第二系统提供的复制控制数据,其中所述复制控制数据包括指示如何复制业务对象的属性和/或参数;
从第一系统接收对象元数据;
将复制控制数据和对象元数据存储到第二系统的数据库中;
根据复制控制数据将业务对象复制到第二系统;以及
创建所复制的业务对象的两个视图,其中第一视图是复制投影视图,第二视图是外部视图。
8.如权利要求7所述的机器可读介质,其中,第一系统是企业资源规划系统。
9.如权利要求7所述的机器可读介质,其中,第二系统是高性能分析工具内存数据库系统。
10.如权利要求7所述的机器可读介质,其中,所述复制基于存储在第二系统中的至少一个复制架构来执行。
11.如权利要求7所述的机器可读介质,其中,所述业务对象包括包含至少一列和至少一行的表;
其中,数据复制器模块通过执行以下操作中的至少一个来执行所述复制:接管所述表中的至少一列,接管被添加到第一系统中的所述表的元数据,重命名第二系统中的所述表,可选地指定与用于接管的表相关联的至少一个外键,可选地指定与用于接管的表相关联的至少一个索引,指定用于存储第二系统中的所述表的行存储或列存储中的至少一个,添加列,去除列,和提供至少一个数据类型映射。
12.如权利要求11所述的机器可读介质,其中,所述复制投影视图用于提供对第二系统中的复制的表的访问,所述外部视图提供对第二系统的OpenSQL访问。
13.一种用于内存数据库处理的系统,包括:
至少一个可编程处理器;以及
存储指令的机器可读介质,当所述至少一个可编程处理器执行所述指令时,所述指令使所述至少一个可编程处理器执行以下操作:
在第一系统中生成业务对象;
将所生成的业务对象从第一系统复制到第二系统,其中复制所生成的业务对象包括:
读取由第二系统提供的复制控制数据,其中所述复制控制数据包括指示如何复制业务对象的属性和/或参数;
从第一系统接收对象元数据;
将复制控制数据和对象元数据存储到第二系统的数据库中;
根据复制控制数据将业务对象复制到第二系统;以及
创建所复制的业务对象的两个视图,其中第一视图是复制投影视图,第二视图是外部视图。
14.如权利要求13所述的系统,其中,第一系统是企业资源规划系统;以及
第二系统是高性能分析工具内存数据库系统。
15.如权利要求13所述的系统,其中,所述复制基于存储在第二系统中的至少一个复制架构来执行。
16.如权利要求13所述的系统,其中,所述业务对象包括包含至少一列和至少一行的表;
其中,数据复制器模块通过执行以下操作中的至少一个来执行所述复制:接管所述表中的至少一列,接管被添加到第一系统中的所述表的元数据,重命名第二系统中的所述表,可选地指定与用于接管的表相关联的至少一个外键,可选地指定与用于接管的表相关联的至少一个索引,指定用于存储第二系统中的所述表的行存储或列存储中的至少一个,添加列,去除列,和提供至少一个数据类型映射。
17.如权利要求16所述的系统,其中,所述复制投影视图提供对第二系统中的复制的表的访问,所述外部视图提供对第二系统的OpenSQL访问。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/718,251 | 2012-12-18 | ||
US13/718,251 US8996565B2 (en) | 2012-12-18 | 2012-12-18 | Systems and methods for in-memory database processing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103870536A CN103870536A (zh) | 2014-06-18 |
CN103870536B true CN103870536B (zh) | 2019-08-16 |
Family
ID=49033781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310692979.9A Active CN103870536B (zh) | 2012-12-18 | 2013-12-17 | 用于内存数据库处理的系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8996565B2 (zh) |
EP (1) | EP2746965B1 (zh) |
JP (1) | JP6325246B2 (zh) |
CN (1) | CN103870536B (zh) |
CA (1) | CA2836829C (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10885001B2 (en) * | 2013-01-17 | 2021-01-05 | International Business Machines Corporation | System and method for assigning data to columnar storage in an online transactional system |
CN104376025B (zh) * | 2013-08-16 | 2017-10-10 | 华为技术有限公司 | 分布式数据库的数据存储方法和装置 |
US9734221B2 (en) | 2013-09-12 | 2017-08-15 | Sap Se | In memory database warehouse |
US9734230B2 (en) * | 2013-09-12 | 2017-08-15 | Sap Se | Cross system analytics for in memory data warehouse |
US9613074B2 (en) | 2013-12-23 | 2017-04-04 | Sap Se | Data generation for performance evaluation |
US10097660B2 (en) * | 2014-03-27 | 2018-10-09 | Oracle International Corporation | System and method for supporting data type conversion in a heterogeneous computing environment |
KR101679011B1 (ko) * | 2014-06-26 | 2016-11-24 | 주식회사 알티베이스 | 데이터베이스에서 데이터 이동을 처리하는 방법 및 장치 |
CN106326249B (zh) * | 2015-06-23 | 2021-08-03 | 中兴通讯股份有限公司 | 数据整合处理方法及装置 |
US10120886B2 (en) * | 2015-07-14 | 2018-11-06 | Sap Se | Database integration of originally decoupled components |
US10713375B2 (en) * | 2015-10-09 | 2020-07-14 | Sap Se | Database public interface |
US9842139B1 (en) * | 2016-12-28 | 2017-12-12 | Accenture Global Solutions Limited | Metadata-driven program code generation for clinical data analysis |
KR20190046169A (ko) | 2017-10-25 | 2019-05-07 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 데이터 처리 시스템의 동작방법 |
TWI696076B (zh) | 2018-06-08 | 2020-06-11 | 大陸商深圳大心電子科技有限公司 | 指令處理方法及儲存控制器 |
CN108897837A (zh) * | 2018-06-26 | 2018-11-27 | 郑州云海信息技术有限公司 | 数据库中数据管理方法和装置 |
CN109344004A (zh) * | 2018-09-03 | 2019-02-15 | 郑州云海信息技术有限公司 | 一种内存数据库备份管理方法、装置、终端及存储介质 |
US11275725B2 (en) * | 2020-01-29 | 2022-03-15 | Salesforce.Com, Inc. | Transporting a database structure from a first version to a second version |
CN112215652A (zh) * | 2020-10-12 | 2021-01-12 | 上海酷量信息技术有限公司 | 一种跨平台复制广告策略系统及方法 |
TWI763131B (zh) * | 2020-11-18 | 2022-05-01 | 瑞昱半導體股份有限公司 | 網路介面裝置、包含該網路介面裝置之電子裝置,及網路介面裝置的操作方法 |
CN113064919B (zh) * | 2021-03-31 | 2022-11-22 | 北京达佳互联信息技术有限公司 | 数据处理方法、数据存储系统、计算机设备及存储介质 |
WO2025143322A1 (ko) * | 2023-12-28 | 2025-07-03 | 주식회사 조인클라우드 | 대용량 에지 데이터의 실시간 수집, 처리 및 저장을 위한 인메모리 기반 데이터 처리 시스템 및 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1534518A (zh) * | 2003-03-27 | 2004-10-06 | 微软公司 | 在应用定义的系统中一致性单元的复制 |
CN102495832A (zh) * | 2011-12-12 | 2012-06-13 | 方正国际软件有限公司 | 软件开发过程中文档自动生成系统 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6331856B1 (en) * | 1995-11-22 | 2001-12-18 | Nintendo Co., Ltd. | Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing |
US6532479B2 (en) * | 1998-05-28 | 2003-03-11 | Oracle Corp. | Data replication for front office automation |
EP1093061A1 (de) * | 1999-10-14 | 2001-04-18 | SAP Aktiengesellschaft | Integriertes Datenbank-Verbundsystem |
US20050055382A1 (en) | 2000-06-28 | 2005-03-10 | Lounas Ferrat | Universal synchronization |
US6757689B2 (en) * | 2001-02-02 | 2004-06-29 | Hewlett-Packard Development Company, L.P. | Enabling a zero latency enterprise |
US20020147606A1 (en) * | 2001-03-14 | 2002-10-10 | Norbert Hoffmann | Application development method |
US7257820B2 (en) * | 2001-04-14 | 2007-08-14 | Siebel Systems, Inc. | Method and system for using integration objects with enterprise business applications |
US6948088B1 (en) * | 2001-06-13 | 2005-09-20 | Cisco Technology, Inc. | Methods and apparatus for efficient transaction processing on redundant systems |
US7739393B2 (en) * | 2002-01-28 | 2010-06-15 | Cisco Technology, Inc. | Apparatus and method for restoring traffic during failover in a cable head end |
JP2006512695A (ja) * | 2002-12-23 | 2006-04-13 | デクステラ・インコーポレイテッド | モバイルデータとソフトウェアのアップデートシステムおよび方法 |
US7092973B2 (en) * | 2002-12-23 | 2006-08-15 | Sap Aktiengesellschaft | Conflict detection in a distributed system landscape |
US20040224674A1 (en) * | 2003-04-07 | 2004-11-11 | O'farrell Robert | System and method for context sensitive mobile data and software update |
US7831693B2 (en) * | 2003-08-18 | 2010-11-09 | Oracle America, Inc. | Structured methodology and design patterns for web services |
US20050071596A1 (en) * | 2003-09-26 | 2005-03-31 | International Business Machines Corporation | Method, apparatus and program storage device for providing automatic performance optimization of virtualized storage allocation within a network of storage elements |
US20060026018A1 (en) * | 2004-03-08 | 2006-02-02 | Exner Bryan J | System and method for determining eligibility for multiple programs |
US20050251527A1 (en) * | 2004-05-07 | 2005-11-10 | Mark Phillips | System and method for integrating disparate data and application sources using a web services orchestration platform with business process execution language (BPEL) |
US7506297B2 (en) * | 2004-06-15 | 2009-03-17 | University Of North Carolina At Charlotte | Methodology for scheduling, partitioning and mapping computational tasks onto scalable, high performance, hybrid FPGA networks |
BRPI0609335A2 (pt) * | 2005-03-21 | 2010-03-16 | Dexterra Inc | aplicações modulares para sistema móvel de dados |
US20070143339A1 (en) | 2005-12-20 | 2007-06-21 | Springett John C | Architecture for a smart enterprise framework and methods thereof |
US9292822B2 (en) * | 2006-01-03 | 2016-03-22 | Motio, Inc. | Supplemental system for business intelligence systems |
US8799181B2 (en) * | 2006-05-09 | 2014-08-05 | Sag Ag | Business process federated repository |
US8640086B2 (en) * | 2006-12-29 | 2014-01-28 | Sap Ag | Graphical user interface system and method for presenting objects |
US20080162509A1 (en) | 2006-12-29 | 2008-07-03 | Becker Wolfgang A | Methods for updating a tenant space in a mega-tenancy environment |
US7870561B2 (en) * | 2007-04-30 | 2011-01-11 | Sap Ag | Technical place servicing integration |
US20090172003A1 (en) * | 2007-12-27 | 2009-07-02 | Frank Jentsch | Secondary Persistencies in a Service-Oriented Business Framework |
US8356288B2 (en) * | 2008-11-10 | 2013-01-15 | Sap Ag | Method and apparatus for monitoring runtime of persistence applications |
US8135716B2 (en) * | 2008-12-10 | 2012-03-13 | Sap Ag | Systems and method for mapping large object data content in a database table to a work area |
JP4939568B2 (ja) * | 2009-04-28 | 2012-05-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データベース間でデータを同期するための方法、並びにそのコンピュータ・システム及びコンピュータ・プログラム |
US8863132B2 (en) * | 2009-05-08 | 2014-10-14 | Sap Se | Using abstraction layers to facilitate communication between systems |
US8407184B2 (en) | 2010-06-07 | 2013-03-26 | Salesforce.Com, Inc. | Maintaining applications that are occasionally connected to an online services system |
US9460176B2 (en) | 2010-12-29 | 2016-10-04 | Sap Se | In-memory database for multi-tenancy |
US9542437B2 (en) * | 2012-01-06 | 2017-01-10 | Sap Se | Layout-driven data selection and reporting |
-
2012
- 2012-12-18 US US13/718,251 patent/US8996565B2/en active Active
-
2013
- 2013-08-21 EP EP13004138.7A patent/EP2746965B1/en active Active
- 2013-12-16 JP JP2013258976A patent/JP6325246B2/ja active Active
- 2013-12-16 CA CA2836829A patent/CA2836829C/en active Active
- 2013-12-17 CN CN201310692979.9A patent/CN103870536B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1534518A (zh) * | 2003-03-27 | 2004-10-06 | 微软公司 | 在应用定义的系统中一致性单元的复制 |
CN102495832A (zh) * | 2011-12-12 | 2012-06-13 | 方正国际软件有限公司 | 软件开发过程中文档自动生成系统 |
Also Published As
Publication number | Publication date |
---|---|
US8996565B2 (en) | 2015-03-31 |
JP2014120174A (ja) | 2014-06-30 |
CA2836829C (en) | 2022-01-04 |
CN103870536A (zh) | 2014-06-18 |
CA2836829A1 (en) | 2014-06-18 |
JP6325246B2 (ja) | 2018-05-16 |
US20140172788A1 (en) | 2014-06-19 |
EP2746965B1 (en) | 2019-03-06 |
EP2746965A1 (en) | 2014-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103870536B (zh) | 用于内存数据库处理的系统和方法 | |
CN107835983B (zh) | 使用一致的数据库快照在分布式数据库中进行备份和还原 | |
US9684566B2 (en) | Techniques for backup restore and recovery of a pluggable database | |
EP2746971A2 (en) | Replication mechanisms for database environments | |
US20150205850A1 (en) | Eager replication of uncommitted transactions | |
US20210303562A1 (en) | Database calculation engine with dynamic top operator | |
US9792342B2 (en) | Copy procedure to reduce downtime for a source system | |
US11176004B2 (en) | Test continuous log replay | |
US11169886B2 (en) | Modification of temporary database pages | |
US10969990B2 (en) | Parallel database page flushing | |
US20180165339A1 (en) | Delta Replication | |
US11507575B2 (en) | Complex query rewriting | |
US20230014029A1 (en) | Local indexing for metadata repository objects | |
US11526513B2 (en) | SQL interface for embedded graph subqueries | |
US11467926B2 (en) | Enhanced database recovery by maintaining original page savepoint versions | |
US11354357B2 (en) | Database mass entry insertion | |
US20210303421A1 (en) | Replication system takeover with handshake | |
US12197460B2 (en) | Transport of master data dependent customizations | |
US12079174B2 (en) | Data retrieval from archived data storage | |
US11789948B2 (en) | Computational dependency directory | |
US12105709B2 (en) | Blocked index join | |
US20250139077A1 (en) | Streaming change logs from streaming database tables | |
US11106698B2 (en) | Multi-master with ownership transfer | |
US20200356421A1 (en) | Web application programming interface driver |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Address after: German Waldo Applicant after: SAP AG Address before: German Waldo Applicant before: SAP AG |
|
COR | Change of bibliographic data |
Free format text: CORRECT: APPLICANT; FROM: SAP AG TO: SAP EUROPE AG |
|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |