CN105335482A - 面向海量分布式数据库的批量插入方法 - Google Patents
面向海量分布式数据库的批量插入方法 Download PDFInfo
- Publication number
- CN105335482A CN105335482A CN201510660858.5A CN201510660858A CN105335482A CN 105335482 A CN105335482 A CN 105335482A CN 201510660858 A CN201510660858 A CN 201510660858A CN 105335482 A CN105335482 A CN 105335482A
- Authority
- CN
- China
- Prior art keywords
- data
- insert
- batch
- server
- operational character
- 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/25—Integrating or interfacing systems involving database management systems
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种面向海量分布式数据库的批量插入方法,用于解决现有海量结构化数据存储管理系统OceanBase不支持批量插入功能的技术问题。技术方案是采用多批次循环插入策略以及插入阈值优化策略,首先根据插入条件获取需要插入的数据,然后将获取的数据进行处理,转换为Oceanbase能够识别的插入格式,根据多批次循环插入思想以及批量插入语义构造插入数据计划,利用插入阈值优化策略在执行插入数据计划时进行优化,提高插入效率。海量分布式数据库的批量插入方法在Oceanbase中实现了批量插入功能,性能优于利用程序进行插入的方法。
Description
技术领域
本发明涉及一种批量插入方法,特别是涉及一种面向海量分布式数据库的批量插入方法。
背景技术
随着云计算、web2.0等技术的进一步发展,传统的关系数据库在应对海量数据处理时显得力不从心。而NoSQL数据库由于放弃了传统关系型数据库严格的事务一致性和范式约束,采用弱一致性模型,支持分布式和水平扩展,满足了海量数据管理的需求,因此在大数据处理领域得到了广泛关注和应用。但是,传统的金融业务除了要处理海量数据外,还需要保证数据处理过程中事务的强一致性。目前大多数的NoSQL数据库不支持事务的强一致性,从而无法满足金融业务的需求。
文献“海量结构化数据存储管理系统OceanBase,2013,Vol4(1),p41-48”中提出了一种融合了NoSQL数据库架构和关系数据库特点的新型分布式数据存储管理系统Oceanbase,不仅支持跨行跨表的事务的强一致性,也支持数据节点的可扩展性,在国家倡导信息安全和应用国产软件的背景下,得到了国内金融业的普遍关注。Oceanbase采用了NOSQL数据库的架构,具有可扩展性的特点,同时又较好的支持SQL查询和事务的强一致性,在应对金融业务上,具有很大优势。文献所述的Oceanbase虽然支持关系语言操作,但支持的SQL功能非常有限,特别是对于金融应用中常用的批量插入功能,尚未支持,使得其难于满足金融需求,无法导入金融应用中产生的大量历史数据。
发明内容
为了克服现有海量结构化数据存储管理系统OceanBase不支持批量插入功能的不足,本发明提供一种面向海量分布式数据库的批量插入方法。该方法采用多批次循环插入策略以及插入阈值优化策略,首先根据插入条件获取需要插入的数据,然后将获取的数据进行处理,转换为Oceanbase能够识别的插入格式,根据多批次循环插入思想以及批量插入语义构造插入数据计划,利用插入阈值优化策略在执行插入数据计划时进行优化,提高插入效率。海量分布式数据库的批量插入方法在Oceanbase中实现了批量插入功能,性能优于利用程序进行插入的方法。
本发明解决其技术问题所采用的技术方案是:一种面向海量分布式数据库的批量插入方法,其特点是采用以下步骤:
一、获取插入数据。
步骤1、查询处理服务器解析用户输入的SQL语句,根据解析结果,判断SQL语句合法性。子表输出列是否与主表插入列个数一致,如果不一致,则对用户报错;子表输出列的数据类型是否与主表插入列类型一致,如果不一致,则将子表的数据类型转换为主表的数据类型。
步骤2、根据用户输入的查询条件,构造查询范围,由查询处理服务器将所述的查询范围发送给总控服务器,总控服务器根据自身存储的每个表的数据范围信息和存储服务器的对应关系,返回给查询处理服务器需要查询的数据分布在哪些存储服务器上。
步骤3、查询处理服务器将数据的分布情况、解析出的表信息以及输出列信息保存在数据读取操作符中,在执行此操作符时,会存储服务器上根据表信息、输出列信息以及查询条件取出用户需要的数据,并将这些数据返回给查询处理服务器,存储在查询处理服务器的内存中。
二、处理插入数据。
步骤4、从查询处理服务器内存中取一条子表数据,解析这条子表数据,将这条数据的每个列值取出来,同时获取这一列的数据类型,与主表对应的插入列的数据类型进行对比,如果不一致,则将子表的数据类型转换为主表的数据类型。
步骤5、将处理好的这条数据保存在内存中,然后顺序执行步骤4和步骤5。如果取完子表的全部数据,则转到步骤6。
步骤6、将内存中保存的数据序列化发送给增量服务器。
三、构造插入数据计划。
步骤7、根据批量插入语句的语义,构造插入数据计划所需要的物理操作符,包括:动态数据操作符、静态数据操作符、过滤操作符和插入操作符。构造步骤如下:
步骤7a、构造动态数据操作符,在所构造动态数据操作符内部构造一个地址空间,用来保存在查询处理服务器内存中保存的插入数据的地址。
步骤7b、构造静态数据操作符,在所构造静态数据操作符内部构造一个地址空间,用来保存在查询处理服务器内存中保存的插入数据是否存在的信息的地址。
步骤7c、构造过滤操作符,在所构造过滤操作符内部声明两个独立的指针,用来指向动态数据操作符和静态数据操作符两个物理操作符,并构造一个数据过滤器,所构造数据过滤器的输入是增量服务器已经存在的数据,作用是把动态数据操作符和静态数据操作符两个操作符中保存的数据和增量服务器已经存在的数据进行比较,输出是将要插入的数据是否能够插入的判断信息,如果有一条数据不能插入,则返回这条批量插入语句失败,如果所有语句都能插入,则对将要插入的数据进行放行。
步骤7d、构造插入操作符,在所构造插入操作符内部声明一个指针,用来指向过滤操作符,并构造一个数据插入器,所构造数据插入器的输入是过滤操作符放行的数据,作用是将放行的数据插入到增量服务器,输出是否插入成功的判断信息,如果有一条插入失败,则返回失败,如果都插入成功,才返回成功。
步骤8、根据步骤7构造的物理操作符,将所构造的物理操作符构造成一颗物理操作符树,构造过程自顶向下构造,构造过程为:插入操作符指向过滤操作符,过滤操作符分别指向动态数据操作符和静态数据操作符,构造完毕。
四、执行插入数据计划。
步骤9、初始化多批次插入计划的执行环境,包括:设定插入阈值,申请插入执行时空间,设定多批次插入执行的条件。
步骤10、执行一批次插入计划。
步骤11、重置一批次插入计划的执行环境。如果步骤10执行成功,并且数据从子表完全插入到主表,则结束整个插入过程;如果步骤10执行成功,但数据还没有完全从子表插入到主表,则跳转到步骤10;如果步骤10执行失败,则跳转到步骤12。
步骤12、输出给客户端错误信息,包括:数据插入到第几批,一共插入了多少行数据。
五、插入优化。
向增量服务器插入一批数据有通信量的限制,数据插入的阈值决定着一批次插入的数据量,既决定着整个数据量的插入次数,影响着插入的性能。根据下述公式动态求出批量插入语句最优的阈值。
threshold=1.2*1024*1024/{[4*n+B*(C-n)]*8}
式中,C代表插入表的全部列数,n代表非字符串类型的列数,则C-n代表字符串类型的列数。
本发明的有益效果是:该方法采用多批次循环插入策略以及插入阈值优化策略,首先根据插入条件获取需要插入的数据,然后将获取的数据进行处理,转换为Oceanbase能够识别的插入格式,根据多批次循环插入思想以及批量插入语义构造插入数据计划,利用插入阈值优化策略在执行插入数据计划时进行优化,提高插入效率。海量分布式数据库的批量插入方法在Oceanbase中实现了批量插入功能,性能优于利用程序进行插入的方法。
下面结合附图和具体实施方式对本发明作详细说明。
附图说明
图1是insert...values功能与新添加的insert...select功能的性能对比图。
图2是批量插入功能与程序批量插入的性能对比图。
具体实施方式
参照图1-2。本发明面向海量分布式数据库的批量插入方法具体步骤如下:
1、获取插入数据。
批量插入策略在分布式数据库环境下实行,需要插入的数据分布在不同存储服务器中,在获取插入数据之前,需要得到插入数据在哪些存储服务器上。具体步骤如下。
步骤1。查询处理服务器解析用户输入的SQL语句,根据解析结果,判断SQL语句合法性,包括:1.子表输出列是否和主表插入列个数一致2.子表输出列的数据类型是否和主表插入列类型一致。对于1,如果不一致,则对用户报错;对于2,如果不一致,则将子表的数据类型转换为主表的数据类型,这是在步骤2进行的。
步骤2。根据用户输入的查询条件,构造查询范围,由查询处理服务器将这个查询范围发送给总控服务器,总控服务器根据自身存储的每个表的数据范围信息和存储服务器的对应关系,返回给查询处理服务器需要查询的数据分布在哪些存储服务器上。
步骤3。查询处理服务器将数据的分布情况和解析出的表信息以及输出列信息保存在数据读取操作符中,在执行此操作符时,会存储服务器上根据表信息、输出列信息以及查询条件取出用户需要的数据,并将这些数据返回给查询处理服务器,存储在查询处理服务器的内存中。
2.处理插入数据。
将数据从子表中取出后,需要对子表的数据进行处理,转换为主表的数据格式。处理步骤如下。
步骤1。从查询处理服务器内存中取一条子表数据,解析这条子表数据,将这条数据的每个列值取出来,同时获取这一列的数据类型,与主表对应的插入列的数据类型进行对比,如果不一致,则将子表的数据类型转换为主表的数据类型。
步骤2。将处理好的这条数据保存在内存中,然后顺序执行步骤1和步骤2。如果取完子表的全部数据,则转到步骤3。
步骤3。将内存中保存的数据序列化发送给增量服务器。
3.构造插入数据计划。
插入数据任务由增量服务器完成,首先构筑插入数据计划,插入数据计划由一颗在增量服务器上执行的物理操作符树构成的,具体步骤如下。
步骤1。根据批量插入语句的语义,构造插入数据计划所需要的物理操作符,包括:动态数据操作符,静态数据操作符,过滤操作符,插入操作符,构造步骤如下,其中步骤1a和步骤1b的执行顺序可以颠倒。
步骤1a。构造动态数据操作符,在这个操作符内部构造一个地址空间,用来保存在查询处理服务器内存中保存的插入数据的地址。
步骤1b。构造静态数据操作符,在这个操作符内部构造一个地址空间,用来保存在查询处理服务器内存中保存的插入数据是否存在的信息的地址。
步骤1c。构造过滤操作符,在这个操作符内部声明两个独立的指针,用来指向动态数据操作符和静态数据操作符两个物理操作符,并构造一个数据过滤器,这个过滤器的输入是增量服务器已经存在的数据,作用是把动态数据操作符和静态数据操作符两个操作符中保存的数据和增量服务器已经存在的数据进行比较,输出是将要插入的数据是否能够插入的判断信息,如果有一条数据不能插入,则返回这条批量插入语句失败,如果所有语句都能插入,则对将要插入的数据进行放行。
步骤1d。构造插入操作符,在这个操作符内部声明一个指针,用来指向过滤操作符,并构造一个数据插入器,这个数据插入器的输入是过滤操作符放行的数据,作用是将放行的数据插入到增量服务器,输出是否插入成功的判断信息,如果有一条插入失败,则返回失败,如果都插入成功,才返回成功。
步骤2。根据步骤1构造的物理操作符,需要将这些物理操作符构造成一颗物理操作符树,构造过程自顶向下构造,构造过程为:插入操作符指向过滤操作符,过滤操作符分别指向动态数据操作符和静态数据操作符,构造完毕。
4.执行插入数据计划。
根据多批次循环插入策略,执行插入数据计划时需要循环执行一批次的插入计划,即“3.构造插入计划”。具体步骤如下。
步骤1。初始化多批次插入计划的执行环境,包括:设定插入阈值,申请插入执行时空间,设定多批次插入执行的条件。
步骤2。执行一批次插入计划。
步骤3。重置一批次插入计划的执行环境。如果步骤2执行成功,并且数据从子表完全插入到主表,则结束整个插入过程;如果步骤2执行成功,但数据还没有完全从子表插入到主表,则跳转到步骤2;如果步骤2执行失败,则跳转到步骤4。
步骤4。输出给客户端错误信息,包括:数据插入到第几批了,一共插入了多少行数据。
5.插入优化。
向增量服务器插入一批数据有通信量的限制,因此数据插入的阈值(threshold)决定着一批次插入的数据量,既决定着整个数据量的插入次数,影响着插入的性能。为了选择合适的阈值,需要构造合适的阈值选择公式。
批量插入过程的耗时不在于每批次插入的数据量,即一批次插入的数据量10行与1000行所用的时间基本一样,而在于每次循环各个服务器之间的通信耗时。因此为了提高插入效率,需要减少循环次数,减少循环次数最直接有效的方法就是增大阈值。为了动态地生成每批次插入的阈值,得出公式:
threshold=1.2*1024*1024/{[4*n+B*(C-n)]*8}
假设Oceanabse中一共有两种类型,字符串类型和非字符串类型,非字符串类型的长度经调查设为4个字节较为合适。公式中C代表插入表的一共的列数,n代表非字符串类型的列数,则C-n代表字符串类型的列数。根据这个公式可以动态求出批量插入语句最优的阈值。
通过上述发明,可以实现Oceanbase的insert批量插入功能,并提高海量数据的转移性能。下面是应用该策略后的一组实验。
实验环境:Oceanbase单服务器部署。服务器由1T硬盘,16G内存,16核CPU,一块网卡组成。服务器操作系统是RedHat6.2,内核是2.6.32-220.el6.x86_64。
实验数据:两个实验所涉及到的表的模式以及插入的数据的特征描述如下:
主表模式:main_table(idintprimarykey,namevarchar(100))
子表模式:sub_table(idintprimarykey,namevarchar(100))
子表数据特征:数据量为100万;id:1,2...,1000000;name:hello1,hello2,...,hello1000000。
实验一。
实验一衡量Oceanbase已经存在的insert...values功能和新添加的;批量插入功能的性能对比。Threshold设为1000。Oceanbase现有的insert...values插入功能只能插入小于2M的数据量。
测试SQL语句模板如下所示。
BatchInsert:批量插入功能的sql语句为:insertintomain_tableselect*fromsub_tableswhereid<=1000k。(k=1,...,8)
BatchValues:insert...values功能的sql语句为:insertintomain_tablevalues(1,’hello1’),...,(1000k,hello1000k)。(k=1,...,8)
表1测试数据
测试分析:从图1可以看出BatchValues比BatchInsert的结果略好,原因是threshold的值为1000,即每插入1k的值,会进行一次循环,多消耗一次I/O,因此可以看出在1k的插入量时,BatchInsert和BatchValues的时间基本一样,从2k到8k会随着插入量的增长,BatchInsert的时间有些许的增长。但BatchValues只能插入7k左右,再多的数据是插不进去的,这是由于2M的通信限制,而BatchInsert是无这种限制的,因此从总体上来说,实现的insert批量插入在处理大数据时是优于insert多值插入的。
实验二。
实验二衡量insert...select功能和程序批量插入的性能对比。Threshold设为1000。
测试SQL语句模板如下所示。
BatchInsert:批量插入功能的sql语句为:insertintomain_tableselect*fromsub_tableswhereid<=1000k。(k=1,...,8)
ProgramInsert:利用ODBC或JDBC链接Oceanbase,利用高级语言(java、C等)编写程序实现循环插入。
表2测试数据
测试分析:从图2可以明显看出,insert批量插入较程序批量插入效率要快很多,因此在Oceanbase进行表之间大数据量转移的情况下使用批量插入功能是能够提升很大的效率的。
Claims (1)
1.一种面向海量分布式数据库的批量插入方法,其特征在于包括以下步骤:
一、获取插入数据;
步骤1、查询处理服务器解析用户输入的SQL语句,根据解析结果,判断SQL语句合法性;子表输出列是否与主表插入列个数一致,如果不一致,则对用户报错;子表输出列的数据类型是否与主表插入列类型一致,如果不一致,则将子表的数据类型转换为主表的数据类型;
步骤2、根据用户输入的查询条件,构造查询范围,由查询处理服务器将所述的查询范围发送给总控服务器,总控服务器根据自身存储的每个表的数据范围信息和存储服务器的对应关系,返回给查询处理服务器需要查询的数据分布在哪些存储服务器上;
步骤3、查询处理服务器将数据的分布情况、解析出的表信息以及输出列信息保存在数据读取操作符中,在执行此操作符时,会存储服务器上根据表信息、输出列信息以及查询条件取出用户需要的数据,并将这些数据返回给查询处理服务器,存储在查询处理服务器的内存中;
二、处理插入数据;
步骤4、从查询处理服务器内存中取一条子表数据,解析这条子表数据,将这条数据的每个列值取出来,同时获取这一列的数据类型,与主表对应的插入列的数据类型进行对比,如果不一致,则将子表的数据类型转换为主表的数据类型;
步骤5、将处理好的这条数据保存在内存中,然后顺序执行步骤4和步骤5;如果取完子表的全部数据,则转到步骤6;
步骤6、将内存中保存的数据序列化发送给增量服务器;
三、构造插入数据计划;
步骤7、根据批量插入语句的语义,构造插入数据计划所需要的物理操作符,包括:动态数据操作符、静态数据操作符、过滤操作符和插入操作符;构造步骤如下:
步骤7a、构造动态数据操作符,在所构造动态数据操作符内部构造一个地址空间,用来保存在查询处理服务器内存中保存的插入数据的地址;
步骤7b、构造静态数据操作符,在所构造静态数据操作符内部构造一个地址空间,用来保存在查询处理服务器内存中保存的插入数据是否存在的信息的地址;
步骤7c、构造过滤操作符,在所构造过滤操作符内部声明两个独立的指针,用来指向动态数据操作符和静态数据操作符两个物理操作符,并构造一个数据过滤器,所构造数据过滤器的输入是增量服务器已经存在的数据,作用是把动态数据操作符和静态数据操作符两个操作符中保存的数据和增量服务器已经存在的数据进行比较,输出是将要插入的数据是否能够插入的判断信息,如果有一条数据不能插入,则返回这条批量插入语句失败,如果所有语句都能插入,则对将要插入的数据进行放行;
步骤7d、构造插入操作符,在所构造插入操作符内部声明一个指针,用来指向过滤操作符,并构造一个数据插入器,所构造数据插入器的输入是过滤操作符放行的数据,作用是将放行的数据插入到增量服务器,输出是否插入成功的判断信息,如果有一条插入失败,则返回失败,如果都插入成功,才返回成功;
步骤8、根据步骤7构造的物理操作符,将所构造的物理操作符构造成一颗物理操作符树,构造过程自顶向下构造,构造过程为:插入操作符指向过滤操作符,过滤操作符分别指向动态数据操作符和静态数据操作符,构造完毕;
四、执行插入数据计划;
步骤9、初始化多批次插入计划的执行环境,包括:设定插入阈值,申请插入执行时空间,设定多批次插入执行的条件;
步骤10、执行一批次插入计划;
步骤11、重置一批次插入计划的执行环境;如果步骤10执行成功,并且数据从子表完全插入到主表,则结束整个插入过程;如果步骤10执行成功,但数据还没有完全从子表插入到主表,则跳转到步骤10;如果步骤10执行失败,则跳转到步骤12;
步骤12、输出给客户端错误信息,包括:数据插入到第几批,一共插入了多少行数据;
五、插入优化;
向增量服务器插入一批数据有通信量的限制,数据插入的阈值决定着一批次插入的数据量,既决定着整个数据量的插入次数,影响着插入的性能;根据下述公式动态求出批量插入语句最优的阈值;
threshold=1.2*1024*1024/{[4*n+B*(C-n)]*8}
式中,C代表插入表的全部列数,n代表非字符串类型的列数,则C-n代表字符串类型的列数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510660858.5A CN105335482B (zh) | 2015-10-14 | 2015-10-14 | 面向海量分布式数据库的批量插入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510660858.5A CN105335482B (zh) | 2015-10-14 | 2015-10-14 | 面向海量分布式数据库的批量插入方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105335482A true CN105335482A (zh) | 2016-02-17 |
CN105335482B CN105335482B (zh) | 2018-07-03 |
Family
ID=55286009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510660858.5A Expired - Fee Related CN105335482B (zh) | 2015-10-14 | 2015-10-14 | 面向海量分布式数据库的批量插入方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105335482B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107608994A (zh) * | 2016-07-12 | 2018-01-19 | 深圳联友科技有限公司 | 一种批量处理sql语句插入数据库的方法及系统 |
CN109862410A (zh) * | 2017-11-30 | 2019-06-07 | 腾讯科技(深圳)有限公司 | 推荐信息插入方法、装置及存储介质 |
CN111831717A (zh) * | 2020-07-15 | 2020-10-27 | 北京思特奇信息技术股份有限公司 | 一种将分布式数据库数据导入物理数据库的方法及装置 |
CN112231329A (zh) * | 2020-10-14 | 2021-01-15 | 北京人大金仓信息技术股份有限公司 | 向数据库插入数据的方法、装置、设备和可读存储介质 |
WO2023116347A1 (en) * | 2021-12-20 | 2023-06-29 | International Business Machines Corporation | Database index performance improvement |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101814090A (zh) * | 2010-03-22 | 2010-08-25 | 深圳市芯朗金能源技术有限公司 | 一种关系数据库的大批量数据插入方法 |
CN102346775A (zh) * | 2011-09-26 | 2012-02-08 | 苏州博远容天信息科技有限公司 | 一种基于日志的异构多源数据库同步方法 |
US20140079061A1 (en) * | 2012-09-14 | 2014-03-20 | International Business Machines Corporation | Facilitating insertion of device mac addresses into a forwarding database |
CN103914565A (zh) * | 2014-04-21 | 2014-07-09 | 北京搜狐新媒体信息技术有限公司 | 一种向数据库插入数据的方法及装置 |
US20140317047A1 (en) * | 2013-04-22 | 2014-10-23 | Sap Ag | Enhanced transactional cache with bulk operation |
-
2015
- 2015-10-14 CN CN201510660858.5A patent/CN105335482B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101814090A (zh) * | 2010-03-22 | 2010-08-25 | 深圳市芯朗金能源技术有限公司 | 一种关系数据库的大批量数据插入方法 |
CN102346775A (zh) * | 2011-09-26 | 2012-02-08 | 苏州博远容天信息科技有限公司 | 一种基于日志的异构多源数据库同步方法 |
US20140079061A1 (en) * | 2012-09-14 | 2014-03-20 | International Business Machines Corporation | Facilitating insertion of device mac addresses into a forwarding database |
US20140317047A1 (en) * | 2013-04-22 | 2014-10-23 | Sap Ag | Enhanced transactional cache with bulk operation |
CN103914565A (zh) * | 2014-04-21 | 2014-07-09 | 北京搜狐新媒体信息技术有限公司 | 一种向数据库插入数据的方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107608994A (zh) * | 2016-07-12 | 2018-01-19 | 深圳联友科技有限公司 | 一种批量处理sql语句插入数据库的方法及系统 |
CN109862410A (zh) * | 2017-11-30 | 2019-06-07 | 腾讯科技(深圳)有限公司 | 推荐信息插入方法、装置及存储介质 |
CN111831717A (zh) * | 2020-07-15 | 2020-10-27 | 北京思特奇信息技术股份有限公司 | 一种将分布式数据库数据导入物理数据库的方法及装置 |
CN111831717B (zh) * | 2020-07-15 | 2023-12-01 | 北京思特奇信息技术股份有限公司 | 一种将分布式数据库数据导入物理数据库的方法及装置 |
CN112231329A (zh) * | 2020-10-14 | 2021-01-15 | 北京人大金仓信息技术股份有限公司 | 向数据库插入数据的方法、装置、设备和可读存储介质 |
CN112231329B (zh) * | 2020-10-14 | 2024-04-26 | 北京人大金仓信息技术股份有限公司 | 向数据库插入数据的方法、装置、设备和可读存储介质 |
WO2023116347A1 (en) * | 2021-12-20 | 2023-06-29 | International Business Machines Corporation | Database index performance improvement |
Also Published As
Publication number | Publication date |
---|---|
CN105335482B (zh) | 2018-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020233367A1 (zh) | 区块链数据存储和查询方法、装置、设备及存储介质 | |
US10585887B2 (en) | Multi-system query execution plan | |
CN105335482A (zh) | 面向海量分布式数据库的批量插入方法 | |
WO2022126983A1 (zh) | 电子报表文件导出方法、装置、设备及存储介质 | |
US20160224594A1 (en) | Schema Definition Tool | |
CN111177788A (zh) | Hive的动态脱敏方法及动态脱敏系统 | |
US20100235344A1 (en) | Mechanism for utilizing partitioning pruning techniques for xml indexes | |
CN111767303A (zh) | 一种数据查询方法、装置、服务器及可读存储介质 | |
WO2016165562A1 (en) | Apparatus and method for using parameterized intermediate representation for just-in-time compilation in database query execution engine | |
CN109144950B (zh) | 业务数据的存储方法和装置 | |
CN110990011A (zh) | 一种自动化接口的数据请求方法 | |
CN110543585B (zh) | 一种基于关系模型的rdf图和属性图统一存储方法 | |
Gao et al. | GLog: A high level graph analysis system using MapReduce | |
US7873628B2 (en) | Discovering functional dependencies by sampling relations | |
Näsholm | Extracting data from nosql databases-a step towards interactive visual analysis of nosql data | |
US8832157B1 (en) | System, method, and computer-readable medium that facilitates efficient processing of distinct counts on several columns in a parallel processing system | |
CN115114325B (zh) | 数据查询方法、装置、电子设备以及存储介质 | |
CN109460416B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
US9135302B2 (en) | Query rewrite with a nested materialized view | |
CN110471918A (zh) | 一种关系型数据库同步到区块链的方法及装置 | |
CN112835932B (zh) | 业务表的批量处理方法及装置、非易失性存储介质 | |
CN104361090A (zh) | 数据查询方法及装置 | |
CN114238374A (zh) | 数据查询方法、装置、服务器和存储介质 | |
CN114925142A (zh) | 一种orm框架的多类型数据库兼容方法、装置、设备及介质 | |
CN114817294A (zh) | 数据库访问方法和装置 |
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: 20180703 Termination date: 20201014 |