CN100543738C - 通过对记录对的空间分块来优化用于记录链接的数据库访问 - Google Patents
通过对记录对的空间分块来优化用于记录链接的数据库访问 Download PDFInfo
- Publication number
- CN100543738C CN100543738C CNB2005800068291A CN200580006829A CN100543738C CN 100543738 C CN100543738 C CN 100543738C CN B2005800068291 A CNB2005800068291 A CN B2005800068291A CN 200580006829 A CN200580006829 A CN 200580006829A CN 100543738 C CN100543738 C CN 100543738C
- Authority
- CN
- China
- Prior art keywords
- quadrant
- database
- section
- data
- record
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供一种用于通过对记录对的空间分块来优化用于记录链接的数据库访问的系统与方法,该系统包括处理器、与处理器进行信号通信的用于将数据库数据分段为数据段并将这些数据段配对为数据象限的分段与配对单元、以及与处理器进行信号通信的用于针对每个象限检测副本的副本检测单元,并且该方法包括接收数据库数据、将数据库数据分段为数据段、将数据段配对为数据象限、以及针对每个象限检测副本。
Description
相关申请的交叉引用
本申请要求于2004年3月5日提交的名称为“Optimizing DatabaseAccess for Record Linkage by Tiling the Space of Record Pairs”的、序列号为No.60/550,454(代理案卷No.2004P03682US)的美国临时申请的权益,在此该申请以其整体被引入作为参考。
技术领域
本发明涉及用于通过对记录对的空间分块来优化用于记录链接的数据库访问的方法和系统。
背景技术
数据库的记录链接是找到表示相同实体的记录对或记录集的问题。对于完全不适合随机存取存储器的大型数据库来说,所有可能的记录对的比较涉及多次数据库读取,以使需要被比较的数据记录进入存储器中。这可能是一种费时且低效的操作。
在以前所考虑的技术中,每次数据库读取都将把要被比较的那些记录加载到存储器中,那些记录比如是具有相同块密钥值的那些记录。这些方法存在一些缺点。一个缺点是这种块的数量大并且因此所需的数据库读取的次数是大的。另一个缺点是块尺寸可以在宽范围内变化。对于小的块来说,该方法导致存储器资源的浪费。对于太大的块来说,它导致存储器溢出错误。
因此,希望优化用于记录链接的数据库访问。
发明内容
通过用于通过对记录对的空间分块来优化用于记录链接的数据库访问的典型系统和方法来解决现有技术的这些以及其它缺点与缺陷。
用于通过对记录对的空间分块来优化用于记录链接的数据库访问的典型系统包括处理器、与处理器进行信号通信的用于将数据库数据分段为数据段并将这些数据段配对为数据象限的分段与配对单元、以及与处理器进行信号通信的用于针对每个象限检测副本的副本检测单元。
用于通过对记录对的空间分块来优化用于记录链接的数据库访问的典型方法包括获取数据库数据、将数据库数据分段为数据段、将数据段配对为数据象限、以及针对每个象限检测副本。
根据以下的应结合附图来阅读的对典型实施例的描述,本公开内容的这些以及其他方面、特征和优点将变得显而易见。
附图说明
根据下面的示范图,本公开内容讲解用于通过对记录对的空间分块来优化用于记录链接的数据库访问的系统与方法,其中:
图1示出根据本公开内容的说明性实施例的、用于通过对记录对的空间分块来优化用于记录链接的数据库访问的系统的示意图;以及
图2示出根据本公开内容的说明性实施例的、用于通过对记录对的空间分块来优化用于记录链接的数据库访问的方法的流程图。
具体实施方式
提供一种用于在记录链接时使数据库读取最小化的分块技术,该分块技术包括通过对记录对的空间分块来优化用于记录链接的数据库访问。分块技术将大型数据库的记录链接或副本检测问题分为较小数据库的多个记录链接问题,其中较小数据库可以各自被完全加载到存储器中。该技术使数据库读取的次数最小化,并且使块尺寸的范围缩小,以使存储器资源的有效利用最大化并避免存储器溢出错误。
本公开内容的示范实施例在保证在一段时间内任何记录对将在存储器中可用的同时使数据库读取的次数最小化。此外,这些实施例使对于每次读取来说要读入存储器中的记录的数目稳定并最大化。
如图1中所示,根据本公开内容的说明性实施例的、用于通过对记录对的空间分块来优化用于记录链接的数据库访问的系统用附图标记100来概括表示。系统100包括与系统总线104进行信号通信的至少一个处理器或中央处理单元(CPU)102。只读存储器(ROM)106、随机存取存储器(RAM)108、显示适配器110、I/O适配器112、用户接口适配器114、和通信适配器128也与系统总线104进行信号通信。显示单元116通过显示适配器110与系统总线104进行信号通信。盘存储单元118、例如磁盘或光盘存储单元通过I/O适配器112与系统总线104进行信号通信。鼠标120、键盘122、和眼动跟踪装置124通过用户接口适配器114与系统总线104进行信号通信。
分段与配对单元170以及副本检测单元180也被包括在系统100中,并且与CPU 102和系统总线104进行信号通信。虽然分段与配对单元170以及副本检测单元180被示出为耦合至至少一个处理器或CPU 102,但优选地以被存储在存储器106、108和118中的至少一个中的计算机程序代码来体现这些组件,其中该计算机程序代码由CPU 102执行。
转向图2,根据本公开内容的说明性实施例的、用于通过对记录对的空间分块来优化用于记录链接的数据库访问的方法用附图标记200来概括表示。方法200包括开始模块210,该开始模块将控制传递给输入模块212。输入模块212接收数据库数据并将控制传递给功能模块214。功能模块214对数据库数据进行分段并将控制传递给功能模块216。功能模块216又将段配对为象限并将控制传递给功能模块218。功能模块218针对每个象限检测副本并将控制传递给结束模块220。
在操作中,该技术允许将记录链接的大的任务或者工作分为多个较小的任务或者象限。每个象限完全适合于处理单元的RAM。因此,可以在一个CPU上或者并行地在多个独立的CPU上顺序地处理象限。
大型数据库被分为多个、即s个不相交并且基本上相等的段。基于两个参数来确定段中的记录的数目:(1)存储器容量、和(2)记录的尺寸;使得2个段可被加载到存储器中。选择划分标准,以便读入存储器中的段是最有效的。例如,段由记录ID的范围来决定。
从s个段中,将形成s(s-1)/2个段对。通过结合段号i和段号j来形成称为象限的每一对,其中i<j。
针对每个象限,进行副本检测。简而言之,将对有N条记录的数据库的副本检测工作划分为s(s-1)/2项对有2N/s条记录的数据库的副本检测工作。那些工作中的每一项都需要两次数据库读取。为了使所有(s(s-1)/2)个象限的数据库读取的次数等于(s(s-1)/2+1),可以安排处理这些工作的次序。这样的次序的一个例子如下:(1,2)(1,3)...(1,s)(2,s)(2,s-1)...(2,3)(3,4)(3,5)..(s-1,s)。这是用于保证将在存储器中同时找到N条记录中的任何一对的数据库读取的最小次数。
象限的处理彼此略有不同。对于段的象限(1,2),考虑所有对。在每个象限中,实际上并非对所有所考虑的对都进行比较。在对将被比较前它必须满足某一条件。也就是说,只有当两条记录有相同的块密钥时,对两条记录进行比较。这里,块密钥是预先指定的索引的集合,并且记录的块密钥值是那些指定位置上的字符串。对于象限(1,i),如果(1)一条记录在段1中且另一条记录在段i中或者(2)两条记录都在段i中,那么将考虑一对两条记录。对于象限(i,j)j>i>1,如果一条记录在段i中且另一条记录在段j中,那么将考虑这两条记录。该变型方案确保将在唯一一个象限中考虑N条记录中的任何一对。
因此,通过(1)使数据库读取的次数最小化,(2)最大限度地利用可获取的存储器容量,和(3)确保没有记录对被比较两次来达到该优选技术的优良的性能。
在设备100的替代实施例中,可以在位于处理器芯片102上的寄存器中存储计算机程序代码中的一些或所有。此外,可以产生分段与配对单元170和副本检测单元180以及系统100的其它组件的各种替代的配置与实施方案。
应理解的是,本公开内容的教导可以以各种形式的硬件、软件、固件、专用处理器或它们的组合来实现。最优选地,本公开内容的教导被实施为硬件和软件的组合。
此外,软件被优选地实施为确实被包含在程序存储单元上的应用程序。该应用程序可被上载到包括任何适当结构的机器上并且由该机器执行。优选地,在计算机平台上实施该机器,该计算机平台具有例如一个或多个中央处理单元(CPU)、随机存取存储器(RAM)和输入/输出(I/O)接口的硬件。
该计算机平台还可包括操作系统和微指令代码。在此所描述的各种处理和功能可以是可由CPU执行的、微指令代码的一部分或应用程序的一部分或它们的组合。此外,其他各种外围设备、例如附加的数据存储单元和打印单元可与该计算机平台相连接。
应进一步理解的是,由于附图中所描绘的一些构成系统的组件和方法优选地以软件来实现,所以系统组件或处理功能模块之间的实际连接可根据对本公开内容进行编程的方式而不同。于此给定教导,相关领域的普通技术人员将能够设想本公开内容的这些和类似的实施方案或配置。
虽然这里参考附图对说明性实施例进行了描述,但是应理解的是,本公开内容并不限制于那些明确的实施例,并且相关领域的普通技术人员可以在不脱离本发明的范围或精神的情况下实现各种变化和修改。意图在如所附的权利要求所阐述的本公开内容的范围内包括所有这样的变化和修改。
Claims (19)
1、一种用于通过对记录对的空间分块来优化用于记录链接的数据库访问的方法,该方法包括:
接收数据库数据;
将数据库数据分段为数据段;
将数据段配对为适合于处理单元的随机存取存储器的数据象限;以及
针对每个象限检测副本。
2、如权利要求1所述的方法,其中分段包括将大型数据库划分为多个不相交并且基本上相等的段。
3、如权利要求1所述的方法,其中响应于存储器容量和记录的尺寸,每个段包括多条记录,以便两个段在存储器容量的范围内。
4、如权利要求1所述的方法,其中由s个段形成的段对的数目是s(s-1)/2个段对或象限。
5、如权利要求4所述的方法,其中每个对或象限通过结合段号i和段号j来形成,其中i小于j。
6、如权利要求4所述的方法,其中对有N条记录的数据库检测副本被划分为s(s-1)/2项对有2N/s条记录的数据库的副本检测工作,以便所述工作中的每一项进行两次数据库读取。
7、如权利要求6所述的方法,其中安排处理所述工作的次序,以致针对所有(s(s-1)/2)个象限的数据库读取的次数为(s(s-1)/2+1),该次数是用于保证将在存储器中同时找到N条记录中的任何一对的数据库读取的最小次数。
8、如权利要求7所述的方法,其中处理象限工作的次序为:(1,2)(1,3)...(1,s)(2,s)(2,s-1)...(2,3)(3,4)(3,5)..(s-1,s)。
9、如权利要求1所述的方法,其中针对每个象限检测副本包括:
针对段的象限(1,2),考虑所有对;
针对象限(1,i),如果一条记录在段1中且另一条记录在段i中、或者这两条记录都在段i中,那么考虑一对两条记录;以及
针对象限(i,j),其中j>i>1,如果一条记录在段i中且另一条记录在段j中,那么考虑一对两条记录;
其中将在唯一一个象限中考虑N条记录中的任何一对。
10、一种用于通过对记录对的空间分块来优化用于记录链接的数据库访问的系统,该系统包括:
至少一个处理器;
与至少一个处理器进行信号通信的分段与配对单元,用于将数据库数据分段为数据段并将数据段配对为适合于处理单元的随机存取存储器的数据象限;以及
与至少一个处理器进行信号通信的副本检测单元,用于针对每个象限检测副本。
11、如权利要求10所述的系统,进一步包括与处理器进行信号通信的用于接收数据库数据的输入/输出适配器和通信适配器中的至少一个。
12、如权利要求10所述的系统,其中分段与配对单元包括用于将大型数据库划分为多个不相交并且基本上相等的段的装置。
13、如权利要求10所述的系统,其中分段与配对单元包括用于响应于存储器容量和记录的大小在每个段中包含多条记录以便两个段在存储器容量的范围内的装置。
14、如权利要求10所述的系统,其中分段与配对单元包括用于将由s个段形成的段对的数目确定为s(s-1)/2个段对或象限的装置。
15、如权利要求10所述的系统,其中分段与配对单元包括用于通过结合段号i和段号j来形成每个对或象限的装置,其中i小于j。
16、如权利要求10所述的系统,其中副本检测单元包括用于通过以下方式来对有N条记录的数据库检测副本的装置,即将对有N条记录的数据库检测副本的任务划分为s(s-1)/2项对有2N/s条记录的数据库的副本检测工作,其中s是由分段与配对单元产生的数据段的数目,以便所述工作中的每一项进行两次数据库读取。
17、如权利要求16所述的系统,其中副本检测单元包括用于对所述工作的处理排序以致针对所有(s(s-1)/2)个象限的数据库读取的次数为(s(s-1)/2+1)的装置,该次数是用于保证将同时在存储器中找到N条记录中的任何一对的数据库读取的最小次数。
18、如权利要求17所述的系统,其中副本检测单元包括用于将象限工作的处理排序为:(1,2)(1,3)...(1,s)(2,s)(2,s-1)...(2,3)(3,4)(3,5)..(s-1,s)的装置。
19、如权利要求10所述的系统,其中副本检测单元包括用于针对每个象限检测副本的装置,该装置包括:
用于针对段的象限(1,2)考虑所有对的装置;
用于针对象限(1,i)如果一条记录在段1中且另一条记录在段i中、或者这两条记录都在段i中、那么考虑一对两条记录的装置;以及
用于针对象限(i,j)如果一条记录在段i中且另一条记录在段j中、那么考虑一对两条记录的装置,其中j>i>1;
其中将在唯一一个象限中考虑N条记录中的任何一对。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US55045404P | 2004-03-05 | 2004-03-05 | |
US60/550,454 | 2004-03-05 | ||
US11/067,992 | 2005-02-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1973286A CN1973286A (zh) | 2007-05-30 |
CN100543738C true CN100543738C (zh) | 2009-09-23 |
Family
ID=38113177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005800068291A Expired - Fee Related CN100543738C (zh) | 2004-03-05 | 2005-03-02 | 通过对记录对的空间分块来优化用于记录链接的数据库访问 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100543738C (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220134497A1 (en) * | 2019-03-01 | 2022-05-05 | Siemens Aktiengesellschaft | Method and apparatus for computer aided optimization of an occupancy of magazine slots by tools |
CN112817767B (zh) * | 2021-02-24 | 2021-11-16 | 上海交通大学 | 分离可组合式架构下的图计算工作集优化实现方法及系统 |
-
2005
- 2005-03-02 CN CNB2005800068291A patent/CN100543738C/zh not_active Expired - Fee Related
Non-Patent Citations (6)
Title |
---|
TAILOR:a record linkage toolbox. Mohamed G.Elfeky,Vassilios S.Verykios,AhmedK.Elmagarmid.Proceedings of the 18th international conference on data engineering. 2002 |
TAILOR:a record linkage toolbox. Mohamed G.Elfeky,Vassilios S.Verykios,AhmedK.Elmagarmid.Proceedings of the 18th international conference on data engineering. 2002 * |
the merge/purge problem for large databases. Mauricio A. Hernandez,Salvatore J.Stolfo.sigmod record. 1995 |
the merge/purge problem for large databases. Mauricio A.Hernandez,Salvatore J.Stolfo.sigmod record. 1995 * |
关系数据库快速分块的一种实现策略. 高劲松,胡金柱.计算机与数字工程,第25卷第2期. 1997 |
无缝空间数据库的概念、实现与问题研究. 朱欣焰,张建超,李德仁,龚健雅.武汉大学学报(信息科学版),第27卷第4期. 2002 |
Also Published As
Publication number | Publication date |
---|---|
CN1973286A (zh) | 2007-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1760875B (zh) | 基于文件存取特性在各种类型的存储卷之间透明迁移文件 | |
US6952794B2 (en) | Method, system and apparatus for scanning newly added disk drives and automatically updating RAID configuration and rebuilding RAID data | |
US7480719B2 (en) | Information system, load control method, load control program and recording medium | |
CN1113291C (zh) | 自动配置生成 | |
US20140325148A1 (en) | Data storage devices which supply host with data processing latency information, and related data processing methods | |
CN100409240C (zh) | 文件系统中有效文件内容搜索的系统和方法 | |
US7353496B2 (en) | Storage controller software development support system and software development support method | |
US20070005556A1 (en) | Probabilistic techniques for detecting duplicate tuples | |
US20080178147A1 (en) | Apparatus, system, and method for profiling and reusing software development assets | |
AU2022287574B2 (en) | Analytics, algorithm architecture, and data processing system and method | |
CN100590596C (zh) | 多节点计算机系统和用于监视其性能的方法 | |
US11599463B2 (en) | Servicing queries during data ingress | |
US7403936B2 (en) | Optimizing database access for record linkage by tiling the space of record pairs | |
CN101196889A (zh) | 优化存储系统中的文件放置的方法及装置 | |
US20210271541A1 (en) | Data processing system and operating method thereof | |
CN100543738C (zh) | 通过对记录对的空间分块来优化用于记录链接的数据库访问 | |
Kotz | Expanding the potential for disk-directed I/O | |
US20050108235A1 (en) | Information processing system and method | |
Ji et al. | A proactive fault tolerance scheme for large scale storage systems | |
CN107632779A (zh) | 数据处理方法和装置、服务器 | |
US7546489B2 (en) | Real time event logging and analysis in a software system | |
US20040236764A1 (en) | Information processing system, method for outputting log data, and computer-readable medium storing a computer software program for the same | |
JP2006133842A (ja) | ディスクアレイ・サブシステム、ディスクアレイ・サブシステムにおける分散配置方法、制御方法、プログラム | |
JPH08129461A (ja) | 補助記憶装置 | |
US11983114B2 (en) | Accessing both replication based storage and redundancy coding based storage for query execution |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090923 Termination date: 20120302 |