CN1287316C - 在索引高键码生成期间压缩变长列的方法和系统 - Google Patents

在索引高键码生成期间压缩变长列的方法和系统 Download PDF

Info

Publication number
CN1287316C
CN1287316C CNB2003101202568A CN200310120256A CN1287316C CN 1287316 C CN1287316 C CN 1287316C CN B2003101202568 A CNB2003101202568 A CN B2003101202568A CN 200310120256 A CN200310120256 A CN 200310120256A CN 1287316 C CN1287316 C CN 1287316C
Authority
CN
China
Prior art keywords
key
data
leaf
afterbody
row
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
Application number
CNB2003101202568A
Other languages
English (en)
Other versions
CN1508729A (zh
Inventor
克里斯蒂娜·玛丽亚·李
罗伯特·威廉·莱尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
IBM China Co Ltd
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1508729A publication Critical patent/CN1508729A/zh
Application granted granted Critical
Publication of CN1287316C publication Critical patent/CN1287316C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

公开了在索引高键码生成期间压缩变长列的方法和系统,用于压缩在一个索引树的叶页分裂期间,从一个键码对产生的非叶页高键码的变长列,该键码对包括分裂叶页的末键码和对应的新叶页的首键码。本方法通过对比每个键码对对应列的数据与视为无效的填充数据,对该键码对进行逻辑对比。在逻辑上相等具有等长列的一个键码对中,高键区将具有整列的数据,对于不等长的列,它将具有较短列长度+1个字节的列数据,而且使所有剩余的变长列不包括尾部的填充数据。在逻辑上不相等的一个键码对中,高键码将具有直至并包括第一个不同字节的所有列,其中存放变长列时不存放尾部的填充数据。

Description

在索引高键码生成期间 压缩变长列的方法和系统
技术领域
一般说来,本发明涉及由计算机执行的数据库管理系统,具体地说,涉及在索引高键码生成期间压缩变长列的一种方法和系统。
背景技术
数据库是计算机化的信息存储和检索系统。关系数据库管理系统(RDBMS)是使用关系技术来存储和检索数据的一种数据库管理系统(DBMS)。使用结构化查询语言(SQL)界面的RDBMS软件,在业内已是众所周知。SQL界面已经发展成了RDBMS软件所用的一种标准语言,并且美国国家标准协会(ANSI)和国际标准组织(ISO)都已经采用它作为标准语言。
典型的数据库管理系统既包括数据库文件,又包括索引文件。数据库文件在表格的行列中存放着数据,这些表格存放在数据页面中。在这样一个表格中,行可能对应于各个记录,而表格的列则表示这些记录的若干属性。例如,在数据库管理系统的一个客户信息表格中,每一行可能表示一个不同的客户,而每一列则表示这些客户的不同属性,比如每个客户的名称、每个客户欠款金额和从每个客户收到的现金收据。
数据库管理系统不是对表格中的记录直接进行排序和搜索,而是依靠索引文件,它们包含的信息或者说指针,与数据库文件中存放的表格中记录的位置有关。对索引文件进行搜索和排序(扫描),能够比数据库文件快得多。索引文件是通过若干处理来扫描的,其中为了从一个表格中选择记录而规定了若干条件。这些条件包括键码,它们是数据库使用索引发现所需记录的属性。使可恢复的数据对象产生变化的处理行为,记录在日志中。
在数据库管理系统中,所有数据都存放在一组数据页面上的表格中,这些页面是与索引文件分开的。一个表格上面可以定义一个或多个索引,每个索引都是表格行之键码的一种顺序,用于在知晓键码时访问特定的行。索引往往是由一棵树结构来实现的,它包括叶页(leaf page)和非叶页(non-leaf page)。一个页面是在主存储和次存储之间传递的物理单位。一个非叶页包含一个列表,列出其它索引页面的页面号,以及这些页面的高键值(high key value)。一个叶页是索引树的最低级别。它包括键码及其相关联的行地址,它们是指针,指向表格中具有指定键值的行。
一般说来,一个表格的所有索引都存放在一个索引文件中,它包含的记录中仅仅是键值和记录标识(RID)。记录标识对应的数据库表格记录中包含着这些键值。一个RID包括一个数据页面ID,连接着该范围之内的一个独特序列号。一种常见类型的索引文件是一棵B树,它具有N个级别的节点或者说页面。在树顶端的起始节点称为根节点,并且定义了该B树索引覆盖之键值的间隔。在在最低级别节点之前的依次较低级别的节点中,这个键值间隔分解为键值子间隔。该树最低级别的叶节点或者说叶页,包含着该间隔之内的各个键值,以及相关联的记录(行)标识(RID),它们使具有这些键值作为属性的记录,能够在数据库文件的表格中定位。索引的叶页包含着条目(键码),它们中的每一个从概念上说都是一个(键值,RID)对,其中RID视为仿佛它是一个额外的键码区。非惟一的索引可以包含多个具有相同键值的键码。相反,惟一的索引不能包含多个具有相同键值的键码。在所有的键码区中,键码都保持着上升的排序序列。仅有叶页包含后一个页面和前一个页面的指针,所以能够支持上升和下降的范围扫描。非叶页包含着子页面的指针。图1展示了一个非惟一的B树索引。
在当前的数据库技术中,一个索引叶页因为太满了而分裂时,就在非叶页中插入一个新的高键值。如果这个新的高键值是从新页面上的首键码复制的,通常也会复制条目键码,尽管某些数据可能不是必需的。对于非叶页搜索,仅仅需要存放高键码的有效部分,以便区分非叶页中连贯子页面上的键值。通过对比分裂叶页的末键值和新叶页的首键值,就可以确定这两个键值之间的不同字节。仅仅需要存放首键值中直至并包括该不同字节的数据,作为非叶页的新高键值。数据的其它部分对于非叶页搜索不是必需的,可以截断。
不过,如果非叶页键码具有包含着填充数据的变长列(varying-length column),在键码中就存放着直至该不同字节的所有空格。对于非叶页键码对比,这个填充数据的某些部分并是必需的,可以去除。即使真正的数据处理时间非常短,某些操作也可能需要相当长的时间,因为数据必须在较大的存储空间中存放和检索,并且必须由申请该处理的用户输入。所以,数据库管理系统允许数据处理器截断高键码的后缀数据,仅仅存放搜索期间非叶页对比需要的索引键码数据,这一点很重要。
因此,在高键码生成期间,为了压缩非叶页索引键码中的变长列,需要一个简单的、优化的和通用的方法和系统。这种压缩方法在非叶页中会需要更少的键码空间,所以在索引树中能够存放更多的非叶页条目。结果,通过减少索引级别的数目,将会增大非叶页的扇形展开,因此在数据库管理系统中能够使索引树遍历更快。
发明内容
根据以下引用了几幅附图的若干优选实施例的详细说明本发明上述的和其它的目标、特点和优点将会显而易见。
本发明的一个优选实施例是一种基于计算机的方法,用于压缩一个索引树的叶页分裂期间,从一个包括分裂叶页的末键码和对应的新叶页的首键码的键码对产生的非叶页高键码的变长列。本方法通过对比每个键码对对应列的数据与视为无效的填充数据,对该键码对进行逻辑对比。按照本发明的这个优选实施例的一个方面,在具有等长列的逻辑上相等的一个键码对中,高键区将具有整列的数据,对于不等长的列,它将具有较短列长度+1个字节的列数据,而且使所有剩余的变长列不包括尾部的填充数据。按照本发明的这个优选实施例的另一个方面,在逻辑上不相等的一个键码对中,高键码将具有直至并包括第一个不同字节的所有列,其中存放变长列时不存放尾部的填充数据。
本发明的另一个优选实施例是一个系统,它实现了本发明的上述方法实施例。
本发明的再一个优选实施例包括一种计算机可用的介质,它切实地记录了该计算机可执行的指令程序,用于执行本发明上述方法实施例中的方法步骤。
附图说明
现在参考附图,其中类似的引用号在所有附图中表示对应的部件:
图1展示了一个非惟一的B树索引文件,依据现有技术;
图2展示了一台计算机的硬件和软件环境,能够实现压缩变长列的方法,依据本发明的优选实施例;
图3展示了末键码和首键码的一个实例,依据现有技术;
图4展示了新的高键码,依据现有技术和本发明的优选实施例;
图5展示了末键码和首键码的另一个实例,依据现有技术;
图6展示了新的高键码,依据现有技术和本发明的优选实施例;
图7展示了一段实例伪码,用于产生非叶页高键码,依据本发明的优选实施例;以及
图8A和图8B展示用于压缩变长列之模块的流程图,依据本发明的优选实施例。
具体实施方式
在优选实施例的以下说明中,参考了附图,这些附图形成了实践本发明之特定实施例的部分,而且其中显示了这些实施例。应当理解,在不脱离本发明之范围的情况下,也可以采用其它的实施例,而且结构和功能也可以改变。
本发明公开了一种系统、一种方法以及一种计算机可用的介质,它记录了计算机可执行的指令程序,用于执行本发明的方法,在索引高键码生成期间压缩变长列。
图2展示了一种示范性的计算机软硬件环境,可由本发明的优选实施例使用,它包括计算机系统102,具有一个或多个常规的处理器104,并具有一个计算机系统终端108。处理器104执行的指令存放在相关联的计算机存储器105中。通过一台可选的存储驱动器或者通过计算机网络的接口,可以接收使操作存储器105加载的指令。
处理器104连接到一台或多台电子存储设备106,比如磁盘驱动器,其中存放着一个或多个关系数据库。它们可能包括例如光盘驱动器、磁带和/或半导体存储器。每台存储设备都允许接收一种计算机可用的介质,比如软盘、磁带、光盘、半导体存储器和其它机器可读的存储器件,并且使得计算机可用介质上记录的方法程序步骤能够读取并传送到计算机存储器中。记录的程序指令可以包括本发明之方法实施例的代码。另外,也可以通过网络从一台计算机接收程序步骤并存入操作存储器中。
计算机系统终端108的操作员使用一种标准的操作员终端界面(未显示),比如IMS/DB/DC、CICS、TSO、OS/2或者其它类似的界面,使电信号往来于计算机系统102,这些信号表示执行多种任务的命令,比如针对电子存储设备106中存放的数据库进行搜索和检索、有条件的查询。利用针对电子存储设备中存放的数据库进行查询,实现了数据存储和检索。在本发明中,这些查询符合结构化查询语言(SQL)标准,调用数据库管理系统(DBMS)112执行的函数,比如关系数据库管理系统(RDBMS)软件的函数。在本发明的优选实施例中,RDBMS软件是DB2产品,由IBM提供,用于z/OS、AS400、OS390或OS/2操作系统,微软的视窗操作系统,或者DB2支持的任何基于UNIX的操作系统。不过,本领域的技术人员将会理解,本发明可以应用于任何使用SQL的RDBMS软件,同样可以应用于非SQL查询,应用于非关系数据库。本发明的方法和系统可以在分布式计算环境中使用,其中两个或更多的计算机系统由一个网络——比如万维网——连接,这些环境中由网络连接的计算机可以是不同类型的。
图2进一步展示了实现本发明之优选实施例的一个软件环境。在图2所示的系统中,计算机系统102进一步包括一个软件模块110,在索引的高键码生成期间用于压缩变长列。
在本发明的方法和系统中,当一个索引叶页分裂时,产生一个压缩的高键码并插入非叶页中。本发明的优选实施例确定高键码的哪个有效部分需要存放,以便在非叶页对比和搜索中,在非叶页索引的连贯子页中区分键值。通过把分裂非叶页的末键值与新叶页的首键值进行对比,就确定了这两个键值之间的不同字节。在首键值中,仅有直至并包括该不同字节的数据作为高键值存放,因为非叶页搜索不需要而去除数据的其余部分。
当非叶页键码具有包含着尾部填充数据的变长列时,在常规系统的键码中存放着直至该不同字节的所有空格。对于非叶页键码对比,这种填充数据中有一些不是必需的,因此能够去除。本发明的优选实施例包括一种方法,用于确定在索引树合成高键码的变长列中哪个填充数据不是必需的。然后本方法去除该填充数据,以压缩非叶页的高键码,并且减少非叶页索引键码的空间需求,以便能够存放更多的非叶页条目。结果就增大了非叶页的扇形展开,因此减少了索引级别的数目,使得索引树遍历更快。
对于SQL的插入和删除命令,空格被视为有效的数据(也就是“A”小于“A_”),所以在表格中,键码“A”和“A_”会作为两个分别的条目存放,这里“_”表示一个空格。不过,对于SQL的选择命令,空格被视为无效的数据(也就是“A”=“A_ ”),所以选择键码“A”会返回“A”、“A_”、“A__”等。常规情况下,具有变长列的合成索引键码进行对比时,每次对比一列。因为对于两个键码,变长列的长度可能不同,变长列较短的键码在逻辑上必须视为填充着空格,以便与变长列较长的键码进行对比。所以,在具有变长列的合成索引键码中,存放尽可能少的字节,其益处是减少处理器的操作并提高速度。
因为在索引树搜索期间,尾部的空格不影响SQL选择命令的结果,在索引高键码的变长列中可以截去尾部的空格。本发明从非叶页索引高键码的变长列中截去存放的尾部空格。在本发明的方法实施例开始时,通过对比每一对合成索引键码,确定键码是否逻辑上等价,这时填充数据被视为无效的(也就是“A”=“A__”)。合成索引键码对包括分裂叶页的末键码和新叶页的首键码。
通过对比分裂叶页的末键值和新叶页的首键值,就能够确定两个键值之间的不同字节。如果这两个键码逻辑上等价,本方法就对比每个变长列的长度,以确定哪个是要存放在索引键码中的有效数据。
不相等对比结果
如果有效数据,不包括尾部的空格的对比结果是在两个键码之间逻辑上不相等,在高键码中就仅仅需要存放直至并包括不同字节之每一列的有效数据。在这种情况下,本发明使前导变长列的尾部空格全部去除。
图3展示了末键码和首键码的一个实例,依据现有技术的常规方法存放。它提出了一个实例,其中键码包含三个变长列,符号“_”表示一个空格字符。由于有三个变长列,需要三次逻辑比较。前两列对比逻辑上相等,而第三列在第一个字节上不同。在不使用本发明的常规系统中,高键码会包含前两列中的空格,所以总长度会是8个字节。不过,依据本发明的优选实施例,空格被截去,所以总长度只有三个字节,如图4所示,它展示了依据现有技术和本发明之优选实施例的新高键码。
相等对比结果
如果有效数据,不包括尾部的空格的对比结果是两个键码之间相等,那么空格就变为有效的,而且列长度也是重要的。这时就不能去除前导变长列的尾部空格,否则非叶页比较结果将是不正确的。不过,可以去除某些尾部的空格。
确定了两个键码在逻辑上相等之后,再对比列长度。如果长度相等,就以整个长度存放列数据。不过,一旦长度比较结果是不相等,就以较短的列长度+1个字节来存放列数据。这就是当填充数据视为有效时,两个键码比较结果为不相等的不同字节。在这一点之后,尾部的空格对于所有跟随的变长列都不是必需的,因此可以去除,但是有效数据仍然必须保存。
图5展示了末键码和首键码的另一个实例,依据现有技术存放。在图5所示的实例中,键码在逻辑上是相等的,仅仅是空格字符的数目不同。在不使用本发明的常规系统中,由于在对比期间没有发现不同字节,整个键码都会被用作高键码,总长度为14个字节。不过,在本发明的优选实施例中,首先对比键码在逻辑上是否相等,然后对比列长度。由于第二列的长度不同(3<5),仅仅存放“C___”,它是较短的列长度(3)+1,等于4个字节。存放了不同字节之后,就可以去除随后列上的所有空格,所以只有符号“F”需要保存。因此,本发明中的高键码仅仅需要8个字节的总长度,如图6所示,它展示了依据现有技术和本发明之优选实施例的新高键码。
图7展示了一段实例伪码,具有产生非叶页高键码所用的步骤,依据本发明的优选实施例。虽然优选方法显示为截去尾部的空格,但是它也可以应用于任何类型的尾部填充数据。在第一步中,带有无效填充数据的一对键码进行逻辑对比。如果这一对中的两个键码逻辑上相等,那么旗标Strip_Blanks设置为No,以定义相等的对比状态。下一步,执行第一个循环,次数为键码列的最大数目,对于键码对中对应的列两两比较长度。如果长度相等,那么本方法以整列的长度来存放列数据。否则,本方法就以较短的列长度+1个字节来存放列数据,并将旗标Strip_Blanks设置为Yes。循环发现旗标Strip_Blanks=Yes之后,本方法从所有剩余的变长列中截去所有尾部的空格,仅仅存放有效的列数据。
如果键码对比逻辑上不相等,就发现了不相等的比较状态,执行第二个循环,次数为键码列的最大数目。如果它是一个变长列,本方法就从该列截去尾部的空格。在一列中发现了不同字节时,本方法保存该列的有效数据——直至并包括该不同字节,跳出循环。否则,本方法以其整个长度保存有效的列数据。
图8A和图8B展示用于压缩变长列之模块的流程图,该模块具有产生非叶页高键码所用的步骤,依据本发明的优选实施例。虽然优选方法显示为截去尾部的空格,但是它也可以应用于任何类型的尾部填充数据。在步骤700中,带有无效填充数据的一对键码进行逻辑对比。如果这一对中的两个键码逻辑上相等,那么在步骤702中旗标Strip_Blanks设置为No,以定义相等的对比状态。在步骤704中,循环计数器I设置为1。下一步,在步骤705中第一个循环开始,并且该步骤检验旗标Strip_Blanks是否设置为No。如果是这样,步骤706对于键码对中对应的列两两比较长度。如果长度相等,步骤708以整列的长度来存放列数据。否则,步骤710就以较短的列长度+1个字节来存放列数据,并在步骤712中将旗标Strip_Blanks设置为Yes。如果步骤705发现旗标Strip_Blanks=Yes,步骤714从变长列截去所有尾部的空格,仅仅存放有效的列数据。下一步,在步骤713中检验键码列的最大数目是否达到。如果是这样,程序退出。如果不是,在步骤715中增大循环计数器,循环继续进行。
如果在步骤700中键码对比逻辑上不相等,就发现了不相等的比较状态,执行图8B中的第二个循环,次数为键码列的最大数目,在步骤728中测试。步骤716将循环计数器I起始设置为1。如果步骤718确定它是一个变长列,步骤720就从该列截去尾部的空格。步骤722在一列中发现了不同字节时,步骤724保存该列的有效数据——直至并包括该不同字节,并通过出口跳出循环。否则,步骤726以其整个长度保存有效的列数据。如果步骤728确定循环计数器I尚未达到列的最大数目,在步骤730中增大循环计数器,在步骤718中循环继续进行。
在本发明的优选实施例中,新叶页的首键码中,仅有直至并包括不同字节的有效数据保存为非叶页的高键码,去除了不影响键码比较结果的额外填充数据,因为它对于非叶页搜索不是必需的,因此减少了存储空间和索引构建时间,并且改善了索引树的搜索性能。
上文中对本发明之优选实施例的说明,是为了展示和说明的目的。并不试图面面俱到或者将本发明严格局限于所公开的形式。受益于以上的指导,许多修改和变化都是可能的。本发明的范围不是由此详细说明书限制,而是由以下附带的权利要求书限制。

Claims (12)

1.一种在数据库管理系统中基于计算机的方法,用于从索引高键码中去除不必需的尾部填充数据,该高键码是根据具有变长列的键码对产生的,该方法包括以下步骤:
(a)通过对比每个键码对对应列的数据与视为无效的尾部填充数据,对键码对进行逻辑对比;以及
(b)在逻辑上相等的键码对中:
(i)对比相应列的长度;
(ii)对于长度相同的列,在高键码中存放整列数据;以及
(iii)对于长度不同的列,在高键码中以较短的列长度+1个字节来存放列数据,并且在高键码中存放剩余的变长列时不包括尾部的填充数据。
2.根据权利要求1的方法,其特征在于,该高键码是一个非叶页高键码,它是在索引树叶页的分裂期间从一个键码对产生的,该键码对包括分裂叶页的末键码和对应的新叶页的首键码。
3.根据权利要求2的方法,其特征在于,尾部的填充数据是空格。
4.一种在数据库管理系统中基于计算机的方法,用于从索引高键码中去除不必需的尾部填充数据,该高键码是根据具有变长列的键码对产生的,该方法包括以下步骤:
(a)通过对比每个键码对对应列的数据与视为无效的尾部填充数据,对键码对进行逻辑对比;以及
(b)在逻辑上不相等的键码对中,在高键码中存放列数据直到发现包括第一个不同字节的列数据、并且在高键码中存放该包括第一个不同字节的列数据,其中存放变长列时不存放尾部的填充数据。
5.根据权利要求4的方法,其特征在于,该高键码是一个非叶页高键码,它是在索引树叶页的分裂期间从一个键码对产生的,该键码对包括分裂叶页的末键码和对应的新叶页的首键码。
6.根据权利要求5的方法,其特征在于,尾部的填充数据是空格。
7.一种在数据库管理系统中的数据处理系统,用于从索引高键码中去除不必需的尾部填充数据,该高键码是根据具有变长列的键码对产生的,该数据处理系统包括以下装置:
(a)通过对比每个键码对对应列的数据与视为无效的尾部填充数据,对键码对进行逻辑对比的装置;以及
(b)在逻辑上相等的键码对中:
(i)对比相应列的长度的装置;
(ii)对于长度相同的列,在高键码中存放整列数据的装置;以及
(iii)对于长度不同的列,在高键码中以较短的列长度+1个字节来存放列数据,并且在高键码中存放剩余的变长列时不包括尾部的填充数据的装置。
8.根据权利要求7的系统,其特征在于,该高键码是一个非叶页高键码,它是在索引树叶页的分裂期间从一个键码对产生的,该键码对包括分裂叶页的末键码和对应的新叶页的首键码。
9.根据权利要求8的系统,其特征在于,尾部的填充数据是空格。
10.一种在数据库管理系统中的数据处理系统,用于从索引高键码中去除不必需的尾部填充数据,该高键码是根据具有变长列的键码对产生的,该数据处理系统包括以下装置:
(a)通过对比每个键码对对应列的数据与视为无效的尾部填充数据,对键码对进行逻辑对比的装置;以及
(b)在逻辑上不相等的键码对中,在高键码中存放列数据直到发现包括第一个不同字节的列数据,并且在高键码中存放该包括第一个不同字节的列数据的装置,其中存放变长列时不存放尾部的填充数据。
11.根据权利要求10的系统,其特征在于,该高键码是一个非叶页高键码,它是在索引树叶页的分裂期间从一个键码对产生的,该键码对包括分裂叶页的末键码和对应的新叶页的首键码。
12.根据权利要求11的系统,其特征在于,尾部的填充数据是空格。
CNB2003101202568A 2002-12-18 2003-12-10 在索引高键码生成期间压缩变长列的方法和系统 Expired - Fee Related CN1287316C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/323,009 US7039646B2 (en) 2002-12-18 2002-12-18 Method and system for compressing varying-length columns during index high key generation
US10/323,009 2002-12-18

Publications (2)

Publication Number Publication Date
CN1508729A CN1508729A (zh) 2004-06-30
CN1287316C true CN1287316C (zh) 2006-11-29

Family

ID=32593088

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2003101202568A Expired - Fee Related CN1287316C (zh) 2002-12-18 2003-12-10 在索引高键码生成期间压缩变长列的方法和系统

Country Status (2)

Country Link
US (1) US7039646B2 (zh)
CN (1) CN1287316C (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7921085B2 (en) * 2007-03-26 2011-04-05 International Business Machines Corporation Method and system for quantifying a data page repetition pattern for a database index in a database management system
US7895171B2 (en) * 2008-03-27 2011-02-22 International Business Machines Corporation Compressibility estimation of non-unique indexes in a database management system
US9235564B2 (en) * 2013-07-19 2016-01-12 International Business Machines Corporation Offloading projection of fixed and variable length database columns
US9275168B2 (en) 2013-07-19 2016-03-01 International Business Machines Corporation Hardware projection of fixed and variable length columns of database tables
US9846642B2 (en) * 2014-10-21 2017-12-19 Samsung Electronics Co., Ltd. Efficient key collision handling
US11269915B2 (en) * 2017-10-05 2022-03-08 Zadara Storage, Inc. Maintaining shards in KV store with dynamic key range
US11436233B2 (en) * 2019-01-25 2022-09-06 Salesforce, Inc. Generating adaptive match keys

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US78047A (en) * 1868-05-19 Of auburn
US95412A (en) * 1869-10-05 Improved apparatus for carbtjretting air and gas
US120598A (en) * 1871-11-07 Improvement in road-wagons
US42240A (en) * 1864-04-05 Improvement in heat-governors for stoves
CA2000006C (en) * 1989-01-23 1994-07-12 Walter W. Chang Combinatorial signatures for data encoding and searching
US5142687A (en) * 1989-06-30 1992-08-25 Digital Equipment Corporation Sort accelerator with rebound sorter repeatedly merging sorted strings
US5111465A (en) * 1989-06-30 1992-05-05 Digital Equipment Corporation Data integrity features for a sort accelerator
JP2901081B2 (ja) * 1989-12-19 1999-06-02 株式会社日立製作所 Osiディレクトリの非葉エントリの名称変更方法
US5592667A (en) 1991-05-29 1997-01-07 Triada, Ltd. Method of storing compressed data for accelerated interrogation
CA2117846C (en) * 1993-10-20 2001-02-20 Allen Reiter Computer method and storage structure for storing and accessing multidimensional data
US5748952A (en) 1995-05-10 1998-05-05 International Business Machines Corporation System and method for avoiding complete index tree traversals in sequential and almost sequential index probes
US6427147B1 (en) * 1995-12-01 2002-07-30 Sand Technology Systems International Deletion of ordered sets of keys in a compact O-complete tree
US5758353A (en) * 1995-12-01 1998-05-26 Sand Technology Systems International, Inc. Storage and retrieval of ordered sets of keys in a compact 0-complete tree
US5968152A (en) 1996-04-10 1999-10-19 Apple Computer, Inc. Method and apparatus for extending key space in a plug and play ROM
US6105018A (en) 1998-03-26 2000-08-15 Oracle Corporation Minimum leaf spanning tree
US6055526A (en) 1998-04-02 2000-04-25 Sun Microsystems, Inc. Data indexing technique
US6279004B1 (en) 1998-12-22 2001-08-21 International Business Machines Corporation Database index key versioning
US6279003B1 (en) 1998-12-22 2001-08-21 International Business Machines Corporation Self-describing multiple key format database index
US6421664B1 (en) 1999-06-16 2002-07-16 International Business Machines Corporation Apparatus, program product and method for estimating the number of keys within an index key range
US6614789B1 (en) * 1999-12-29 2003-09-02 Nasser Yazdani Method of and apparatus for matching strings of different lengths
CA2293167A1 (en) 1999-12-30 2001-06-30 Nortel Networks Corporation Source code cross referencing tool, b-tree and method of maintaining a b-tree
US20030093613A1 (en) * 2000-01-14 2003-05-15 David Sherman Compressed ternary mask system and method
US6412664B1 (en) * 2000-08-17 2002-07-02 Floyd Wolff Cap for dispensing viscous liquids
KR100419575B1 (ko) 2000-12-05 2004-02-19 한국전자통신연구원 고차원 색인구조를 위한 벌크 로딩방법
US6647386B2 (en) 2000-12-14 2003-11-11 International Business Machines Corporation Method, system, and program for reverse index scanning
US20020087976A1 (en) * 2000-12-28 2002-07-04 Kaplan Marc P. System and method for distributing video with targeted advertising using switched communication networks
US6804677B2 (en) 2001-02-26 2004-10-12 Ori Software Development Ltd. Encoding semi-structured data for efficient search and browsing
US7283987B2 (en) * 2001-03-05 2007-10-16 Sap Ag Compression scheme for improving cache behavior in database systems

Also Published As

Publication number Publication date
US20040122837A1 (en) 2004-06-24
CN1508729A (zh) 2004-06-30
US7039646B2 (en) 2006-05-02

Similar Documents

Publication Publication Date Title
KR101972645B1 (ko) 클러스터링 저장 방법 및 장치
US6725223B2 (en) Storage format for encoded vector indexes
US6240409B1 (en) Method and apparatus for detecting and summarizing document similarity within large document sets
US6678687B2 (en) Method for creating an index and method for searching an index
US20180011861A1 (en) Managing storage of individually accessible data units
CN1020014C (zh) 快速开启由路径名识别的磁盘文件的方法
CA2941074C (en) Managing storage of individually accessible data units
US6240418B1 (en) Database apparatus
US6567816B1 (en) Method, system, and program for extracting data from database records using dynamic code
Zezula et al. Dynamic partitioning of signature files
US20040205044A1 (en) Method for storing inverted index, method for on-line updating the same and inverted index mechanism
Faloutsos Signature-based text retrieval methods: A survey
Faloutsos et al. Fast text access methods for optical and large magnetic disks: Designs and performance comparison
US6654868B2 (en) Information storage and retrieval system
WO2000007094A2 (en) Method and apparatus for digitally shredding similar documents within large document sets in a data processing environment
Lin et al. Frame-sliced signature files
CN1345426A (zh) 用于提取索引关键字数据字段的系统和方法
CN1287316C (zh) 在索引高键码生成期间压缩变长列的方法和系统
US20040249782A1 (en) Method and system for highly efficient database bitmap index processing
Brain et al. Near‐perfect hashing of large word sets
Nørvåg Space-efficient support for temporal text indexing in a document archive context
US6076089A (en) Computer system for retrieval of information
CN111625544A (zh) SQL On HBase上基于字符串切分的倒排索引的方法及系统
RU2656721C1 (ru) Способ организации хранения частично совпадающих больших объектов
Tomasic Distributed queries and incremental updates in information retrieval systems

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
ASS Succession or assignment of patent right

Owner name: IBM (CHINA) CO., LTD.

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORP.

Effective date: 20101101

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: NEW YORK, UNITED STATES TO: 201203 7/F, BUILDING 10, ZHANGJIANG INNOVATION PARK, NO.399, KEYUAN ROAD, ZHANGJIANG HIGH-TECH PARK, PUDONG NEW DISTRICT, SHANGHAI, CHINA

TR01 Transfer of patent right

Effective date of registration: 20101101

Address after: 201203 Chinese Shanghai Pudong New Area Zhang Jiang high tech Park Keyuan Road No. 399 Zhang Jiang Innovation Park Building No. 10 7 floor

Patentee after: International Business Machines (China) Co., Ltd.

Address before: American New York

Patentee before: International Business Machines Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20061129

Termination date: 20171210