[发明专利]共享存储数据库系统中的路由请求在审
申请号: | 201880061838.8 | 申请日: | 2018-08-21 |
公开(公告)号: | CN111164587A | 公开(公告)日: | 2020-05-15 |
发明(设计)人: | J·R·洛埃扎;胡维民;M·迪尔曼;L·诺瓦克 | 申请(专利权)人: | 甲骨文国际公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/22 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 罗亚男 |
地址: | 美国加*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 共享 存储 数据库 系统 中的 路由 请求 | ||
本文描述了用于基于查询将查询路由到多节点数据库系统的特定节点的技术。数据库表被分区为多个亲和组。每个亲和组被分配特定的节点作为该亲和组的主节点。将映射发送到查询路由器,该映射指示这多个亲和组中的每个亲和组的主节点。对于特定查询,查询路由器基于映射和该特定查询确定要将该特定查询发送到的目标节点。
技术领域
本发明涉及数据库管理系统,并且具体地涉及用于共享存储数据库系统的路由请求。
背景技术
数据库系统通常在磁盘上存储数据库对象(例如,表、索引等),并根据需要将来自这些数据库对象的数据项加载到易失性存储器中。一旦被加载到易失性存储器中,数据项就可以保持被缓存在易失性存储器中,以便对相同数据项的后续访问不会带来从磁盘访问数据项的开销。
集群共享磁盘数据库系统包括多个节点。如果若干个节点访问相同的数据项,则这些数据项可以被缓存在每个节点的易失性存储器中。但是,需要锁和更新机制来保持不同节点之间的缓存一致性。此外,执行节点间的锁请求以及从其他节点的易失性存储器中获取数据项会对数据库系统的性能和可伸缩性产生负面影响。
一种可能的方法是将数据库对象的副本加载到集群中单个节点的易失性存储器中。为了获得已预加载该对象的好处,可以将与该对象有关的工作运送到预加载该对象的节点。或者,可以将数据从预加载该对象的节点发送到接收该工作的节点。尽管运送工作或接收数据可能比访问磁盘上对象快,但运送工作或请求数据仍需要附加的时间。
另一种可能的方法是将数据库数据进行划分并存储在分别的数据库中。每个数据库都被分配给一个特定的节点。这样可以避免必须保持节点之间的缓存一致性,但是节点不直接访问它们未被分配到的数据库数据。因此,如果一个数据库的被请求的工作需要被存储在其他数据库中的数据项,则该数据库需要更长的时间才能完成该工作。
第三种可能的方法是对数据库应用程序进行硬编码,以将对特定数据库数据的请求路由到特定节点,以便每个节点处理数据的不相交子集。但是,为了继续保持性能,如果访问模式改变、数据集大小改变或可用数据库实例的数量更改,则必须使用新的数据到节点的映射更新应用程序。
本节中描述的方法是可以采用的方法,但不一定是先前已经设想或采用的方法。因此,除非另有说明,否则不应认为本节所述的任何方法仅因其包含在本节中而被视为现有技术。
附图说明
在附图中:
图1是示出了可以实现实施例的数据库系统的框图。
图2是示出了根据实施例的被划分为亲和组的数据库对象的框图;
图3是示出了根据实施例的亲和组映射的框图;
图4是示出了根据实施例的用于确定如何路由请求的步骤的流程图;
图5是示出了可用于实现本文描述的技术的计算机系统的框图。
具体实施方式
在下面的描述中,出于解释的目的,阐述了许多具体细节以便提供对本发明的透彻理解。然而,将显而易见的是,可以在没有这些具体细节的情况下实践本发明。在其他情况下,以框图形式示出了公知的结构和设备,以避免不必要地模糊本发明。
概况
这里描述了用于基于查询将查询路由到多节点数据库系统的特定节点的技术。根据一个实施例,数据库表被分区为多个亲和组。每个亲和组都被分配给多节点数据库系统的特定节点。
特定节点是亲和组的主节点。主节点处理对亲和组的锁请求。如果节点需要针对亲和组中的数据的锁,则该节点向主节点发送锁请求。但是,如果主节点需要针对亲和组的锁,则主节点不需要发送请求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于甲骨文国际公司,未经甲骨文国际公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201880061838.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:促进无线通信系统中的前向兼容接收器
- 下一篇:浸渍树脂混合物