CN103365943A - 数据库处理设备、数据库处理方法以及记录介质 - Google Patents
数据库处理设备、数据库处理方法以及记录介质 Download PDFInfo
- Publication number
- CN103365943A CN103365943A CN2013100964568A CN201310096456A CN103365943A CN 103365943 A CN103365943 A CN 103365943A CN 2013100964568 A CN2013100964568 A CN 2013100964568A CN 201310096456 A CN201310096456 A CN 201310096456A CN 103365943 A CN103365943 A CN 103365943A
- Authority
- CN
- China
- Prior art keywords
- information
- data
- database
- processing
- management structure
- 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
Images
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
-
- 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
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
数据库处理设备包括:列存储数据库,包括:以列为单位存储元组数据的存储器和关于所述存储器存储第一信息以及第二信息的管理构造部,所述第一信息指示有效数据范围,所述第二信息包括已经无效的数据的标识信息;以及数据库处理部,当针对所述列存储数据库执行插入数据的处理时,将所述数据额外地附加至所述存储器的末尾以更新所述管理构造部的所述第一信息,以及当针对所述列存储数据库执行删除数据的处理时,将删除目标数据的标识信息额外地附加至所述管理构造部的所述第二信息。
Description
技术领域
本发明涉及用于处理列存储数据库的数据库处理设备、方法、及其记录介质。
背景技术
存在以列为单位来管理数据的列存储数据库。列存储数据库已发展为只读存储器,如批存储和DWH(数据仓库);然而,由于针对降低存储器成本、使CPU多核化、以及高速分析实时数据的请求,还需要通过向OLTP(在线交易处理)工作负荷应用该列存储数据库来实现高速/大容量写入和高速/并行读取的技术。例如,在作为专利文献的JP-P2011-209807A中描述了避免由于对列存储数据库中数据的另外的处理而造成性能恶化的技术。
当使用列存储数据库来改写数据时,需要在锁定所有列或所有行以避免随之而来的列之间的错配以及采取控制以避免同时执行读取查询之后,改写数据并取消锁定。为此,当执行写入查询时,不能执行读取查询。此外,由于写入查询要求改变存储器或盘中各种位置,因此存在由于频繁出现高速缓存未命中而导致处理变慢的倾向。
在考虑到上述问题的情况下实现了本发明,且本发明的目的是提供一种数据库处理设备、方法、记录介质等,使得能够在要增强的列存储数据库中进行高速写入以及读取并行性。
发明内容
本发明是一种数据库处理设备,其特征在于包括:列存储数据库,包括:以列为单位存储元组数据的存储器和关于所述存储器存储第一信息以及第二信息的管理构造部,所述第一信息指示有效数据范围,所述第二信息包括已经无效的数据的标识信息;以及数据库处理部,当针对所述列存储数据库执行插入数据的处理时,将所述数据额外地附加至所述存储器的末尾并更新所述管理构造部的所述第一信息,以及当针对所述列存储数据库执行删除数据的处理时,将删除目标数据的标识信息额外地附加至所述管理构造部的所述第二信息。
本发明是一种数据库处理方法,其特征在于:当针对包括以列为单位存储元组数据的存储器和关于所述存储器存储所述第一信息和第二信息的管理构造部在内的列存储数据库执行插入数据的处理时,将所述数据额外地附加至所述存储器的末尾并更新所述管理构造部的所述第一信息,所述第一信息指示有效数据范围,所述第二信息包括已经无效的数据的标识信息;以及当针对所述列存储数据库执行删除数据的处理时,将删除目标数据的标识信息额外地附加至所述管理构造部的所述第二信息。
本发明是一种存储有程序的非瞬态计算机可读存储介质,所述程序使计算机执行以下处理:当针对包括以列为单位存储元组数据的存储器和关于所述存储器存储第一信息以及第二信息的管理构造部在内的列存储数据库执行插入数据的处理时,将所述数据额外地附加至所述存储器的末尾并更新所述管理构造部的所述第一信息,所述第一信息指示有效数据范围,所述第二信息包括已经无效的数据的标识信息;以及当针对所述列存储数据库执行删除数据的处理时,将删除目标数据的标识信息额外地附加至所述管理构造部的所述第二信息。
本发明是一种列存储数据库的数据结构,包括:以列为单位存储元组数据的存储器;以及关于所述存储器存储第一信息以及第二信息的管理构造部,所述第一信息指示有效数据范围,所述第二信息包括已经无效的数据。
本发明使得有可能增强在列存储数据库中的高速写入和读取并行性。
附图说明
当阅读以下具体实施方式和附图时,本发明的这个和其他目的、特征以及优点将变得更显而易见,在附图中:
图1是示出了与本发明的第一示例实施例相关的数据处理设备的配置的视图;
图2是示出了与本发明的第一示例实施例相关的数据库的结构的视图;
图3是用于具体说明第一示例实施例的插入处理的视图;
图4是用于具体说明第一示例实施例的删除处理的视图;
图5是用于具体说明第一示例实施例的更新处理的视图;
图6是用于具体说明第一示例实施例的查找处理的视图;
图7是用于说明第一示例实施例的查找处理的流程图;
图8是示出了与本发明的第二示例实施例相关的数据库处理设备的配置的视图;
图9是示出了与本发明的第二示例实施例相关的数据库的结构的视图;
图10是用于具体说明第二示例实施例的插入处理的视图;
图11是用于具体说明第二示例实施例的删除处理的视图;
图12是用于具体说明第二示例实施例的更新处理的视图;
图13是用于具体说明第二示例实施例的查找处理的视图;以及
图14是用于说明第二示例实施例的查找处理的流程图。
具体实施方式
下文中,将参照附图来说明本发明的示例实施例。
<第一示例实施例>
图1是示出了与本发明的第一示例实施例相关的数据库处理设备的配置的视图。由包括CPU(中央处理单元)、并行运算单元(如,GPU(图形处理单元))、以及存储部等在内的计算机构成的数据库处理设备。如图1所示,数据库处理设备包括:数据库10、并行运算单元环境检测部20、数据库运算处理部30、以及数据处理结果存储/再处理部40。
数据库10是列存储数据库。数据库的管理单位由元组、列、表以及模式(schema)构成,可以将元组、列、表以及模式中的每一项以复数形式存储到高阶结构中。元组包含数据库内特定行的数据。以元组为单位,在特定列存储器中收集特定列的数据。要存储到数据库10中的数据可以是固定长度数据或可变长度数据。
在图2中例示出数据库10的结构。如附图所示,数据库10包括仅允许额外地附加的列数据库(存储器)11以及用于以表为单位进行管理的管理构造部12。管理构造部12存储最新元组位置(max_TID)的数据、以及删除元组数组(delete_TID_Vector)的数据,所述最新元组位置(max_TID)指示在特定时刻被视为有效的位置,所述删除元组数组(delete_TID_Vector)指示截至目前为止作为已经无效的元组的标识信息删除的元组ID的数组。前述数据库运算处理部30基于在管理构造部12中存储的信息,决定在更新列存储数据库时采用的针对列存储数据库的排他性控制范围。
并行运算单元环境检测部20获取例如与该设备中的并行运算单元的处理能力相关联的信息(数据处理单位等)。
数据库运算处理部30包括执行运算单元确定部31和并行运算处理部32。执行运算单元确定部31确定所请求的计算处理是否是适合并行运算单元的处理,且基于设定的确定结果来确定哪个运算单元(CPU和GPU)用于执行运算处理。例如,当所请求的运算处理对应于任何设定的运算处理时,执行运算单元确定部31可以在之前设置了可以通过使用并行运算单元来高速执行的运算处理(针对列存储器的滤波运算操作等)之后确定采用并行运算单元。此外,执行运算单元确定部31可以适于获取并行运算单元的使用率的信息,可以适于在使用率高于阈值时确定使用CPU来执行所请求的运算处理,以及可以适于指令其实施。当执行运算单元确定部31确定使用并行运算单元时,并行运算处理部32使并行运算单元执行各种运算处理。
数据处理结果存储/再处理部40对数据库运算处理部30的运算结果进行存储/处理。
接下来,将说明与本示例实施例相关的数据库处理设备的操作。要针对数据库10执行的处理是:数据的插入(INSERT)、删除(DELETE)、更新(UPDATE)、查找(FIND)、针对查找结果的计算(Func)、以及再处理(INSERT、DELETE、UPDATE)。
将说明插入处理(INSERT)。数据库运算处理部30向存储器11发出编号与要新插入的数据编号相同的TID(元组ID),并将数据附加至存储器的末尾。并且,当完成了对应当执行额外地附加的所有列的元组额外附加时,数据库运算处理部30使用通过执行增加与应当执行额外地附加的数据的编号相等的编号所获得的值来更新管理构造部12的最新元组位置max_TID。此时,不改变TID小于旧的max_TID的数据,由此可以同时并行执行其他数据库处理,例如与此相关的查找以及数据删除。
将参照图3来具体说明上述插入处理。假定在存储器11中存在最高TID199的元组,且已将其中的TID10、TID110、和TID50记录为使用截至目前为止执行的操作而已被无效的数据。此时,已将max_TID设置为199。数据库运算处理部30向存储器11输入新数据作为TID200,并在完成针对存储器11的输入处理时将管理构造部12的max_TID变为200。
将说明删除处理(DELETE)。当数据库运算处理部30针对存储器11无效特定值时,其将指定的值额外地附加至管理构造部12的删除元组数组delete_TID_Vector。此时,不执行针对列存储器的变更处理,由此可以同时并行执行其他数据库处理,例如与此相关的查找。此外,还可以同时执行数据的插入处理。
将参照图4来具体说明上述删除处理。假定在存储器11中存在最高TID200的元组,且已将其中的TID10、TID110、和TID50记录为使用截至目前为止执行的操作而已被无效的数据。此时,已将max_TID设置为200。本文中,当删除TID199的数据时,数据库运算处理部30将要无效的数据的TID199(删除目标数据的标识信息)额外地附加至管理构造部12的delete_TID_Vector的最末尾。
将说明更新处理(UPDATE)。数据库运算处理部30查找并指定作为更新目标的元组,在准备了更新元组表之后删除更新目标元组,并插入新的元组数据。通过结合查找、删除、以及插入来实现更新处理。此时,不改变TID小于旧的max_TID的数据,由此可以同时并行执行其他数据库处理,例如与此相关的查找和数据删除。
将参照图5来具体说明上述更新处理。假定在存储器11中存在最高TID200的元组,且已将其中的TID10、TID110、TID50、和TID199记录为使用截至目前为止执行的操作而已被无效的数据。此时,已将max_TID设置为200。当数据库运算处理部30更新存储到TID100中的数据时,其删除TID100,并输入新的数据作为TID201。即,将更新处理作为截至目前为止说明的删除(DELETE)和插入(INSERT)的两阶段处理来执行。
将说明查找处理(FIND)。数据库运算处理部30从管理构造部12获取max_TID,并将列存储器11内的小于上述TID的区域设置为查找区域(查找范围)。此外,数据库运算处理部30从管理构造部12获取delete_TID_Vector,并将其标记为要排除在查找外的数据。数据库运算处理部30在指定条件下执行查找处理,并获得作为TID列表的结果。
将参照图6来具体说明上述查找处理。假定在存储器11中存在最高TID201的元组,且已将其中的TID10、TID110、TID50、TID199、和TID100记录为使用截至目前为止执行的操作而已被无效的数据。此时,已将max_TID设置为201。通过将最高TID201的元组视为有效,并将在delete_TID_Vector中记录的TID10、TID110、TID50、TID199、以及TID100视为无效,来执行此刻的查找。现在,在查找操作中,执行检查,检查列的指定数据是否满足指定条件。要由数据库运算处理部30实现的查找单元取出由存储器11指定的列,且此外,执行据此确定元组是否有效的处理。将参照图7的流程图来说明该处理。
数据库运算处理部30确定:针对特定元组,其TID是否小于等于max_TID(步骤S11)。当在该确定中上述元组的TID大于max_TID(步骤S11:否)时,完成查找处理,且向请求者发送查找结果(步骤S17)。此外,当上述元组的TID小于等于max_TID(步骤S11:是)时,执行检查,检查与处理目标元组的元组ID相一致的元组ID是否被存储在delete_TID_Vector内。当存储了时(步骤S12:是),将处理目标移动至下一个元组(步骤S16)。当未存储时(步骤S12:否),将处理目标元组视为有效,且取出存储到上述元组中的数据(步骤S13)。并且,执行检查,检查取出的数据是否匹配查找条件(步骤S14),当其匹配时(步骤S14:是),将其检查结果记录到预定记录区域中(步骤S15),将处理目标移动至下一个元组(步骤S16),以及流程返回步骤S11。
由于当执行该查找处理时,完全不伴随对数据库内部的结构的改变,因此可以同时执行多个查找查询。此外,可以在查找查询的执行期间,同时执行插入、删除和更新的每个查询。
由于数据库10保持大量的元组,且特别在查找处理中增加数据处理量,因此要求实现高速处理。在本列存储数据库中,使用并行运算单元针对列存储器的并行计算使得有可能实现查找处理的高速处理等。
存在将计算中间的结果用作数据库的查询计算中的元组的二元数组的很多情况。在该附言型(postscript-type)列存储数据库的情况下,还必须指定删除的元组,并将其排除在查询结果之外。此时也使用针对元组的二元数组。并行运算单元能够高速执行二元数组的生成和合成。在对该高速运算操作应用最近的GPGPU(图形处理单元上的通用计算)的情况下,在GPU侧的储存设备中存储该存储器和delete_TID_Vector以及在GPU侧执行查询结果的合成使得有可能呈现高速处理。
本发明适合在要求大容量更新处理并执行高速及时分析的领域中使用。
如上所述,本发明包括针对以列为单位存入数据的数据库的指示在特定时刻的有效数据范围的max_TID以及指示已经无效的数据位置的delete_TID_Vector,并假定附言型配置,由此使得能够减小数据库的排他性控制范围以及增强处理的并行性。
<第二示例实施例>
图8是示出了与本发明的第二示例实施例相关的数据库处理设备的配置的视图。由包括CPU、并行运算单元(如,GPU)、以及存储部等在内的计算机构成的第二示例实施例的数据库处理设备。数据库处理设备包括:数据库10、并行运算单元环境检测部20、数据库运算处理部30、以及数据处理结果存储/再处理部40。第二示例实施例的每个构成单元与第一示例实施例中对应的构成单元几乎相同。下文中,将专注于并说明与第一示例实施例的不同之处。
在图9中例示出数据库10的结构。如附图所示,数据库10包括仅允许额外地附加的列数据库(存储器)11以及用于以表为单位进行管理的管理构造部13。管理构造部13存储最新元组位置(max_TID)的数据、删除元组数组(delete_TID_Vector)的数据、以及指示要被额外地附加至前述第二信息的信息的有效范围的信息,即删除元组ID数组(delete_TID_Vector)的有效位置(deleteIndex),所述最新元组位置(max_TID)指示了在特定时刻被视为有效的位置,所述删除元组数组(delete_TID_Vector)指示截至目前为止作为已经无效的元组的标识信息(第二信息)删除的元组ID的数组。
接下来,将说明与本示例实施例相关的数据库处理设备的操作。要针对数据库10执行的处理是:数据的插入(INSERT)、删除(DELETE)、更新(UPDATE)、查找(FIND)、针对查找结果的计算(Func)、以及再处理(INSERT、DELETE、UPDATE)。
将说明插入处理(INSERT)。数据库运算处理部30向存储器11发出编号与要新插入的数据编号相同的TID(元组ID),并将数据额外地附加至存储器的末尾。并且,当完成了对应当执行额外地附加的所有列的元组额外附加时,数据库运算处理部30使用通过执行增加与已经执行额外地附加的数据的编号相等的编号所获得的值来更新管理构造部13的最新元组位置max_TID。此时,不改变TID小于旧的max_TID的的数据,由此可以同时并行执行其他数据库处理,例如与此相关的查找以及数据删除。
将参照图10来具体说明上述插入处理。假定在存储器11中存在最高TID199的元组,且已将其中的TID10、TID110、和TID50记录为使用截至目前为止执行的操作而已被无效的数据。此时,已将max_TID设置为199。此外,deleteIndex指示2(初始值:0)。数据库运算处理部30向存储器11输入新数据作为TID200,并在完成针对存储器11的输入处理时将管理构造部13的max_TID变为200。
将说明删除处理(DELETE)。当数据库运算处理部30针对存储器11无效特定值时,其将指定的值额外地附加至管理构造部13的删除元组数组delete_TID_Vector。此外,数据库运算处理部30向deleteIndex加1。此时,不执行针对列存储器的变更,由此可以同时并行执行其他只读处理,例如与此相关的查找。此外,还可以同时执行数据的插入。
将参照图11来具体说明上述删除处理。假定在存储器11中存在最高TID200的元组,且已将其中的TID10、TID110、和TID50记录为使用截至目前为止执行的操作(删除)而已被无效的数据。此时,已将max_TID设置为200。本文中,当删除TID199的数据时,数据库运算处理部30将被无效的数据的TID199(删除目标数据的标识信息)额外地附加至管理构造部13的delete_TID_Vector的最末尾。此外,数据库运算处理部30向deleteIndex的2添加1以得到3,使得额外地附加的信息落在有效范围内。
将说明更新处理(UPDATE)。数据库运算处理部30指定作为更新目标的元组,在准备了更新元组数据之后删除更新目标元组,并插入新的元组数据。通过结合查找、删除、以及插入来实现更新处理。此时,不改变TID小于旧的max_TID的数据,由此可以同时并行执行其他数据库处理,例如与此相关的查找和数据删除。
将参照图12来具体说明上述更新处理。假定在存储器11中存在最高TID200的元组,且已将其中的TID10、TID110、TID50、和TID199记录为使用截至目前为止执行的操作而已被无效的数据。此时,已将max_TID设置为200。当数据库运算处理部30更新存储到TID100中的数据时,其删除TID100,并输入新的数据作为TID201。在该情况下,数据库运算处理部30将被无效的数据的TID100额外地附加至管理构造部13的delete_TID_Vector的最末尾,并向deleteIndex的3添加1以得到4。此外,数据库运算处理部30将max_TID变为201。即,将更新处理作为截至目前为止说明的删除(DELETE)和插入(INSERT)的两阶段处理来执行。
将说明查找处理(FIND)。数据库运算处理部30从管理构造部13获取max_TID,并将列存储器11内的小于上述TID的区域设置为查找区域。此外,数据库运算处理部30从管理构造部13获取delete_TID_Vector,并在根据deleteIndex检测到有效删除位置之后将delete_TID_Vector标记为要排除在查找外的数据。数据库运算处理部30在指定条件下执行查找处理,并获得作为TID列表的结果。
将参照图13来具体说明上述查找处理。假定在存储器11中存在最高TID201的元组,且已将其中的TID10、TID110、TID50、TID199、和TID100记录为使用截至目前为止执行的操作而已被无效的数据。此时,已将max_TID设置为201。通过将最高TID201的元组视为有效,并将在delete_TID_Vector中已经记录的、且依然小于deleteIndex的TID10、TID110、TID50、TID199、以及TID100的元组视为无效,来执行此刻的查找。现在,在查找操作中,执行检查,检查列的指定数据是否满足指定条件。要由数据库运算处理部30实现的查找单元取出由存储器11指定的列,且此外,执行据此确定元组是否有效的处理。在图14中示出了该处理的流程图。与图7所示的第一示例实施例的处理的不同之处是步骤12’。在步骤S12’中,数据库运算处理部30检查:与处理目标元组的元组ID相一致的元组ID是否存储在delete_TID_Vector中,该delete_TID_Vector最高为由deleteIndex所指示的有效位置。
由于当执行该查找处理时,完全不伴随对数据库内部的结构的改变,因此可以同时执行多个查找查询。此外,可以在查找查询的执行期间,同时执行插入、删除和更新的每个查询。
由于数据库10保持大量的元组,且特别在查找处理中数据处理量增加,因此要求实现高速处理。在本列存储数据库中,使用并行运算单元针对列存储器的并行计算使得有可能实现查找处理的高速处理等。
存在将计算中间的结果用作数据库的查询计算中的元组的二元数组的很多情况。在该附言型(postscript-type)列存储数据库的情况下,还必须指定删除的元组,并将其排除在查询结果之外。此时也使用针对元组的二元数组。并行运算单元能够高速执行二元数组的生成和合成。在对该高速运算操作应用最近的GPGPU的情况下,在GPU侧的储存设备中存储该存储器和delete_TID_Vector以及在GPU侧执行查询结果的合成使得有可能呈现高速处理。
本发明适合在要求大容量更新处理并执行高速及时分析的领域中使用。
如上所述,本发明包括针对以列为单位存入数据的数据库的指示在特定时刻的有效数据范围的max_TID、指示用于标识已经无效的数据的数据位置的delete_TID_Vector、以及指示delete_TID_Vector的有效位置的deleteindex,并假定附言型配置,由此使得能够进一步减小数据库的排他性控制范围以及增强处理的并行性。
由于删除列表具有附言型结构,且更少被锁定,在初始化交易执行时锁定并获取删除列表就足以进行读取查询而无需从此时起锁定。在伴随删除的写入查询的情况下,在写入时,锁定删除列表以获取删除列表的有效位置,以执行额外地附加从而更新有效位置,然后取消锁定。这使得能够减少删除列表的锁定时间。
此外,在上述说明中,数据库处理设备被配置为包括数据库10;然而数据库处理设备的配置不限于此,且例如,数据库处理设备可以被以下述方式配置:将数据库10安装在另一存储设备中,且该存储设备和上述数据库处理设备经由网络等相连。
与上述本发明的示例实施例相关的数据库处理设备可以通过由该设备的CPU来加载并执行存储在存储设备和记录介质中的操作程序等来实现,且进一步地,可以使用硬件来配置。可以用计算机程序来实现上述示例实施例的仅一部分的功能,且还可以将其存储在存储设备和记录介质中。
上面,尽管已参照优选示例实施例来特定地示出和描述了本发明,本发明不受限于上述示例实施例。本领域普通技术人员将理解:可以在不脱离本发明的精神和范围的情况下对其中进行形式和细节的各种改变。
可以将上面公开的示例实施例的全部或部分描述为(但不限于)以下补充注释。
(补充注释1)
一种数据库处理设备,包括:
列存储数据库,包括:以列为单位存储元组数据的存储器和关于所述存储器存储第一信息以及第二信息的管理构造部,所述第一信息指示有效数据范围,所述第二信息包括已经无效的数据的标识信息;以及
数据库处理部,当针对所述列存储数据库执行插入数据的处理时,将所述数据额外地附加至所述存储器的末尾并更新所述管理构造部的所述第一信息,以及当针对所述列存储数据库执行删除数据的处理时,将删除目标数据的标识信息额外地附加至所述管理构造部的所述第二信息。
(补充注释2)
根据补充注释1所述的数据库处理设备,其中,所述数据库处理部基于存储在所述管理构造部中的信息,来决定在更新所述列存储数据库时采用的所述列存储数据库的排他性控制范围。
(补充注释3)
根据补充注释1或补充注释2所述的数据库处理设备,还包括:执行运算单元确定部,确定是否通过采用并行运算单元来执行所请求的运算处理,以及当已确定通过采用并行运算单元来执行所述所请求的运算处理时,使所述并行运算单元执行所述所请求的运算处理。
(补充注释4)
根据补充注释1至补充注释3之一所述的数据库处理设备,其中,当所述数据库处理部针对所述列存储数据库执行查找数据的处理时,所述数据库处理部基于所述管理构造部的所述第一信息来决定查找范围,并基于所述第二信息来指定要排除在所述查找外的数据,以查找数据。
(补充注释5)
根据补充注释1至补充注释4之一所述的数据库处理设备,其中,当所述数据库处理部针对所述列存储数据库执行更新数据的处理时,所述数据库处理部查找更新目标数据,针对所找到的更新目标数据执行所述删除处理,以及针对为更新而准备的数据执行所述插入处理。
(补充注释6)
根据补充注释1至补充注释3之一所述的数据库处理设备:
其中,还将第三信息存储到所述管理构造部中,所述第三信息指示要额外地附加至所述第二信息的信息的有效范围;以及
其中,当所述数据库处理部针对所述列存储数据库执行删除数据的处理时,所述数据库处理部将删除目标数据的标识信息额外地附加至所述管理构造部的所述第二信息,并更新所述第三信息,使得上述被额外地附加的信息落入有效范围内。
(补充注释7)
根据补充注释6所述的数据库处理设备,其中,当所述数据库处理部针对所述列存储数据库执行查找数据的处理时,所述数据库处理部基于所述管理构造部的所述第一信息来决定查找范围,并基于所述第二信息和所述第三信息来指定要排除在所述查找外的数据,以查找数据。
(补充注释8)
根据补充注释7所述的数据库处理设备,其中,当所述数据库处理部针对所述列存储数据库执行更新数据的处理时,所述数据库处理部查找更新目标数据,针对所找到的更新目标数据执行所述删除处理,以及针对为更新而准备的数据执行所述插入处理。
(补充注释9)
一种数据库处理方法,包括:
当针对包括以列为单位存储元组数据的存储器和关于所述存储器存储所述第一信息和第二信息的管理构造部在内的列存储数据库执行插入数据的处理时,将所述数据额外地附加至所述存储器的末尾并更新所述管理构造部的所述第一信息,所述第一信息指示有效数据范围,所述第二信息包括已经无效的数据的标识信息;以及
当针对所述列存储数据库执行删除数据的处理时,将删除目标数据的标识信息额外地附加至所述管理构造部的所述第二信息。
(补充注释10)
根据补充注释9所述的数据库处理方法,包括:基于存储在所述管理构造部中的信息,来决定在更新所述列存储数据库时采用的所述列存储数据库的排他性控制范围。
(补充注释11)
根据补充注释9或补充注释10所述的数据库处理方法,包括:确定是否通过采用并行运算单元来执行所请求的运算处理,以及当已确定通过采用并行运算单元来执行所述所请求的运算处理时,使所述并行运算单元执行所述所请求的运算处理。
(补充注释12)
根据补充注释9至补充注释11之一所述的数据库处理方法,包括:当针对所述列存储数据库执行查找数据的处理时,基于所述管理构造部的所述第一信息来决定查找范围,并基于所述第二信息来指定要排除在所述查找外的数据,以查找数据。
(补充注释13)
根据补充注释9至补充注释12之一所述的数据库处理方法,包括:当针对所述列存储数据库执行更新数据的处理时,查找更新目标数据,针对所找到的更新目标数据执行所述删除处理,以及针对为更新而准备的数据执行所述插入处理。
(补充注释14)
根据补充注释9至补充注释11之一所述的数据库处理方法:
其中,还将第三信息存储到所述管理构造部中,所述第三信息指示要额外地附加至所述第二信息的信息的有效范围,所述数据库处理方法包括:当针对所述列存储数据库执行删除数据的处理时,将删除目标数据的标识信息额外地附加至所述管理构造部的所述第二信息,并更新所述第三信息,使得上述被额外地附加的信息落入有效范围内。
(补充注释15)
根据补充注释14所述的数据库处理方法,包括:当针对所述列存储数据库执行查找数据的处理时,基于所述管理构造部的所述第一信息来决定查找范围,并基于所述第二信息和所述第三信息来指定要排除在所述查找外的数据,以查找数据。
(补充注释16)
根据补充注释15所述的数据库处理方法,包括:当针对所述列存储数据库执行更新数据的处理时,查找更新目标数据,针对所找到的更新目标数据执行所述删除处理,以及针对为更新而准备的数据执行所述插入处理。
(补充注释17)
一种程序,用于使计算机执行以下处理:
当针对包括以列为单位存储元组数据的存储器和关于所述存储器存储第一信息以及第二信息的管理构造部在内的列存储数据库执行插入数据的处理时,将所述数据额外地附加至所述存储器的末尾并更新所述管理构造部的所述第一信息,所述第一信息指示有效数据范围,所述第二信息包括已经无效的数据的标识信息;以及
当针对所述列存储数据库执行删除数据的处理时,将删除目标数据的标识信息额外地附加至所述管理构造部的所述第二信息。
(补充注释18)
根据补充注释17所述的程序,使所述计算机执行以下处理:基于存储在所述管理构造部中的信息,决定在更新所述列存储数据库时采用的所述列存储数据库的排他性控制范围。
(补充注释19)
根据补充注释17或补充注释18所述的程序,使所述计算机执行以下处理:确定是否通过采用并行运算单元来执行所请求的运算处理,以及当已确定通过采用并行运算单元来执行所述所请求的运算处理时,使所述并行运算单元执行所述所请求的运算处理。
(补充注释20)
根据补充注释17至补充注释19之一所述的程序,使所述计算机执行以下处理:当针对所述列存储数据库执行查找数据的处理时,基于所述管理构造部的所述第一信息来决定查找范围,并基于所述第二信息来指定要排除在所述查找外的数据,以查找数据。
(补充注释21)
根据补充注释17至补充注释20之一所述的程序,使所述计算机执行以下处理:当针对所述列存储数据库执行更新数据的处理时,查找更新目标数据,针对所找到的更新目标数据执行所述删除处理,以及针对为更新而准备的数据执行所述插入处理。
(补充注释22)
根据补充注释17至补充注释19之一所述的程序:
其中,还将第三信息存储到所述管理构造部中,所述第三信息指示要额外地附加至所述第二信息的信息的有效范围;以及
其中,所述删除处理将删除目标数据的标识信息额外地附加至所述管理构造部的所述第二信息,并更新所述第三信息,使得上述被额外地附加的信息落入有效范围内。
(补充注释23)
根据补充注释22所述的程序,使所述计算机执行以下处理:当针对所述列存储数据库执行查找数据的处理时,基于所述管理构造部的所述第一信息来决定查找范围,并基于所述第二信息和所述第三信息来指定要排除在所述查找外的数据,以查找数据。
(补充注释24)
根据补充注释23所述的程序,使所述计算机执行以下处理:当针对所述列存储数据库执行更新数据的处理时,查找更新目标数据,针对所找到的更新目标数据执行所述删除处理,以及针对为更新而准备的数据执行所述插入处理。
(补充注释25)
一种列存储数据库的数据结构,包括:
以列为单位存储元组数据的存储器;以及
关于所述存储器存储第一信息以及第二信息的管理构造部,所述第一信息指示有效数据范围,所述第二信息指示已经无效的数据。
(补充注释26)
根据补充注释25所述的列存储数据库的数据结构,其中,还将第三信息存储到所述管理构造部中,所述第三信息指示要额外地附加至所述第二信息的信息的有效范围。
本申请基于并要求于2012年3月26日提交的日本专利申请No.2012-069026和于2012年11月26日提交的日本专利申请No.2012-257359的优先权,以全文引用的方式将它们的公开内容并入本文中。
Claims (12)
1.一种数据库处理设备,包括:
列存储数据库,包括:以列为单位存储元组数据的存储器和关于所述存储器在其中存储第一信息以及第二信息的管理构造部,所述第一信息指示有效数据范围,所述第二信息包括已经无效的数据的标识信息;以及
数据库处理部,当针对所述列存储数据库执行插入数据的处理时,所述数据库处理部将所述数据额外地附加至所述存储器的末尾并更新所述管理构造部的所述第一信息,以及当针对所述列存储数据库执行删除数据的处理时,所述数据库处理部将删除目标数据的标识信息额外地附加至所述管理构造部的所述第二信息。
2.根据权利要求1所述的数据库处理设备,其中,所述数据库处理部基于存储在所述管理构造部中的信息来决定所述列存储数据库的排他性控制范围,在更新所述列存储数据库时采用所述排他性控制范围。
3.根据权利要求1所述的数据库处理设备,还包括:执行运算单元确定部,所述执行运算单元确定部确定是否通过采用并行运算单元来执行所请求的运算处理,以及当已确定通过采用所述并行运算单元来执行所述所请求的运算处理时,所述执行运算单元确定部使所述并行运算单元执行所述所请求的运算处理。
4.根据权利要求1所述的数据库处理设备,其中,当所述数据库处理部针对所述列存储数据库执行查找数据的处理时,所述数据库处理部基于所述管理构造部的所述第一信息来决定查找范围,并基于所述第二信息来指定要被排除在所述查找之外的数据,以查找数据。
5.根据权利要求1所述的数据库处理设备,其中,当所述数据库处理部针对所述列存储数据库执行更新数据的处理时,所述数据库处理部查找更新目标数据,针对所找到的更新目标数据执行所述删除处理,以及针对为更新而准备的数据执行所述插入处理。
6.根据权利要求1所述的数据库处理设备:
其中,还将第三信息存储到所述管理构造部中,所述第三信息指示要额外地附加至所述第二信息的信息的有效范围;以及
其中,当所述数据库处理部针对所述列存储数据库执行删除数据的处理时,所述数据库处理部将删除目标数据的标识信息额外地附加至所述管理构造部的所述第二信息,并更新所述第三信息使得上述被额外地附加的信息落入有效范围内。
7.根据权利要求6所述的数据库处理设备,其中,当所述数据库处理部针对所述列存储数据库执行查找数据的处理时,所述数据库处理部基于所述管理构造部的所述第一信息来决定查找范围,并基于所述第二信息和所述第三信息来指定要被排除在所述查找之外的数据,以查找数据。
8.根据权利要求7所述的数据库处理设备,其中,当所述数据库处理部针对所述列存储数据库执行更新数据的处理时,所述数据库处理部查找更新目标数据,针对所找到的更新目标数据执行所述删除处理,以及针对为更新而准备的数据执行所述插入处理。
9.一种数据库处理方法,包括:
当针对包括其中以列为单位存储元组数据的存储器和关于所述存储器在其中存储第一信息和第二信息的管理构造部在内的列存储数据库执行插入数据的处理时,将所述数据额外地附加至所述存储器的末尾并更新所述管理构造部的所述第一信息,所述第一信息指示有效数据范围,所述第二信息包括已经无效的数据的标识信息;以及
当针对所述列存储数据库执行删除数据的处理时,将删除目标数据的标识信息额外地附加至所述管理构造部的所述第二信息。
10.根据权利要求9所述的数据库处理方法,其中,还将第三信息存储到所述管理构造部中,所述第三信息指示要额外地附加至所述第二信息的信息的有效范围,所述数据库处理方法包括:当针对所述列存储数据库执行删除数据的处理时,将删除目标数据的标识信息额外地附加至所述管理构造部的所述第二信息,并更新所述第三信息使得上述被额外地附加的信息落入有效范围内。
11.一种在其中存储有程序的非瞬态计算机可读存储介质,用于使计算机执行以下处理:
当针对包括其中以列为单位存储元组数据的存储器和关于所述存储器在其中存储第一信息以及第二信息的管理构造部在内的列存储数据库执行插入数据的处理时,将所述数据额外地附加至所述存储器的末尾并更新所述管理构造部的所述第一信息,所述第一信息指示有效数据范围,所述第二信息包括已经无效的数据的标识信息;以及
当针对所述列存储数据库执行删除数据的处理时,将删除目标数据的标识信息额外地附加至所述管理构造部的所述第二信息。
12.根据权利要求11所述的非瞬态计算机可读存储介质:
其中,还将第三信息存储到所述管理构造部中,所述第三信息指示要额外地附加至所述第二信息的信息的有效范围;以及
其中,所述删除处理将删除目标数据的标识信息额外地附加至所述管理构造部的所述第二信息,并更新所述第三信息使得上述被额外地附加的信息落入有效范围内。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012-069026 | 2012-03-26 | ||
JP2012069026 | 2012-03-26 | ||
JP2012-257359 | 2012-11-26 | ||
JP2012257359A JP5999351B2 (ja) | 2012-03-26 | 2012-11-26 | データベース処理装置、方法、プログラム及びデータ構造 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103365943A true CN103365943A (zh) | 2013-10-23 |
CN103365943B CN103365943B (zh) | 2018-07-24 |
Family
ID=49213342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310096456.8A Expired - Fee Related CN103365943B (zh) | 2012-03-26 | 2013-03-25 | 数据库处理设备、数据库处理方法以及记录介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20130254242A1 (zh) |
JP (1) | JP5999351B2 (zh) |
CN (1) | CN103365943B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045791A (zh) * | 2014-03-26 | 2015-11-11 | 日本电气株式会社 | 数据库设备 |
CN107193910A (zh) * | 2017-05-14 | 2017-09-22 | 四川盛世天成信息技术有限公司 | 一种应用于数据安全类产品的数据库防篡改方法及系统 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6197578B2 (ja) * | 2013-10-24 | 2017-09-20 | 日本電気株式会社 | 情報処理装置、情報処理方法およびプログラム |
JP6229997B2 (ja) * | 2013-11-14 | 2017-11-15 | 富士ゼロックス株式会社 | データ管理システム及びプログラム |
JPWO2015105043A1 (ja) * | 2014-01-08 | 2017-03-23 | 日本電気株式会社 | 演算システム、データベース管理装置および演算方法 |
US10031934B2 (en) | 2014-09-30 | 2018-07-24 | International Business Machines Corporation | Deleting tuples using separate transaction identifier storage |
US10255304B2 (en) | 2014-09-30 | 2019-04-09 | International Business Machines Corporation | Removal of garbage data from a database |
JP7024432B2 (ja) * | 2018-01-18 | 2022-02-24 | 富士通株式会社 | データベース管理システム、データ変換プログラム、データ変換方法及びデータ変換装置 |
US11514066B2 (en) * | 2019-11-08 | 2022-11-29 | Servicenow, Inc. | System and methods for querying and updating databases |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070124363A1 (en) * | 2004-07-21 | 2007-05-31 | The Mathworks, Inc. | Instrument-based distributed computing systems |
CN101750085A (zh) * | 2008-12-11 | 2010-06-23 | 北京四维图新科技股份有限公司 | 基于履历信息的导航电子地图差分数据生成方法及装置 |
US20110213775A1 (en) * | 2010-03-01 | 2011-09-01 | International Business Machines Corporation | Database Table Look-up |
CN102207956A (zh) * | 2010-03-29 | 2011-10-05 | 日本电气株式会社 | 数据库管理方法、数据库管理系统及其程序 |
US20110246432A1 (en) * | 2007-08-27 | 2011-10-06 | Teradata Us, Inc. | Accessing data in column store database based on hardware compatible data structures |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9195657B2 (en) * | 2010-03-08 | 2015-11-24 | Microsoft Technology Licensing, Llc | Columnar storage of a database index |
US8631000B2 (en) * | 2010-09-30 | 2014-01-14 | International Business Machines Corporation | Scan sharing for query predicate evaluations in column-based in-memory database systems |
US9251197B2 (en) * | 2011-06-27 | 2016-02-02 | Jethrodata Ltd. | System, method and data structure for fast loading, storing and access to huge data sets in real time |
-
2012
- 2012-11-26 JP JP2012257359A patent/JP5999351B2/ja not_active Expired - Fee Related
-
2013
- 2013-03-14 US US13/829,034 patent/US20130254242A1/en not_active Abandoned
- 2013-03-25 CN CN201310096456.8A patent/CN103365943B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070124363A1 (en) * | 2004-07-21 | 2007-05-31 | The Mathworks, Inc. | Instrument-based distributed computing systems |
US20110246432A1 (en) * | 2007-08-27 | 2011-10-06 | Teradata Us, Inc. | Accessing data in column store database based on hardware compatible data structures |
CN101750085A (zh) * | 2008-12-11 | 2010-06-23 | 北京四维图新科技股份有限公司 | 基于履历信息的导航电子地图差分数据生成方法及装置 |
US20110213775A1 (en) * | 2010-03-01 | 2011-09-01 | International Business Machines Corporation | Database Table Look-up |
CN102207956A (zh) * | 2010-03-29 | 2011-10-05 | 日本电气株式会社 | 数据库管理方法、数据库管理系统及其程序 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045791A (zh) * | 2014-03-26 | 2015-11-11 | 日本电气株式会社 | 数据库设备 |
CN107193910A (zh) * | 2017-05-14 | 2017-09-22 | 四川盛世天成信息技术有限公司 | 一种应用于数据安全类产品的数据库防篡改方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20130254242A1 (en) | 2013-09-26 |
JP5999351B2 (ja) | 2016-09-28 |
CN103365943B (zh) | 2018-07-24 |
JP2013228999A (ja) | 2013-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103365943A (zh) | 数据库处理设备、数据库处理方法以及记录介质 | |
Wu et al. | An empirical evaluation of in-memory multi-version concurrency control | |
EP3329393B1 (en) | Materializing expressions within in-memory virtual column units to accelerate analytic queries | |
US10366083B2 (en) | Materializing internal computations in-memory to improve query performance | |
US10642831B2 (en) | Static data caching for queries with a clause that requires multiple iterations to execute | |
US11030179B2 (en) | External data access with split index | |
Papenbrock et al. | Divide & conquer-based inclusion dependency discovery | |
US8566308B2 (en) | Intelligent adaptive index density in a database management system | |
Lee et al. | Large-scale incremental processing with MapReduce | |
JP6198845B2 (ja) | アクティブデータベースクエリのメンテナンス | |
US9239858B1 (en) | High-concurrency transactional commits | |
WO2012169102A1 (ja) | データベース性能予測装置及びデータベース予測方法 | |
Li et al. | ASLM: Adaptive single layer model for learned index | |
Jalili et al. | Next generation indexing for genomic intervals | |
US8548980B2 (en) | Accelerating queries based on exact knowledge of specific rows satisfying local conditions | |
Wen et al. | Scalable and fast SVM regression using modern hardware | |
Jalili et al. | Indexing next-generation sequencing data | |
Umar et al. | Greenbst: Energy-efficient concurrent search tree | |
Rupley Jr | Introduction to query processing and optimization | |
Zhang et al. | A prefetching indexing scheme for in-memory database systems | |
US20160117415A1 (en) | Method and system to discover dependencies in datasets | |
Yao et al. | NV-QALSH: an nvm-optimized implementation of query-aware locality-sensitive hashing | |
Sharma et al. | Performance Enhancement using SQL Statement Tuning Approach. | |
Hayamizu et al. | Benchmarking and performance analysis of event sequence queries on relational database | |
Baumstark et al. | Lock-free Data Structures for Data Stream Processing: A Closer Look |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
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: 20180724 Termination date: 20200325 |