CN109716280A - 灵活的内存列存储布置 - Google Patents
灵活的内存列存储布置 Download PDFInfo
- Publication number
- CN109716280A CN109716280A CN201780056804.5A CN201780056804A CN109716280A CN 109716280 A CN109716280 A CN 109716280A CN 201780056804 A CN201780056804 A CN 201780056804A CN 109716280 A CN109716280 A CN 109716280A
- Authority
- CN
- China
- Prior art keywords
- node
- database
- discrete cell
- service
- nodes
- 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.)
- Granted
Links
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本文描述了用于在集群数据库***中的多个节点中的所选择节点的易失性存储器上分布数据库对象的不同部分的技术。该技术涉及存储将单元(数据库对象或其部分)与一个或多个数据库服务相关联的单元到服务映射。所述一个或多个数据库服务被映射到一个或多个节点。服务被映射到的节点可以包括不相交的数据库***中的节点,只要那些数据库***可以访问该单元的副本即可。数据库对象被与服务相关联的节点视为是内存启用的,并且被不与服务相关联的节点视为不是内存启用的。
Description
技术领域
本发明涉及数据存储和检索技术,更具体而言,涉及跨多节点数据库的灵活的内存(in-memory)列存储布置。
背景技术
数据库***通常在盘上存储数据库对象(例如,表、索引等),并按需将数据项从那些数据库对象加载到易失性存储器中。一旦加载到易失性存储器中,数据项就可以保持高速缓存在易失性存储器中,以便随后对相同数据项的访问不会招致访问盘的开销。例如,可以在高速缓存中替换那些数据项,以便在易失性存储器中腾出空间来存储已经被请求的其它数据项。
不是基于每个项加载各个数据项,而是可以将整个数据库对象或其部分加载到易失性存储器中。用于将整个数据库对象或其所选择的部分加载到易失性存储器中以加速查询处理的各种方法在2014年7月21日提交的标题为“Mirroring,In Memory,Data FromDisk To Improve Query Performance”的美国专利申请No.14/377,179中进行了描述,在本文被称为“Mirroring”申请,其内容整体并入本文。
根据Mirroring申请中描述的方法,数据对象或其部分的拷贝被高速缓存在易失性存储器中。对象的预加载的高速缓存拷贝的格式可能与盘上(on-disk)格式不同。例如,对象的内存版本可以是列为主的格式,而盘上版本可以按行为主的格式存储。对象(或其所选择的部分)的内存版本被称为内存压缩单元(IMCU),因为其中包含的数据常常被压缩。
集群数据库***包括多个节点。当要将数据库对象预加载到易失性存储器中时,可以将数据库对象的拷贝加载到集群中的单个节点的易失性存储器中。为了获得预加载对象的好处,可以将与对象相关的工作运送到预加载对象的节点(“主机”节点)。例如,假设集群有五个节点N1、N2、N3、N4和N5。N1可以是表T1的指定主机。作为表T1的主机,N1将T1的拷贝加载到其易失性存储器中。如果节点N2、N3、N4或N5中的任何节点接收到访问来自T1的数据的请求,那么可以将访问那个数据的任务发送到节点N1。
不是让单个节点预加载整个数据库对象,而是可以将数据库对象划分为“块(chunk)”,并且可以在集群中的节点之间分布块。例如,表T1可以被划分为块C1、C2、C3、C4和C5,这些块被指派为分别由节点N1、N2、N3、N4和N5托管。在数据库对象被划分为分布在节点之间的块的场景中,每个节点响应于加载触发事件而将其指派的(一个或多个)数据库对象的块加载到其相应的易失性存储器中。涉及T1的任何给定块的工作可以被运送到已被指派为托管该块的节点。
用于进行托管指派的各种方法在2014年12月10日提交的标题为“DistributionOf An Object In Volatile Memory Across A Multi-Node Cluster”的美国专利申请No.14/565,906中描述,在本文称为“Distribution”申请,其内容整体并入本文。根据Distribution申请中描述的方法,集群中的所有节点都被视为托管块的候选,以最大化集群资源的利用。因此,可以使用诸如将块标识符散列到N个桶的散列函数之类的分布方法来进行托管指派,其中N是集群中的节点的总数。
虽然贯穿集群中的所有节点来散布块托管指派有助于负载平衡和并行性,但是仅考虑集群的节点并将集群中的所有节点视为平等候选的托管指派技术并不总是理想的。例如,在集群中的节点之间散布块托管指派不利用集群外部的资源,诸如不相交的数据库***的资源。
不相交的数据库***是逻辑上位于另一个数据库***之外的数据库***。例如,如果DBMS1与DBMS2不相交,那么DMBS1中的数据库服务器实例不能直接访问与DBMS2相同的数据库,反之亦然。按照惯例,在托管指派中不考虑与进行托管指派的数据库***不相交的数据库***。因此,当DBMS1为表T1进行托管指派时,将不使用DBMS2的资源。在这个示例中未能使用DBMS2的资源可能是高度低效的,因为DBMS2本身可以是具有大量资源的集群数据库***。如果除了DBMS1之外还有可能在DBMS2中托管对象,那么可以托管更多的数据库对象。
在许多情况下,在托管指派中涉及不相交的数据库***甚至都没有意义,因为不相交的数据库***将无法访问要被托管的数据库对象。例如,如果DBMS2无法访问表T1,那么将DBMS2中的节点指派为表T1的主机是没有意义的。但是,当不相交的DBMS是进行托管指派的数据库***的副本时,则不相交的DBMS可以访问所讨论的数据库对象的副本。
遗憾的是,当不相交的DBMS是副本时,托管指派也被复制。即,在原始数据库***中进行的相同托管指派在副本数据库***中进行。例如,如果表T1在DBMS1中托管,那么表T1也在DBMS2中托管。虽然这种方法确实使用了DBMS2的资源,但它实际上并没有增加可以被托管的对象数量。相反,它只会导致DBMS2加载已经将在DBMS1中被托管的所有相同对象的拷贝。即,如果DBMS1和DBMS2两者都有3TB的易失性存储器可以用于托管对象,那么这两个数据库***一起拥有6TB的易失性存储器用于托管对象。但是,由于在两个***中托管相同的对象,因此只能托管3TB的对象。
本部分中描述的方法是可以实行的方法,但不一定是先前已被构思或实行的方法。因此,除非另外指出,否则不应当假定在本部分中描述的任何方法仅仅凭其包括在本部分中就有资格作为现有技术。
附图说明
图1是图示可以在其中实现实施例的数据库***的框图;
图2是图示在实施例中被连接到在数据库***上运行的服务的客户端的框图;
图3是图示在实施例中用于创建对象到服务映射的示例语句的框图;
图4是图示在实施例中用于确定如何将数据库对象分布到数据库***中的节点的步骤的流程图;
图5A-图5D是图示在实施例中映射到一个或多个数据库集群的节点的服务的示例配置的框图;
图6是图示可以用于实现本文描述的技术的计算机***的框图。
具体实施方式
在以下描述中,出于解释的目的,阐述了许多具体细节,以便提供对本发明的透彻理解。但是,很显然,本发明可以在没有这些具体细节的情况下进行实践。在其它情况下,众所周知的结构和设备以框图的形式示出,以避免不必要地模糊本发明。
总体概述
本文描述了用于进行托管指派的技术。但是,与先前的托管指派技术不同,用户可以在逐个对象的基础上指定哪些特定节点将托管用于任何给定数据库对象的块。另外,可以跨不相交的数据库***进行托管指派,只要被指派以托管对象(或其块)的所有节点可以访问该对象的拷贝即可。因此,如果DBMS1和DBMS2可以访问表T1的不同副本,那么托管指派可以指派DBMS1或DBMS2中的任何节点来托管表T1。
另外,在副本数据库***中进行的托管指派可以完全独立于它们复制的数据库***中进行的托管指派。例如,可以指派DBMS1中的节点来托管根本没有在副本DBMS2中被托管的表T1。同时,可以指派副本DBMS2中的节点来托管根本没有在DBMS1中被托管的表T2。此外,表T3可以被划分为三个块,其中一个块由DBMS1中的节点托管,并且其中两个块由DBMS2中的节点托管。因此,即使DBMS2是DBMS1的副本,DBMS2中的托管指派也不镜像DBMS1中的托管指派。因此,出于托管指派的目的,两个不相交的数据库***的易失性存储器可以被视为单个池。
数据库服务
数据库服务是用于对工作进行分组的机制。分组通常基于属性,诸如要调用的应用函数、执行的优先级、作业类、数据的日期范围等。例如,可以创建服务X用于生成某种类型的报告。可以在六个节点的集群中为服务指派两个节点N1和N2。需要生成那种类型的报告的数据库客户端请求服务X,这使得客户端被连接到节点N1和N2之一。
服务是用于划分数据库***中执行的工作类型的数据库工作负载管理的特征。这种工作的划分允许根据服务级别管理工作。根据服务级别和优先级将资源分配给服务。
服务是用于管理工作负载的逻辑抽象。服务可以用于将在数据库集群中执行的工作划分为相互不相交的类。每个服务可以表示逻辑业务功能,例如,具有共同属性、服务级别阈值和/或优先级的工作负载。服务的分组基于工作的属性,其可能包括要调用的应用函数、应用函数的执行优先级、要被管理的作业类或在作业类的应用函数中使用的数据范围。例如,电子商务套件可以为每个责任定义服务,诸如总分类账、应收账款、订单输入等。服务提供单个***图像来管理竞争应用,并且这些服务允许每个工作负载单独并作为单元被管理。
由于每个服务都服务于特定的功能,因此数据库服务可能只需要特定的数据库对象或数据库对象的特定部分来完成那个功能。例如,与服务X相关联的报告可以从表T1中的数据唯一地生成。在这些情况下,显然期望节点N1和N2中的一个或两个提供服务X以托管表T1。另一方面,服务X的用户不会从在N1和N2上托管的其它表中获益。因此,下文描述将托管指派与数据库服务集成的技术。通过将托管指派与数据库服务集成,可以在执行最有可能从内存具有对象受益的工作的节点上托管对象。另外,可以跨集群边界进行服务到节点的指派,从而允许使用多个不相交数据库***的集体存储器的托管指派。
将托管指派与数据库服务集成
根据一个实施例,托管指派与数据库服务集成。具体而言,在一个实施例中,可以将对象指派给服务,并且将被指派为运行那个服务的一个或多个节点自动被指定给该对象的主机。在一个实施例中,运行该服务的每个节点托管已被指派给服务的对象。因此,如果节点N1和N2被指派了服务X,那么节点N1和N2托管表T1。在替代实施例中,被指派给服务的对象的块可以分布在被指派了服务的节点之间。在这种实施例中,节点N1可以托管表T1的一些块,而节点N2托管表T1的其它块。
托管指派的粒度可以有所不同。例如,不是将表T1指派给服务X,而是可以将表T1的块C1和C2指派给服务X。在这种情况下,只有块C1和C2将被托管在节点N1和N2上。表T1的其它块将不被托管。例如,在其中服务仅使用较大表的某些分区的情况下,块级指派可以是有用的。例如,服务X可以仅使用表T1的分区P1,因此只有表T1的分区P1可以被指派给服务X。
在一个实施例中,可以将相同的数据库对象(或其块)指派给多个数据库服务。在这种实施例中,数据库对象(或块)仅被托管在已经向其指派了那些数据库服务中的任何服务的节点上。因此,如果表T1被指派给服务X和服务Y,并且服务X被指派给节点N1和N2,并且服务Y被指派给节点N2和N3,那么表T1将被托管在节点N1、N2和N3上。
如下文中更详细描述的,节点和数据库对象与服务的关联允许用户控制对象到数据库集群中的特定节点的易失性存储器的分布,以及跨越集群边界到可以访问所讨论的对象的副本的其它集群中的节点的分布。
***总览
参考图1,它是在其中可以实现实施例的***的框图。在图1所示的实施例中,数据库集群100包括可以访问相同数据库165的四个节点102、112、122和132。出于说明的目的,数据库165存储在单个盘160上,但在替代实施例中,可以散布在节点102、112、122和132中的每个可以访问的多个盘上。
节点102、112、122和132分别具有一个或多个处理器108、118、128和138以及本地易失性存储器104、114、124和134。此外,节点102、112、122和132分别执行数据库服务器实例106、116、126和136。虽然在所示实施例中每个节点在执行单个数据库服务器实例,但在替代实施例中,单个节点可以执行多于一个数据库服务器实例。
在所示实施例中,数据库集群100通信连接到数据库集群140。集群140包括可以访问数据库175的两个节点142和152。集群100和140相对于彼此不相交。出于描述本文技术的目的,应假设数据库165和数据库175具有相同对象的副本。例如,数据库175可以是数据库165的副本数据库或备份数据库。节点142和152不能访问数据库165,并且节点102、112、122和132不能访问数据库175。来自数据库165的改变被记录并被复制在数据库175上。
节点142和152分别具有一个或多个处理器148和158以及本地易失性存储器144和154。此外,节点142和152分别执行数据库服务器实例146和156。虽然在所示实施例中每个节点在执行单个数据库服务器实例,但在替代实施例中,单个节点可以执行多于一个数据库服务器实例。
数据库165和175包括相同表T1的拷贝。出于说明的目的,应假设表167是数据库165中的表T1的拷贝,并且表177是数据库175中的表T1的拷贝。节点102、112、122和132中的每个能够从驻留在盘160上的表167访问来自表T1的数据项。类似地,节点142和152能够从驻留在盘170上的表177访问来自表T1的数据项。但是,对于任何给定的数据库服务器实例,从高速缓存在驻留在数据库服务器实例正在其中执行的节点上的易失性存储器中的、表167和177的块来访问数据项更快。
在实施例中,表167和177(或其部分)被指定为“内存启用的”。如果表167或177是内存启用的,那么表的块被预加载到易失性存储器中,以加速查询处理。如上面关于Mirroring申请所讨论的,可以将表(和其它数据库对象)划分为分布在集群的节点之间的不同部分。在一些实施例中,数据库对象以持久格式被存储在持久存储装置中,而以不同格式(镜像格式)在易失性存储器中被维护。例如,盘上数据可以按行为主的格式被存储,而内存数据以列为主的格式存储。在替代实施例中,数据库对象的内存表示可以具有其它格式,包括其中对象的数据在盘上被表示的相同格式。
可以主动地或按需进行将数据库对象到易失性存储器中的加载。节点如何确定是否将特定数据库对象的部分加载到它们相应的易失性存储器中将在下文中更详细地描述。
数据库服务示例
服务可以跨越网格中的一个或多个集群中的多个服务器实例,并且单个服务器实例可以支持多个服务。参考图2,它是图示数据库集群100和140上的服务的框图。服务206A被描绘为由数据库服务器实例106提供。服务206B被描绘为由数据库服务器实例106和116提供,服务206C由数据库服务器实例126和136提供,并且服务206D由数据库服务器实例146和156提供。在实施例中,数据库***存储节点到服务映射,该映射指示哪个数据库服务器实例或节点正在提供哪个数据库服务。
客户端可以通过将服务指定为建立到数据库服务器的连接的一部分来使用服务。基于指定的服务和节点到服务映射,建立从客户端到在特定节点上运行的特定数据库实例的连接。客户端不需要指定特定数据库实例或特定节点。如果多于一个数据库服务器实例在提供服务,那么代理进程(broker process)可以基于任意数量的负载平衡技术为连接选择数据库服务器实例。
在实施例中,数据库***包括管理来自客户端的连接请求的代理进程。代理进程接收指定数据库服务的请求,并确定哪个数据库实例正在运行指定服务的。代理进程在客户端和正在运行指定服务的数据库实例之间建立连接。
再次参考图2,客户端202A、202B和202C通信耦合到数据库集群100和140。客户端202A请求到数据库服务206A的连接。数据库服务206A仅正在实例106上运行,因此代理进程在客户端202A和数据库服务器实例106之间建立连接。
客户端202B请求到数据库服务206B的连接。数据库服务206B正在数据库服务器实例106和116两者上运行。代理进程选择数据库服务器实例106或116之一用于与客户端202B连接。在实施例中,代理进程基于已在每个节点处建立的连接的数量来选择数据库实例。在本示例中,如果客户端被连接到实例106但没有客户端被连接到实例116,那么代理进程选择数据库服务器实例116并在客户端202B和数据库服务器实例116之间建立连接。
客户端202C请求到数据库服务206D的连接。数据库服务206D正在实例146和156上运行。由于实例当前都没有被连接到客户端,因此代理进程选择实例146和156之一。在本示例中,数据库服务器在客户端202C和实例146之间建立连接。
创建单元到服务映射
由于数据库***中的工作基于工作的属性被分组为服务,因此与特定服务相关联的工作可以限于特定数据库对象或其部分。例如,用于生成当前报告的服务可以仅需要来自特定表分区的数据。用于生成年度报告的服务可以需要来自其它表分区的数据。类似地,与销售报告相关的服务需要与和客户数据相关的服务不同的表。因此,不需要将数据库对象加载到所有节点的易失性存储器中。
如本文所使用的,“单元”是数据库对象,或数据库对象的一个或多个部分。当单元被映射到一个或多个服务时,该单元仅被正在执行该单元已被映射到的服务之一的那些节点视为“内存”。因此,将单元映射到服务有效地指定哪些节点将托管该单元。具体而言,如果单元被映射到特定服务,那么该单元仅由正在运行该特定服务的那些节点托管。
为了将单元与服务相关联,数据库存储单元到服务映射。对于数据库对象,单元到服务映射指示哪些节点将托管该单元。托管该单元的节点响应于加载触发事件而将该单元加载到其易失性存储器中。
出于解释的目的,应给出其中单元到服务映射是对象到服务映射(其中整个对象被映射到服务)的示例。但是,如本文所解释的,可以在其它粒度级别进行单元到服务映射,包括在块(其可以是分区)或块组(group of chunks)的级别。
在实施例中,对象到服务映射作为与数据库对象相关联的特性数据被存储在数据库中。可以在从数据库客户端用户或应用接收的数据库对象创建或修改语句中指定特性数据。在其它实施例中,可以从配置文件硬编码或提供特性数据,该配置文件可以由数据库***自动提供。
图3是描绘在实施例中用于定义对象到服务映射的示例数据库语句的框图。图3包括对象到服务映射创建语句350、对象子句352和内存子句354。
对象到服务映射创建语句350图示了用于创建对象到服务映射的数据库语句的组成部分子句。数据库语句包括{OBJECT}子句和{INMEMORY}子句。
{OBJECT}子句创建或修改数据库对象。对象子句352中示出了用于创建表、修改表、修改分区、创建表空间和修改表空间的示例。用于数据库对象的对象到服务映射分层次传播到数据库对象的子对象。例如,表空间内任何未来创建的表、表分区、索引和其它对象都将继承用于该表空间的对象到服务映射。如果为子对象指定了对象到服务映射,那么子对象的对象到服务映射覆盖父对象的映射。
{INMEMORY}子句指定是否可以将对象加载到存储器中以及该对象是否与一个或多个服务相关联。内存子句354说明了两个示例内存子句。
第一个内存子句示例“NO INMEMORY”指示不应当将数据库对象加载到存储器中。因此,数据库对象不是内存启用的,并且将被数据库***中的所有节点视为不是内存启用的。
第二个内存子句示例“INMEMORY{PROPERTY}”指定数据库对象是内存启用的,并且可以被加载到数据库***中节点的存储器中。
{PROPERTY}子句指定对象应当如何以及在何处被加载到存储器中。特性子句356说明了两个示例内存特性,FOR SERVICE和PRIORITY。
如下面进一步详细讨论的,PRIORITY指定内存对象的优先级级别。
FOR SERVICE指定对象应当与哪些数据库服务(如果有的话)相关联。如内存特性子句156中所示,FOR SERVICE特性有四个值:
DEFAULT指示使用任何分布方法在集群的节点之间分布对象。例如,使用上面在Distribution申请中描述的技术将对象划分为不同的部分并分布在集群的节点之间。
ALL指示可以将对象加载到集群中任何节点的易失性存储器中。例如,如果数据库对象尚未被加载到另一个节点的存储器中,那么可以将该数据库对象加载到接收以该数据库对象为目标的请求的任何节点的易失性存储器中。
NONE指示无法将数据库对象填充到任何节点的易失性存储器中。即,数据库对象被所有节点视为不是内存启用的。
[服务名称(Service Name)]指示可以将数据库对象加载到其中已命名的一个或多个数据库服务处于活动状态并正在运行的节点的易失性存储器中。可以为对象指定一个或多个数据库服务。数据库对象仅对于正在运行数据库服务的节点被认为是内存启用的。数据库对象被不在运行数据库服务的节点视为不是内存启用的。
加载触发事件
加载触发事件是触发将数据库对象加载到易失性存储器中的事件。各种事件可以触发将启用存储器的对象加载到易失性存储器中。例如,在一些情况下,启用存储器的对象可以在***启动就被加载到易失性存储器中。在其它情况下,可以通过从启用存储器的对象接收以数据项为目标的查询来触发启用存储器的对象到易失性存储器中的加载。在其它情况下,数据库应用可以提交对要被加载到易失性存储器中的特定启用存储器的数据库对象的显式请求。本文描述的技术不限于任何特定的加载触发事件。
根据一个实施例,加载触发事件包括节点确定数据库对象尚未被加载到任何节点的易失性存储器中。这种检查可以涉及检阅执行该检查的节点的易失性存储器内、指示哪个数据库对象已被任何节点加载的元数据。
协调器进程
在一些实施例中,数据库***可以包括协调器进程。协调器进程基于对象到服务映射和服务到节点映射来周期性地确定是否应当将任何数据库对象加载到存储器中以及是否应当将为数据库对象分配的易失性存储器解除分配。
如果已将对象的拷贝加载到节点的易失性存储器中,但相关联的服务不再在那个节点上运行,那么协调器进程检测到特定数据库服务已在该节点上停止。协调器进程可以向节点指示它应当将对象的拷贝解除分配。
在实施例中,数据库对象可以与优先级级别相关联。优先级级别可以指示数据库对象应当主动地而不是在被请求时被加载到易失性存储器中。如果对象的优先级级别指示对象应当主动地被加载到易失性存储器中,并且该对象尚未被加载到任何节点的易失性存储器中,那么协调器使该对象被加载到易失性存储器中。
参考图3,PRIORITY特性指定数据库对象应当以指定优先级级别被加载到存储器中,优先级级别可以包括低(LOW)、中(MEDIUM)和高(HIGH)。在实施例中,协调器进程被配置为如果对象包括优先级级别,那么主动地将数据库对象加载到易失性存储器中。协调器进程可以按其优先级级别的次序将数据库对象加载到易失性存储器中。
如果修改数据库对象使得其不包括优先级级别,并且该对象的拷贝已被加载到节点的易失性存储器中,那么协调器进程可以向该节点指示它应当将该对象的拷贝解除分配。
将对象加载到易失性存储器中
在加载触发事件中,节点确定是否将数据库对象加载到其易失性存储器中。在实施例中,节点从协调器进程或从另一个节点接收加载特定数据库对象的指示。例如,如上所述,协调器进程周期性地确定数据库对象是否需要被加载到任何节点的易失性存储器中。
节点还可以接收以数据库对象为目标的请求,并基于对象到服务映射来确定是否将数据库对象加载到易失性存储器中。参考图4,它是图示在实施例中用于确定是否将数据库对象加载到易失性存储器中的处理的流程图。
在步骤400处,数据库服务器实例接收以一个或多个数据库对象为目标的请求。出于说明的目的,假设数据库服务器实例106接收以表167为目标的查询。
在步骤402处,数据库服务器实例确定一个或多个数据库对象是否是内存启用的。如果数据库对象不是内存启用的,那么数据库对象不被加载到易失性存储器中。在实施例中,数据库服务器实例从盘或从缓冲器读取数据库对象,而不将对象加载到易失性存储器中或以镜像格式存储。
如果数据库对象是内存启用的,那么数据库服务器实例确定它是否被加载到任何节点的易失性存储器中,或者是否将对象加载到一个或多个节点的易失性存储器中。在本示例中,数据库服务器实例106确定表167是否内存启用的。出于说明的目的,假设表167是内存启用的。
在步骤404处,数据库服务器实例确定对象是否已经被加载到节点的易失性存储器中。在实施例中,每个节点维护指示哪些对象已被加载到其相应的存储器中的映射。
如果对象的拷贝已被加载到不同节点的易失性存储器中,那么数据库服务器实例向那个节点发送请求。如果对象的拷贝已被加载到运行数据库服务器实例的节点的易失性存储器中,那么数据库服务器实例将从易失性存储器中读取该对象的拷贝。如果数据库对象尚未被加载到任何节点的易失性存储器中,那么该方法前进到步骤406。
在本示例中,数据库服务器实例106确定表167是否被加载到任何节点的存储器中。出于说明的目的,假设表167尚未被加载到任何节点的存储器中。
在步骤406处,数据库服务器基于对象到服务映射确定哪些服务(如果有的话)与该对象相关联。如果该对象与一个或多个特定服务相关联,那么该方法前进到步骤408。
在实施例中,如果对象不与任何特定服务相关联,那么该对象可以基于存储在对象到服务映射中的特性值被加载到存储器中或从盘读取而不加载到存储器中。例如,如上所述,如果用于对象的FOR SERVICE特性子句具有DEFAULT值,那么可以使用任何分布方法在集群的节点之间分布对象。如果值为ALL,那么可以将对象加载到集群中任何节点的易失性存储器中。如果该特性被设置为NONE,那么从盘读取对象而不加载到存储器中。
在本示例中,数据库服务器实例106基于对象到服务映射确定是否有任何服务与表167相关联。出于说明的目的,假设数据库实例106确定表167与数据库服务206C相关联。
在步骤408处,数据库服务器基于节点到服务映射确定哪些节点正在运行该服务。在实施例中,如果接收到请求的节点正在运行该服务,那么它将对象加载到其自己的易失性存储器中。如果节点不在运行该服务,那么该节点将该请求发送到正在运行该服务的节点。正在运行该服务的节点将数据库对象加载到易失性存储器中并完成请求。在本示例中,服务206C与节点122上的实例126和节点132上的实例136相关联。数据库服务器实例106选择并将请求发送到实例126。实例126将把数据库对象加载到易失性存储器124中。在其它实施例中,如果节点不在运行该服务,那么它从盘加载数据库对象。
在实施例中,如果多于一个节点正在运行该服务,那么数据库对象被划分为不同的部分,并且这些部分分布在正在运行该服务的节点的易失性存储器之间。例如,不是仅将请求发送到实例126,而是数据库对象可以在节点122和132之间被划分,并且数据库对象的不同部分被加载到易失性存储器124和134中。
在实施例中,如果运行服务的特定节点不是与数据库实例相同的数据库集群的一部分,那么对象不被加载到特定节点的易失性存储器中。如果集群中的其它节点也正在运行数据库服务,那么对象在集群中那些节点的易失性存储器之间分布。如果集群中没有其它节点正在运行数据库服务,那么数据库服务器实例从盘读取数据库对象而不将数据库对象加载到存储器中。例如,如果实例106接收到需要与数据库服务206D相关联的数据库对象的请求,那么实例106不能将请求发送到实例146或156。实例106将从盘读取数据库对象。
图5A-图5D图示了被映射到一个或多个数据库集群的节点的服务的示例配置。集群100和集群140相对于彼此不相交。假设集群100被连接到主数据库,并且集群140被连接到主数据库的副本。
参考图5A,服务500A被映射到集群100中的节点122和集群140中的节点142。
参考图5B,服务500B被映射到副本集群140中的节点142和152。
参考图5C,表510被映射到服务500C。服务500C被映射到集群100的节点102、112、122和132。表510被划分为块512、514、516和518。块分布在集群100的节点102、112、122和132之间。在所示的示例中,块512被加载在节点102的存储器中,块514被加载在节点112的存储器中,块516被加载在节点122的存储器中,并且块518被加载在节点132的存储器中。为了说明的目的,表512被划分为四个块。但是,表可以被划分为任何数量的任何尺寸的块,并且每个节点可以托管不同数量的块。
参考图5D,表510的块512被映射到服务500D,而表510的整体被映射到服务500E。服务500D被映射到集群100的节点102。仅块512被加载在节点102的存储器中。
服务500E被映射到集群140的节点142和节点152两者。表510的块512、514、516和518在节点142和152之间划分。在本图示中,节点142已将块512和516加载到存储器中,并且节点152已将块514和518加载到存储器中。
硬件概述
根据一个实施例,这里描述的技术由一个或多个专用计算设备来实现。专用计算设备可以是硬连线的以执行这些技术,或者可以包括诸如被永久性编程以执行这些技术的一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)的数字电子设备,或者可以包括被编程为按照固件、存储器、其它存储装置或其组合中的程序指令来执行这些技术的一个或多个通用硬件处理器。这些专用计算设备还可以将定制的硬连线逻辑、ASIC或FPGA与定制的编程组合来实现这些技术。专用计算设备可以是台式计算机***、便携式计算机***、手持式设备、联网设备或者包含硬连线和/或程序逻辑以实现这些技术的任何其它设备。
例如,图6是图示本发明的实施例可以在其上实现的计算机***600的框图。计算机***600包括总线602或者用于传送信息的其它通信机制、以及与总线602耦合用于处理信息的硬件处理器604。硬件处理器604可以是例如通用微处理器。
计算机***600还包括耦合到总线602的主存储器606,诸如随机存取存储器(RAM)或其它动态存储设备,用于存储信息和要由处理器604执行的指令。主存储器606还可以用于在要由处理器604执行的指令的执行期间存储临时变量或其它中间信息。当存储在处理器604可访问的非瞬态存储介质中时,这种指令使计算机***600变成为执行指令中所指定的操作而定制的专用机器。
计算机***600还包括耦合到总线602的只读存储器(ROM)608或者其它静态存储设备,用于存储用于处理器604的静态信息和指令。存储设备610,诸如磁盘、光盘或固态驱动器,被提供并且被耦合到总线602,用于存储信息和指令。
计算机***600可以经总线602被耦合到显示器612,诸如阴极射线管(CRT),用于向计算机用户显示信息。输入设备614,包括字母数字和其它键,被耦合到总线602,用于向处理器604传送信息和命令选择。另一种类型的用户输入设备是游标控制616,诸如鼠标、轨迹球或者游标方向键,用于向处理器604传送方向信息和命令选择并且用于在显示器612上控制游标运动。这种输入设备通常具有在两个轴(第一个轴(例如,x)和第二个轴(例如,y))中的两个自由度,以允许设备在平面内指定位置。
计算机***600可以利用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实现本文所述的技术,这些与计算机***相结合使计算机***600或者把计算机***600编程为专用机器。根据本发明的一种实施例,本文的技术由计算机***600响应于处理器604执行包含在主存储器606中的一条或多条指令的一个或多个序列而执行。这种指令可以从另一存储介质,诸如存储设备610,读到主存储器606中。包含在主存储器606中的指令序列的执行使处理器604执行本文所述的处理步骤。在备选实施例中,硬连线的电路***可以代替软件指令或者与其结合使用。
如在本文所使用的,术语“存储介质”是指存储使机器以特定方式操作的数据和/或指令的任何非瞬态介质。这种存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘、磁盘或固态驱动器,诸如存储设备610。易失性介质包括动态存储器,诸如主存储器606。存储介质的常见形式包括,例如,软盘、柔性盘、硬盘、固态驱动器、磁带、或者任何其它磁性数据存储介质、CD-ROM、任何其它光学数据存储介质、任何具有孔模式的物理介质、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其它存储器芯片或盒式磁带。
存储介质与传输介质不同但是可以与其结合使用。传输介质参与在存储介质之间传递信息。例如,传输介质包括同轴电缆、铜线和光纤,包括包含总线602的配线。传输介质还可以采取声波或光波的形式,诸如在无线电波和红外线数据通信中产生的那些。
各种形式的介质可以参与把一条或多条指令的一个或多个序列携带到处理器604供执行。例如,指令最初可以在远端计算机的磁盘或固态驱动器上携带。远端计算机可以把指令加载到其动态存储器中并且利用调制解调器经电话线发送指令。位于计算机***600本地的调制解调器可以在电话线上接收数据并且使用红外线发送器把数据转换成红外线信号。红外线检测器可以接收在红外线信号中携带的数据并且适当的电路***可以把数据放在总线602上。总线602把数据携带到主存储器606,处理器604从该主存储器606检索并执行指令。由主存储器606接收的指令可以可选地在被处理器604执行之前或之后存储在存储设备610上。
计算机***600还包括耦合到总线602的通信接口618。通信接口618提供耦合到网络链路620的双向数据通信,其中网络链路620连接到本地网络622。例如,通信接口618可以是综合业务数字网络(ISDN)卡、电缆调制解调器、卫星调制解调器,或者提供到对应类型的电话线的数据通信连接的调制解调器。作为另一个示例,通信接口618可以是提供到兼容的局域网(LAN)的数据通信连接的LAN卡。无线链路也可以被实现。在任何此类实现中,通信接口618都发送和接收携带表示各种类型信息的数字信号流的电、电磁或光信号。
网络链路620通常通过一个或多个网络向其它数据设备提供数据通信。例如。网络链路620可以通过本地网络622提供到主计算机624或者到由因特网服务提供商(ISP)626操作的数据设备的连接。ISP 626又通过现在通常称为“因特网”628的全球分组数据通信网络提供数据通信服务。本地网络622和因特网628都使用携带数字数据流的电、电磁或光信号。通过各种网络的信号以及在网络链路620上并通过通信接口618的信号是传输介质的示例形式,其中信号把数字数据带到计算机***600或者携带来自计算机***600的数字数据。
计算机***600可以通过(一个或多个)网络、网络链路620和通信接口618发送消息和接收数据,包括程序代码。在因特网示例中,服务器630可以通过因特网628、ISP 626、本地网络622和通信接口618发送为应用程序的所请求代码。
接收到的代码可以在其被接收到时由处理器604执行,和/或存储在存储设备610或其它非易失性存储装置中用于以后执行。
在前面的说明书中,本发明的实施例已经参考众多的具体细节进行了描述,这些细节可以从一种实现变化到另一种实现。因此,说明书和附图被认为是说明性的而不是限制性的。本发明的范围的唯一且排他指示,以及申请人所预期的作为本发明的范围的内容,是从本申请发出的权利要求集合的书面和等效范围,以这种权利要求发出的具体形式,包括任何后续的校正。
Claims (28)
1.一种方法,包括:
在多个节点可访问的数据库中存储将所述数据库中的特定单元映射到特定数据库服务的单元到服务映射;
在所述数据库中存储将所述特定数据库服务映射到一个或多个节点的服务到节点映射;
其中所述一个或多个节点中包括少于所述多个节点的全部;
基于单元到服务映射和服务到节点映射两者,所述一个或多个节点将所述特定单元视为是内存启用的,并且所述多个节点中除所述一个或多个节点之外的节点将所述特定单元视为不是内存启用的;以及
其中所述一个或多个节点中的每个节点响应于加载触发事件通过将内存对象的至少一部分加载到本地易失性存储器中来将所述特定单元视为是内存启用的。
2.如权利要求1所述的方法,其中所述特定单元是整个数据库对象。
3.如权利要求1所述的方法,其中所述特定单元是数据库对象的一个或多个块,但少于所述数据库对象的全部。
4.如权利要求1所述的方法,还包括,作为将所述特定单元的拷贝加载到本地易失性存储器中的一部分,将所述特定单元从持久格式转换成镜像格式。
5.如权利要求1所述的方法,其中:
所述特定单元是所述数据库中的第一对象;
所述数据库包括第二对象;
所述第二对象不被映射到任何服务;以及
所述方法还包括存储数据,所述数据指示所述第二对象将被以下之一视为是启用存储器的:
所述多个节点的全部,或
所述多个节点都不。
6.如权利要求1所述的方法,其中所述一个或多个节点包括已将所述特定单元的拷贝加载到易失性存储器中的第一节点,所述方法还包括:
检测所述特定数据库服务已在所述第一节点上停止;以及
响应于检测到所述特定数据库服务已在所述第一节点上停止,从所述第一节点的本地易失性存储器中将所述特定单元的拷贝解除分配。
7.如权利要求1所述的方法,其中所述一个或多个节点包括已将所述特定单元的拷贝加载到易失性存储器中的第一节点,所述方法还包括:
在所述第一节点处接收要求所述特定单元的请求;
确定所述第一节点已将所述特定单元的拷贝加载到易失性存储器中;以及
读取所述特定单元的拷贝。
8.如权利要求1所述的方法,其中所述一个或多个节点包括已将所述特定单元的拷贝加载到易失性存储器中的第一节点,所述方法还包括:
在第二节点处接收要求所述特定单元的请求;
确定所述第一节点已将所述特定单元的拷贝加载到易失性存储器中;以及
将所述请求发送到所述第一节点。
9.如权利要求1所述的方法,还包括:
接收要求所述特定单元的请求;
确定所述一个或多个节点中没有节点已将所述特定单元的拷贝加载到易失性存储器中;以及
响应于确定没有节点已将所述特定单元的拷贝加载到易失性存储器中,所述一个或多个节点中的至少一个节点将所述特定单元的至少一部分加载到本地易失性存储器中。
10.如权利要求1所述的方法,其中所述多个节点属于第一数据库***,并且所述一个或多个节点包括属于相对于所述第一数据库***不相交的第二数据库***的至少一个节点。
11.如权利要求10所述的方法,其中所述一个或多个节点包括所述第一数据库***中的节点和所述第二数据库***中的节点。
12.如权利要求10所述的方法,其中所述一个或多个节点仅包括所述第二数据库***中的节点。
13.如权利要求10所述的方法,其中:
所述特定单元是所述数据库中的第一对象;
所述数据库包括第二对象,所述第二对象是所述第一对象的一部分;
所述第二对象被映射到所述第一数据库***的一个或多个节点;以及
所述特定单元被映射到所述第二数据库***的一个或多个节点。
14.如权利要求1所述的方法,其中所述特定单元包括多个块,并且所述一个或多个节点中的每个节点托管所述多个块中的一个或多个块。
15.一种或多种非瞬态计算机可读介质存储指令,其中所述指令包括:
当由一个或多个硬件处理器执行时,使得在多个节点可访问的数据库中存储将所述数据库中的特定单元映射到特定数据库服务的单元到服务映射的指令;
当由一个或多个硬件处理器执行时,使得在所述数据库中存储将所述特定数据库服务映射到一个或多个节点的服务到节点映射的指令;
其中所述一个或多个节点中包括少于所述多个节点的全部;
当由一个或多个硬件处理器执行时,使得,基于单元到服务映射和服务到节点映射两者,所述一个或多个节点将所述特定单元视为是内存启用的,并且所述多个节点中除所述一个或多个节点之外的节点将所述特定单元视为不是内存启用的的指令;以及
其中所述一个或多个节点中的每个节点响应于加载触发事件而通过将内存对象的至少一部分加载到本地易失性存储器中来将所述特定单元视为是内存启用的。
16.如权利要求15所述的一种或多种非瞬态计算机可读介质,其中所述特定单元是整个数据库对象。
17.如权利要求15所述的一种或多种非瞬态计算机可读介质,其中所述特定单元是数据库对象的一个或多个块,但少于所述数据库对象的全部。
18.如权利要求15所述的一种或多种非瞬态计算机可读介质,所述指令还包括:
当由一个或多个硬件处理器执行时,作为将所述特定单元的拷贝加载到本地易失性存储器中的一部分,将所述特定单元从持久格式转换成镜像格式的指令。
19.如权利要求15所述的一种或多种非瞬态计算机可读介质,其中:
所述特定单元是所述数据库中的第一对象;
所述数据库包括第二对象;
所述第二对象不被映射到任何服务;以及
所述指令还包括,当由一个或多个硬件处理器执行时,使得存储数据的指令,所述数据指示所述第二对象将被以下之一视为是启用存储器的:
所述多个节点的全部,或
所述多个节点都不。
20.如权利要求15所述的一种或多种非瞬态计算机可读介质,其中所述一个或多个节点包括已将所述特定单元的拷贝加载到易失性存储器中的第一节点,所述指令还包括:
当由一个或多个硬件处理器执行时,使得检测所述特定数据库服务已在所述第一节点上停止的指令;以及
当由一个或多个硬件处理器执行时,使得响应于检测到所述特定数据库服务已在所述第一节点上停止,而从所述第一节点的本地易失性存储器中将所述特定单元的拷贝解除分配的指令。
21.如权利要求15所述的一种或多种非瞬态计算机可读介质,其中所述一个或多个节点包括已将所述特定单元的拷贝加载到易失性存储器中的第一节点,所述指令还包括:
当由一个或多个硬件处理器执行时,使得在所述第一节点处接收要求所述特定单元的请求的指令;
当由一个或多个硬件处理器执行时,使得确定所述第一节点已将所述特定单元的拷贝加载到易失性存储器中的指令;以及
当由一个或多个硬件处理器执行时,使得读取所述特定单元的拷贝的指令。
22.如权利要求15所述的一种或多种非瞬态计算机可读介质,其中所述一个或多个节点包括已将所述特定单元的拷贝加载到易失性存储器中的第一节点,所述指令还包括:
当由一个或多个硬件处理器执行时,使得在第二节点处接收要求所述特定单元的请求的指令;
当由一个或多个硬件处理器执行时,使得确定所述第一节点已将所述特定单元的拷贝加载到易失性存储器中的指令;以及
当由一个或多个硬件处理器执行时,使得将所述请求发送到所述第一节点的指令。
23.如权利要求15所述的一种或多种非瞬态计算机可读介质,所述指令还包括:
当由一个或多个硬件处理器执行时,使得接收要求所述特定单元的请求的指令;
当由一个或多个硬件处理器执行时,使得确定所述一个或多个节点中没有节点已将所述特定单元的拷贝加载到易失性存储器中的指令;以及
当由一个或多个硬件处理器执行时,使得,响应于确定没有节点已将所述特定单元的拷贝加载到易失性存储器中,所述一个或多个节点中的至少一个节点将所述特定单元的至少一部分加载到本地易失性存储器中的指令。
24.如权利要求15所述的一种或多种非瞬态计算机可读介质,其中所述多个节点属于第一数据库***,并且所述一个或多个节点包括属于相对于所述第一数据库***不相交的第二数据库***的至少一个节点。
25.如权利要求24所述的一种或多种非瞬态计算机可读介质,其中所述一个或多个节点包括所述第一数据库***中的节点和所述第二数据库***中的节点。
26.如权利要求24所述的一种或多种非瞬态计算机可读介质,其中所述一个或多个节点仅包括所述第二数据库***中的节点。
27.如权利要求24所述的一种或多种非瞬态计算机可读介质,其中:
所述特定单元是所述数据库中的第一对象;
所述数据库包括第二对象,所述第二对象是所述第一对象的一部分;
所述第二对象被映射到所述第一数据库***的一个或多个节点;以及
所述特定单元被映射到所述第二数据库***的一个或多个节点。
28.如权利要求24所述的一种或多种非瞬态计算机可读介质,其中所述特定单元包括多个块,并且所述一个或多个节点中的每个节点托管所述多个块中的一个或多个块。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/281,718 | 2016-09-30 | ||
US15/281,718 US10474653B2 (en) | 2016-09-30 | 2016-09-30 | Flexible in-memory column store placement |
PCT/US2017/049464 WO2018063723A1 (en) | 2016-09-30 | 2017-08-30 | Flexible in-memory column store placement |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109716280A true CN109716280A (zh) | 2019-05-03 |
CN109716280B CN109716280B (zh) | 2021-05-11 |
Family
ID=59846697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780056804.5A Active CN109716280B (zh) | 2016-09-30 | 2017-08-30 | 灵活的内存列存储布置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10474653B2 (zh) |
EP (1) | EP3519985A1 (zh) |
CN (1) | CN109716280B (zh) |
WO (1) | WO2018063723A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9262490B2 (en) | 2004-08-12 | 2016-02-16 | Oracle International Corporation | Adaptively routing transactions to servers |
US10853253B2 (en) | 2016-08-30 | 2020-12-01 | Oracle International Corporation | Method and systems for master establishment using service-based statistics |
US11036797B2 (en) * | 2017-10-12 | 2021-06-15 | Adtran, Inc. | Efficient storage and utilization of a hierarchical data set |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050027796A1 (en) * | 1995-06-07 | 2005-02-03 | Microsoft Corporation | Directory service for a computer network |
CN103649923A (zh) * | 2013-06-29 | 2014-03-19 | 华为技术有限公司 | 一种numa***内存镜像配置方法、解除方法、***和主节点 |
CN104750579A (zh) * | 2015-04-14 | 2015-07-01 | 华为技术有限公司 | 制作内存镜像的方法和装置 |
US20160070726A1 (en) * | 2013-09-21 | 2016-03-10 | Oracle International Corporation | Automatic verification and triage of query results |
CN105556519A (zh) * | 2013-09-21 | 2016-05-04 | 甲骨文国际公司 | 对oracle存储器中数据库的存储器中快照存储的多版本并行控制 |
Family Cites Families (211)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2883255A (en) | 1954-04-28 | 1959-04-21 | Panellit Inc | Automatic process logging system |
US8700458B2 (en) | 1989-05-01 | 2014-04-15 | Catalina Marketing Corporation | System, method, and database for processing transactions |
JPH06214969A (ja) | 1992-09-30 | 1994-08-05 | Internatl Business Mach Corp <Ibm> | 情報通信方法および装置 |
US5548539A (en) | 1993-11-05 | 1996-08-20 | Analogy, Inc. | Analysis mechanism for system performance simulator |
US5909570A (en) | 1993-12-28 | 1999-06-01 | Webber; David R. R. | Template mapping system for data translation |
US5566316A (en) | 1994-02-10 | 1996-10-15 | Storage Technology Corporation | Method and apparatus for hierarchical management of data storage elements in an array storage device |
US5721909A (en) | 1994-03-30 | 1998-02-24 | Siemens Stromberg-Carlson | Distributed database architecture and distributed database management system for open network evolution |
US6134549A (en) | 1995-03-31 | 2000-10-17 | Showcase Corporation | Client/server computer system having personalizable and securable views of database data |
US5774668A (en) | 1995-06-07 | 1998-06-30 | Microsoft Corporation | System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing |
US5666486A (en) | 1995-06-23 | 1997-09-09 | Data General Corporation | Multiprocessor cluster membership manager framework |
JP3935986B2 (ja) | 1995-12-26 | 2007-06-27 | 富士通株式会社 | ネットワークにおける情報資源の変化を通知するネットワーク情報資源監視システム |
US5721825A (en) | 1996-03-15 | 1998-02-24 | Netvision, Inc. | System and method for global event notification and delivery in a distributed computing environment |
US5913214A (en) | 1996-05-30 | 1999-06-15 | Massachusetts Inst Technology | Data extraction from world wide web pages |
JPH10187638A (ja) | 1996-10-28 | 1998-07-21 | Mitsubishi Electric Corp | クラスタ制御システム |
US6272523B1 (en) | 1996-12-20 | 2001-08-07 | International Business Machines Corporation | Distributed networking using logical processes |
US6035379A (en) | 1997-01-09 | 2000-03-07 | Microsoft Corporation | Transaction processing for user data employing both logging and shadow copying |
US6006274A (en) | 1997-01-30 | 1999-12-21 | 3Com Corporation | Method and apparatus using a pass through personal computer connected to both a local communication link and a computer network for indentifying and synchronizing a preferred computer with a portable computer |
US6041357A (en) | 1997-02-06 | 2000-03-21 | Electric Classified, Inc. | Common session token system and protocol |
US6151688A (en) | 1997-02-21 | 2000-11-21 | Novell, Inc. | Resource management in a clustered computer system |
US6131119A (en) | 1997-04-01 | 2000-10-10 | Sony Corporation | Automatic configuration system for mapping node addresses within a bus structure to their physical location |
US5890167A (en) | 1997-05-08 | 1999-03-30 | Oracle Corporation | Pluggable tablespaces for database systems |
US7031987B2 (en) | 1997-05-30 | 2006-04-18 | Oracle International Corporation | Integrating tablespaces with different block sizes |
US6088728A (en) | 1997-06-11 | 2000-07-11 | Oracle Corporation | System using session data stored in session data storage for associating and disassociating user identifiers for switching client sessions in a server |
US6243751B1 (en) | 1997-06-11 | 2001-06-05 | Oracle Corporation | Method and apparatus for coupling clients to servers |
US5918059A (en) | 1997-08-15 | 1999-06-29 | Compaq Computer Corporation | Method and apparatus for responding to actuation of a power supply switch for a computing system |
US20010034814A1 (en) | 1997-08-21 | 2001-10-25 | Michael D. Rosenzweig | Caching web resources using varied replacement sttrategies and storage |
US6266666B1 (en) | 1997-09-08 | 2001-07-24 | Sybase, Inc. | Component transaction server for developing and deploying transaction- intensive business applications |
US6738790B1 (en) | 1997-10-31 | 2004-05-18 | Oracle International Corporation | Approach for accessing large objects |
US6061678A (en) | 1997-10-31 | 2000-05-09 | Oracle Corporation | Approach for managing access to large objects in database systems using large object indexes |
US6178529B1 (en) | 1997-11-03 | 2001-01-23 | Microsoft Corporation | Method and system for resource monitoring of disparate resources in a server cluster |
SE511098C2 (sv) | 1997-12-08 | 1999-08-02 | Ericsson Telefon Ab L M | Kommunikationssystem och förfarande för att sända meddelanden i ett kommunikationssystem |
US6141759A (en) | 1997-12-10 | 2000-10-31 | Bmc Software, Inc. | System and architecture for distributing, monitoring, and managing information requests on a computer network |
GB2332809A (en) | 1997-12-24 | 1999-06-30 | Northern Telecom Ltd | Least cost routing |
US6230183B1 (en) | 1998-03-11 | 2001-05-08 | International Business Machines Corporation | Method and apparatus for controlling the number of servers in a multisystem cluster |
US6925477B1 (en) | 1998-03-31 | 2005-08-02 | Intellisync Corporation | Transferring records between two databases |
US6105067A (en) | 1998-06-05 | 2000-08-15 | International Business Machines Corp. | Connection pool management for backend servers using common interface |
WO2000010084A2 (en) | 1998-08-17 | 2000-02-24 | Microsoft Corporation | Object load balancing |
US6272491B1 (en) | 1998-08-24 | 2001-08-07 | Oracle Corporation | Method and system for mastering locks in a multiple server database system |
US6327622B1 (en) | 1998-09-03 | 2001-12-04 | Sun Microsystems, Inc. | Load balancing in a network environment |
US20010051956A1 (en) | 1998-09-29 | 2001-12-13 | Paul Bird | Global caching and sharing of sql statements in a heterogeneous application environment |
US6263433B1 (en) | 1998-09-30 | 2001-07-17 | Ncr Corporation | Provision of continuous database service and scalable query performance using active redundant copies |
US6466949B2 (en) | 1998-11-23 | 2002-10-15 | Myway.Com Corporation | Performing event notification in a database having a distributed web cluster |
US6728748B1 (en) | 1998-12-01 | 2004-04-27 | Network Appliance, Inc. | Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet |
US6438705B1 (en) | 1999-01-29 | 2002-08-20 | International Business Machines Corporation | Method and apparatus for building and managing multi-clustered computer systems |
US6801949B1 (en) | 1999-04-12 | 2004-10-05 | Rainfinity, Inc. | Distributed server cluster with graphical user interface |
US7299294B1 (en) | 1999-11-10 | 2007-11-20 | Emc Corporation | Distributed traffic controller for network data |
US6556659B1 (en) | 1999-06-02 | 2003-04-29 | Accenture Llp | Service level management in a hybrid network architecture |
US6453314B1 (en) | 1999-07-30 | 2002-09-17 | International Business Machines Corporation | System and method for selective incremental deferred constraint processing after bulk loading data |
US6609131B1 (en) | 1999-09-27 | 2003-08-19 | Oracle International Corporation | Parallel partition-wise joins |
CA2287871C (en) | 1999-11-01 | 2007-07-31 | Ibm Canada Limited-Ibm Canada Limitee | Secure document management system |
US6748414B1 (en) | 1999-11-15 | 2004-06-08 | International Business Machines Corporation | Method and apparatus for the load balancing of non-identical servers in a network environment |
WO2001044894A2 (en) | 1999-12-06 | 2001-06-21 | Warp Solutions, Inc. | System and method for dynamic content routing |
FI115082B (fi) | 1999-12-23 | 2005-02-28 | Valtion Teknillinen | Monisolmuinen palvelin |
JP2001256333A (ja) | 2000-01-06 | 2001-09-21 | Canon Inc | 作業割付システム、作業割付方法、分散型クライアントサーバシステム及びコンピュータプログラム記憶媒体 |
US6587866B1 (en) | 2000-01-10 | 2003-07-01 | Sun Microsystems, Inc. | Method for distributing packets to server nodes using network client affinity and packet distribution table |
US6529906B1 (en) | 2000-01-28 | 2003-03-04 | Oracle Corporation | Techniques for DLM optimization with re-mastering events |
US6594786B1 (en) | 2000-01-31 | 2003-07-15 | Hewlett-Packard Development Company, Lp | Fault tolerant high availability meter |
US7506034B2 (en) | 2000-03-03 | 2009-03-17 | Intel Corporation | Methods and apparatus for off loading content servers through direct file transfer from a storage center to an end-user |
US6601101B1 (en) | 2000-03-15 | 2003-07-29 | 3Com Corporation | Transparent access to network attached devices |
US20010027491A1 (en) | 2000-03-27 | 2001-10-04 | Terretta Michael S. | Network communication system including metaswitch functionality |
JP2001297026A (ja) | 2000-04-11 | 2001-10-26 | Hitachi Ltd | 複数のデータベースマネージメントシステムを有する計算機システム |
US20030167456A1 (en) | 2000-04-17 | 2003-09-04 | Vinay Sabharwal | Architecture for building scalable object oriented web database applications |
US6950848B1 (en) | 2000-05-05 | 2005-09-27 | Yousefi Zadeh Homayoun | Database load balancing for multi-tier computer systems |
US7225240B1 (en) | 2000-05-20 | 2007-05-29 | Ciena Corporation | Decoupling processes from hardware with logical identifiers |
JP2002007749A (ja) | 2000-06-27 | 2002-01-11 | Hitachi Ltd | サーバ振り分け装置、サービス提供システム及びサービス提供方法 |
WO2002005116A2 (en) | 2000-07-06 | 2002-01-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Automatic database replication server and methods |
JP4292693B2 (ja) | 2000-07-07 | 2009-07-08 | 株式会社日立製作所 | 計算機資源分割装置および資源分割方法 |
EP1312007A4 (en) | 2000-07-17 | 2008-01-02 | Galactic Computing Corp Bvi Ib | PROCESS AND SYSTEM FOR PROVIDING THE MANAGEMENT OF A DYNAMIC HOST SERVICE |
US6990606B2 (en) | 2000-07-28 | 2006-01-24 | International Business Machines Corporation | Cascading failover of a data management application for shared disk file systems in loosely coupled node clusters |
US6816907B1 (en) | 2000-08-24 | 2004-11-09 | International Business Machines Corporation | System and method for providing differentiated services on the web |
WO2002021276A1 (en) | 2000-09-08 | 2002-03-14 | Goahead Software Inc>. | A system and method for managing clusters containing multiple nodes |
US7293255B2 (en) | 2000-09-25 | 2007-11-06 | Sun Microsystems, Inc. | Apparatus and method for automated creation of resource types |
US7272653B2 (en) | 2000-09-28 | 2007-09-18 | International Business Machines Corporation | System and method for implementing a clustered load balancer |
US7336613B2 (en) | 2000-10-17 | 2008-02-26 | Avaya Technology Corp. | Method and apparatus for the assessment and optimization of network traffic |
US7181492B2 (en) | 2000-10-17 | 2007-02-20 | Concerto Software, Inc. | Transfer of an internet chat session between servers |
US20020055982A1 (en) | 2000-11-03 | 2002-05-09 | The Board Of Regents Of The University Of Nebraska | Controlled server loading using L4 dispatching |
EP1206085B1 (en) | 2000-11-08 | 2005-09-07 | Infonet Services Corporation, A California Corporation | Method and apparatus for automated service level agreements |
US20020146129A1 (en) | 2000-11-09 | 2002-10-10 | Kaplan Ari D. | Method and system for secure wireless database management |
US20020087798A1 (en) | 2000-11-15 | 2002-07-04 | Vijayakumar Perincherry | System and method for adaptive data caching |
US7296268B2 (en) | 2000-12-18 | 2007-11-13 | Microsoft Corporation | Dynamic monitor and controller of availability of a load-balancing cluster |
US7080075B1 (en) | 2004-12-27 | 2006-07-18 | Oracle International Corporation | Dynamic remastering for a subset of nodes in a cluster environment |
US7389293B2 (en) | 2000-12-20 | 2008-06-17 | Oracle International Corporation | Remastering for asymmetric clusters in high-load scenarios |
US7512686B2 (en) | 2000-12-21 | 2009-03-31 | Berg Mitchell T | Method and system for establishing a data structure of a connection with a client |
US7032025B2 (en) | 2001-01-12 | 2006-04-18 | Soundstarts, Inc. | Method and apparatus for monitoring and transferring a client from a low priority access number to a higher priority access number during active internet and other WAN connection-sessions |
US20020099598A1 (en) | 2001-01-22 | 2002-07-25 | Eicher, Jr. Daryl E. | Performance-based supply chain management system and method with metalerting and hot spot identification |
US20020129146A1 (en) | 2001-02-06 | 2002-09-12 | Eyal Aronoff | Highly available database clusters that move client connections between hosts |
US7162467B2 (en) | 2001-02-22 | 2007-01-09 | Greenplum, Inc. | Systems and methods for managing distributed database resources |
US8473568B2 (en) | 2001-03-26 | 2013-06-25 | Microsoft Corporation | Methods and systems for processing media content |
US7269157B2 (en) | 2001-04-10 | 2007-09-11 | Internap Network Services Corporation | System and method to assure network service levels with intelligent routing |
US20020198985A1 (en) | 2001-05-09 | 2002-12-26 | Noam Fraenkel | Post-deployment monitoring and analysis of server performance |
US6738933B2 (en) | 2001-05-09 | 2004-05-18 | Mercury Interactive Corporation | Root cause analysis of server system performance degradations |
US7197559B2 (en) | 2001-05-09 | 2007-03-27 | Mercury Interactive Corporation | Transaction breakdown feature to facilitate analysis of end user performance of a server system |
JP4953518B2 (ja) | 2001-05-14 | 2012-06-13 | ケープレックス・インク | オブジェクト指向技術を用いた情報共有方法及び装置 |
US20020194015A1 (en) | 2001-05-29 | 2002-12-19 | Incepto Ltd. | Distributed database clustering using asynchronous transactional replication |
US6987765B2 (en) | 2001-06-14 | 2006-01-17 | Nortel Networks Limited | Changing media sessions |
JP4306152B2 (ja) | 2001-06-26 | 2009-07-29 | 株式会社日立製作所 | クラスタ化したアプリケーションサーバおよびデータベース構造を持つWebシステム |
US7734676B2 (en) | 2001-06-27 | 2010-06-08 | International Business Machines Corporation | Method for controlling the number of servers in a hierarchical resource environment |
US20030014523A1 (en) | 2001-07-13 | 2003-01-16 | John Teloh | Storage network data replicator |
US7174379B2 (en) | 2001-08-03 | 2007-02-06 | International Business Machines Corporation | Managing server resources for hosted applications |
GB0119145D0 (en) | 2001-08-06 | 2001-09-26 | Nokia Corp | Controlling processing networks |
WO2003017522A2 (en) | 2001-08-16 | 2003-02-27 | Flarion Technologies, Inc. | Methods and apparatus for controlling ip applications during resource shortages |
US6799188B2 (en) | 2001-08-31 | 2004-09-28 | Borland Software Corporation | Transaction processing system providing improved methodology for two-phase commit decision |
US6880002B2 (en) | 2001-09-05 | 2005-04-12 | Surgient, Inc. | Virtualized logical server cloud providing non-deterministic allocation of logical attributes of logical servers to physical resources |
US7039669B1 (en) | 2001-09-28 | 2006-05-02 | Oracle Corporation | Techniques for adding a master in a distributed database without suspending database operations at extant master sites |
US7093250B1 (en) | 2001-10-11 | 2006-08-15 | Ncr Corporation | Priority scheduler for database access |
US6873694B2 (en) | 2001-10-30 | 2005-03-29 | Hewlett-Packard Development Company, L.P. | Telephony network optimization method and system |
US7222190B2 (en) | 2001-11-02 | 2007-05-22 | Internap Network Services Corporation | System and method to provide routing control of information over data networks |
US6892316B2 (en) | 2001-11-02 | 2005-05-10 | International Business Machines Corporation | Switchable resource management in clustered computer system |
US7177823B2 (en) | 2001-11-06 | 2007-02-13 | International Business Machines Corporation | In-queue jobs information monitoring and filtering |
CA2467813C (en) | 2001-11-30 | 2014-01-07 | Oracle International Corporation | Real composite objects for providing high availability of resources on networked systems |
JP3898498B2 (ja) | 2001-12-06 | 2007-03-28 | 富士通株式会社 | サーバ負荷分散システム |
EP1320217B1 (en) | 2001-12-14 | 2004-10-13 | Hewlett-Packard Company, A Delaware Corporation | Method of installing monitoring agents, system and computer program for monitoring objects in an IT network |
US7293105B2 (en) | 2001-12-21 | 2007-11-06 | Cisco Technology, Inc. | Methods and apparatus for implementing a high availability fibre channel switch |
US20030135609A1 (en) | 2002-01-16 | 2003-07-17 | Sun Microsystems, Inc. | Method, system, and program for determining a modification of a system resource configuration |
US6732063B2 (en) | 2002-02-01 | 2004-05-04 | National Research Council Of Canada | Method of identifying abnormal behavior in a fleet of vehicles |
US20080027769A1 (en) | 2002-09-09 | 2008-01-31 | Jeff Scott Eder | Knowledge based performance management system |
US7039654B1 (en) | 2002-09-12 | 2006-05-02 | Asset Trust, Inc. | Automated bot development system |
US20030154398A1 (en) | 2002-02-08 | 2003-08-14 | Eaton Eric Thomas | System for providing continuity between session clients and method therefor |
US7392302B2 (en) | 2002-02-21 | 2008-06-24 | Bea Systems, Inc. | Systems and methods for automated service migration |
US7178050B2 (en) | 2002-02-22 | 2007-02-13 | Bea Systems, Inc. | System for highly available transaction recovery for transaction processing systems |
US9087319B2 (en) | 2002-03-11 | 2015-07-21 | Oracle America, Inc. | System and method for designing, developing and implementing internet service provider architectures |
US7392421B1 (en) | 2002-03-18 | 2008-06-24 | Symantec Operating Corporation | Framework for managing clustering and replication |
CA2377649C (en) | 2002-03-20 | 2009-02-03 | Ibm Canada Limited-Ibm Canada Limitee | Dynamic cluster database architecture |
US20030229695A1 (en) | 2002-03-21 | 2003-12-11 | Mc Bride Edmund Joseph | System for use in determining network operational characteristics |
NZ518575A (en) | 2002-04-24 | 2004-08-27 | Open Cloud Ltd | Distributed application server using a peer configuration |
US6850942B2 (en) | 2002-04-26 | 2005-02-01 | International Business Machines Corporation | System and method for providing multiple virtual database connections in a relational database system |
US7496655B2 (en) | 2002-05-01 | 2009-02-24 | Satyam Computer Services Limited Of Mayfair Centre | System and method for static and dynamic load analyses of communication network |
WO2003103305A1 (en) | 2002-05-31 | 2003-12-11 | Spatial Wireless, Inc. | Method and system for providing location information of a mobile station |
US7529822B2 (en) | 2002-05-31 | 2009-05-05 | Symantec Operating Corporation | Business continuation policy for server consolidation environment |
US6925541B2 (en) | 2002-06-12 | 2005-08-02 | Hitachi, Ltd. | Method and apparatus for managing replication volumes |
US20040030801A1 (en) | 2002-06-14 | 2004-02-12 | Moran Timothy L. | Method and system for a client to invoke a named service |
US7058957B1 (en) | 2002-07-12 | 2006-06-06 | 3Pardata, Inc. | Cluster event notification system |
US7058717B2 (en) | 2002-07-25 | 2006-06-06 | International Business Machines Corporation | Method and system for providing highly available services based on a load balancing policy and a reusable connection context object |
US7774473B2 (en) | 2002-07-31 | 2010-08-10 | Oracle America, Inc. | System and method for sticky routing of requests within a server farm |
US7191298B2 (en) | 2002-08-02 | 2007-03-13 | International Business Machines Corporation | Flexible system and method for mirroring data |
US7120645B2 (en) | 2002-09-27 | 2006-10-10 | Oracle International Corporation | Techniques for rewriting XML queries directed to relational database constructs |
US7200657B2 (en) | 2002-10-01 | 2007-04-03 | International Business Machines Corporation | Autonomic provisioning of network-accessible service behaviors within a federated grid infrastructure |
US7251496B2 (en) | 2002-10-03 | 2007-07-31 | Cisco Technology, Inc. | Mobile director |
AU2003282541A1 (en) | 2002-10-10 | 2004-05-04 | Pb And J Software, Llc | Method and system for sharing storage space on a computer |
US8005979B2 (en) | 2002-10-28 | 2011-08-23 | Oracle America, Inc. | System and method for uniquely identifying processes and entities in clusters |
US7346744B1 (en) | 2002-11-04 | 2008-03-18 | Newisys, Inc. | Methods and apparatus for maintaining remote cluster state information |
US8140677B2 (en) | 2002-11-21 | 2012-03-20 | International Business Machines Corporation | Autonomic web services hosting service |
US20040111506A1 (en) | 2002-12-10 | 2004-06-10 | International Business Machines Corporation | System and method for managing web utility services |
US7243351B2 (en) | 2002-12-17 | 2007-07-10 | International Business Machines Corporation | System and method for task scheduling based upon the classification value and probability |
US7406481B2 (en) | 2002-12-17 | 2008-07-29 | Oracle International Corporation | Using direct memory access for performing database operations between two or more machines |
US7349980B1 (en) | 2003-01-24 | 2008-03-25 | Blue Titan Software, Inc. | Network publish/subscribe system incorporating Web services network routing architecture |
US20040176996A1 (en) | 2003-03-03 | 2004-09-09 | Jason Powers | Method for monitoring a managed system |
JP2006523341A (ja) | 2003-03-17 | 2006-10-12 | ロバート・ダント | ネットワークベースの通信システム |
JP2004302751A (ja) | 2003-03-31 | 2004-10-28 | Hitachi Ltd | 計算機システムの性能管理方法、および、記憶装置の性能を管理する計算機システム |
US7284054B2 (en) | 2003-04-11 | 2007-10-16 | Sun Microsystems, Inc. | Systems, methods, and articles of manufacture for aligning service containers |
US7263590B1 (en) | 2003-04-23 | 2007-08-28 | Emc Corporation | Method and apparatus for migrating data in a computer system |
US7272688B1 (en) | 2003-04-28 | 2007-09-18 | Newisys,, Inc. | Methods and apparatus for providing cache state information |
US7349340B2 (en) | 2003-06-18 | 2008-03-25 | Hewlett-Packard Development Company, L.P. | System and method of monitoring e-service Quality of Service at a transaction level |
US7519577B2 (en) | 2003-06-23 | 2009-04-14 | Microsoft Corporation | Query intermediate language method and system |
US7613822B2 (en) | 2003-06-30 | 2009-11-03 | Microsoft Corporation | Network load balancing with session information |
JP2005038354A (ja) | 2003-07-18 | 2005-02-10 | Sap Ag | データ受け渡し制御装置、データ受け渡し制御方法、及びデータ受け渡し制御プログラム |
US7139772B2 (en) * | 2003-08-01 | 2006-11-21 | Oracle International Corporation | Ownership reassignment in a shared-nothing database system |
US7437459B2 (en) | 2003-08-14 | 2008-10-14 | Oracle International Corporation | Calculation of service performance grades in a multi-node environment that hosts the services |
US7937493B2 (en) * | 2003-08-14 | 2011-05-03 | Oracle International Corporation | Connection pool use of runtime load balancing service performance advisories |
US7664847B2 (en) | 2003-08-14 | 2010-02-16 | Oracle International Corporation | Managing workload by service |
US7603340B2 (en) | 2003-09-04 | 2009-10-13 | Oracle International Corporation | Automatic workload repository battery of performance statistics |
US7774312B2 (en) | 2003-09-04 | 2010-08-10 | Oracle International Corporation | Self-managing performance statistics repository for databases |
US7292961B2 (en) | 2003-09-05 | 2007-11-06 | Oracle International Corporation | Capturing session activity as in-memory snapshots using a time-based sampling technique within a database for performance tuning and problem diagnosis |
US20050091215A1 (en) * | 2003-09-29 | 2005-04-28 | Chandra Tushar D. | Technique for provisioning storage for servers in an on-demand environment |
US7599948B2 (en) | 2003-10-10 | 2009-10-06 | Oracle International Corporation | Object relational mapping layer |
JP4066932B2 (ja) | 2003-11-10 | 2008-03-26 | 株式会社日立製作所 | 予測に基づいた計算機リソース配分方法 |
US20050114309A1 (en) | 2003-11-24 | 2005-05-26 | International Business Machines Corporation | Method for invoking and integrating multiple functional modules |
US7702676B2 (en) | 2006-12-29 | 2010-04-20 | Teradata Us, Inc. | Parallel virtual optimization |
US8578462B2 (en) | 2003-12-12 | 2013-11-05 | Avaya Inc. | Method and system for secure session management in a web farm |
US8346909B2 (en) | 2004-01-22 | 2013-01-01 | International Business Machines Corporation | Method for supporting transaction and parallel application workloads across multiple domains based on service level agreements |
US7379952B2 (en) | 2004-01-30 | 2008-05-27 | Oracle International Corporation | Techniques for multiple window resource remastering among nodes of a cluster |
EP1566940A1 (en) | 2004-02-20 | 2005-08-24 | Alcatel Alsthom Compagnie Generale D'electricite | A method, a service system, and a computer software product of self-organizing distributing services in a computing network |
JP4631301B2 (ja) | 2004-03-31 | 2011-02-16 | 株式会社日立製作所 | 記憶装置のキャッシュ管理方法 |
US20050217711A1 (en) | 2004-03-31 | 2005-10-06 | Fu Tai Umbrella Works,Ltd. | Super-shortened multiple-fold umbrella shaft |
US7177878B2 (en) | 2004-04-13 | 2007-02-13 | International Business Machines Corporation | Simple persistence mechanism for server based web applications |
US20060064478A1 (en) | 2004-05-03 | 2006-03-23 | Level 3 Communications, Inc. | Geo-locating load balancing |
US20050267965A1 (en) | 2004-05-13 | 2005-12-01 | Ixi Mobile (R&D) Ltd. | Mobile router graceful shutdown system and method |
US7805407B1 (en) | 2004-06-16 | 2010-09-28 | Oracle America, Inc. | System and method for dynamic configuration of replicated database servers |
US7984073B1 (en) | 2004-07-09 | 2011-07-19 | Crossroads Systems, Inc. | System and method for providing service management in a distributed database system |
US7809690B2 (en) | 2004-07-13 | 2010-10-05 | Oracle International Corporation | Performance metric-based selection of one or more database server instances to perform database recovery |
US7313570B2 (en) | 2004-08-05 | 2007-12-25 | International Business Machines Corporation | Mapping Enterprise Java Bean attributes to database schema |
US7483918B2 (en) | 2004-08-10 | 2009-01-27 | Microsoft Corporation | Dynamic physical database design |
US7587400B2 (en) | 2004-08-12 | 2009-09-08 | Oracle International Corporation | Suspending a result set and continuing from a suspended result set for transparent session migration |
US9262490B2 (en) | 2004-08-12 | 2016-02-16 | Oracle International Corporation | Adaptively routing transactions to servers |
US8458467B2 (en) | 2005-06-21 | 2013-06-04 | Cisco Technology, Inc. | Method and apparatus for adaptive application message payload content transformation in a network infrastructure element |
US20060161816A1 (en) | 2004-12-22 | 2006-07-20 | Gula Ronald J | System and method for managing events |
US8037169B2 (en) | 2005-05-18 | 2011-10-11 | Oracle International Corporation | Determining affinity in a cluster |
US7493400B2 (en) | 2005-05-18 | 2009-02-17 | Oracle International Corporation | Creating and dissolving affinity relationships in a cluster |
JP4611830B2 (ja) | 2005-07-22 | 2011-01-12 | 優 喜連川 | データベース管理システム及び方法 |
US7814065B2 (en) | 2005-08-16 | 2010-10-12 | Oracle International Corporation | Affinity-based recovery/failover in a cluster environment |
US8527473B1 (en) | 2005-10-20 | 2013-09-03 | Teradata Us, Inc. | Identifying database request sources in multi-database systems |
US7774329B1 (en) | 2006-12-22 | 2010-08-10 | Amazon Technologies, Inc. | Cross-region data access in partitioned framework |
US7698260B2 (en) | 2007-03-09 | 2010-04-13 | International Business Machines Corporation | Apparatus and method for handling a LET binding |
US20090182718A1 (en) | 2007-05-08 | 2009-07-16 | Digital River, Inc. | Remote Segmentation System and Method Applied To A Segmentation Data Mart |
NL1034027C2 (nl) | 2007-06-22 | 2008-12-23 | Stork Pmt | Inrichting en werkwijze voor het in positie brengen en het aanbrengen van een borstkap van een geslacht gevogelte op een productdrager. |
US8391295B2 (en) | 2007-07-31 | 2013-03-05 | Oracle International Corporation | Temporal affinity-based routing of workloads |
US20100174863A1 (en) | 2007-11-30 | 2010-07-08 | Yahoo! Inc. | System for providing scalable in-memory caching for a distributed database |
US20090144338A1 (en) | 2007-11-30 | 2009-06-04 | Yahoo! Inc. | Asynchronously replicated database system using dynamic mastership |
US20090198736A1 (en) | 2008-01-31 | 2009-08-06 | Jinmei Shen | Time-Based Multiple Data Partitioning |
US20090216438A1 (en) | 2008-02-21 | 2009-08-27 | Microsoft Corporation | Facility map framework |
GB2459354A (en) | 2008-04-25 | 2009-10-28 | Ibm | Emulating a plurality of databases using a single physical database |
US8145806B2 (en) | 2008-09-19 | 2012-03-27 | Oracle International Corporation | Storage-side storage request management |
US8117488B2 (en) | 2009-10-23 | 2012-02-14 | Oracle International Corporation | Cluster neighborhood event advisory |
US9589029B2 (en) | 2010-12-28 | 2017-03-07 | Citrix Systems, Inc. | Systems and methods for database proxy request switching |
US8838535B2 (en) | 2012-10-05 | 2014-09-16 | Oracle International Corporation | Providing services across systems that manage distributed replicas |
US9292564B2 (en) * | 2013-09-21 | 2016-03-22 | Oracle International Corporation | Mirroring, in memory, data from disk to improve query performance |
US9679004B2 (en) | 2014-07-21 | 2017-06-13 | Oracle International Corporation | Planned cluster node maintenance with low impact on application throughput |
US10002148B2 (en) * | 2014-07-22 | 2018-06-19 | Oracle International Corporation | Memory-aware joins based in a database cluster |
US9875259B2 (en) * | 2014-07-22 | 2018-01-23 | Oracle International Corporation | Distribution of an object in volatile memory across a multi-node cluster |
US9900275B2 (en) * | 2015-06-01 | 2018-02-20 | Apple Inc. | Tracking object across processes |
US20170017680A1 (en) * | 2015-07-13 | 2017-01-19 | Codership Oy | Method for handling writes in database clusters with temporarily disjoint nodes |
-
2016
- 2016-09-30 US US15/281,718 patent/US10474653B2/en active Active
-
2017
- 2017-08-30 EP EP17764999.3A patent/EP3519985A1/en not_active Ceased
- 2017-08-30 WO PCT/US2017/049464 patent/WO2018063723A1/en active Search and Examination
- 2017-08-30 CN CN201780056804.5A patent/CN109716280B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050027796A1 (en) * | 1995-06-07 | 2005-02-03 | Microsoft Corporation | Directory service for a computer network |
CN103649923A (zh) * | 2013-06-29 | 2014-03-19 | 华为技术有限公司 | 一种numa***内存镜像配置方法、解除方法、***和主节点 |
US20160070726A1 (en) * | 2013-09-21 | 2016-03-10 | Oracle International Corporation | Automatic verification and triage of query results |
CN105556519A (zh) * | 2013-09-21 | 2016-05-04 | 甲骨文国际公司 | 对oracle存储器中数据库的存储器中快照存储的多版本并行控制 |
CN104750579A (zh) * | 2015-04-14 | 2015-07-01 | 华为技术有限公司 | 制作内存镜像的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109716280B (zh) | 2021-05-11 |
US20180096010A1 (en) | 2018-04-05 |
WO2018063723A1 (en) | 2018-04-05 |
EP3519985A1 (en) | 2019-08-07 |
US10474653B2 (en) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11354334B2 (en) | Cloning catalog objects | |
US9740706B2 (en) | Management of intermediate data spills during the shuffle phase of a map-reduce job | |
US10795905B2 (en) | Data stream ingestion and persistence techniques | |
US10691716B2 (en) | Dynamic partitioning techniques for data streams | |
US9794135B2 (en) | Managed service for acquisition, storage and consumption of large-scale data streams | |
US20190220459A1 (en) | Batch Data Ingestion In Database Systems | |
US9276959B2 (en) | Client-configurable security options for data streams | |
JP5411250B2 (ja) | 冗長データ記憶システムへの指示に従ってのデータ配置 | |
US9639589B1 (en) | Chained replication techniques for large-scale data streams | |
US9471585B1 (en) | Decentralized de-duplication techniques for largescale data streams | |
JP5765416B2 (ja) | 分散ストレージシステムおよび方法 | |
US20150134626A1 (en) | Partition-based data stream processing framework | |
US9984139B1 (en) | Publish session framework for datastore operation records | |
CN109716280A (zh) | 灵活的内存列存储布置 | |
JP6305645B2 (ja) | ホスト型分析のための動的n次元キューブ | |
US20200133491A1 (en) | Efficient space accounting mechanisms for tracking unshared pages between a snapshot volume and its parent volume | |
KR101718739B1 (ko) | 이기종 하둡을 위한 동적 데이터 복제 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |