CN113392126A - 基于分布式数据库的执行计划缓存及读取方法 - Google Patents
基于分布式数据库的执行计划缓存及读取方法 Download PDFInfo
- Publication number
- CN113392126A CN113392126A CN202110940568.1A CN202110940568A CN113392126A CN 113392126 A CN113392126 A CN 113392126A CN 202110940568 A CN202110940568 A CN 202110940568A CN 113392126 A CN113392126 A CN 113392126A
- Authority
- CN
- China
- Prior art keywords
- execution plan
- current
- database
- node
- distributed
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
- G06F16/2438—Embedded query languages
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于分布式数据库的执行计划缓存及读取方法,属一种分布式数据库的数据读取方法,方法包括如下步骤:步骤A、节点数据库接收SQL语句,并在当前节点数据库的本地缓存中查找是否具有与当前SQL语句请求一致的执行计划,如查找结果为是,则得到并读取当前执行计划;步骤B、如在其它节点数据库上查找结果为是,则将当前的执行计划进行反序列化得到并读取当前执行计划等步骤。通过将执行计划进行序列化处理后写入到分布式节点数据库中,然后通过反序列化的方式读取还原执行计划,有效解决了在分布式数据库场景下多个节点数据库之间如何共享执行计划的问题,也同时也解决了节点数据库在本地缓存空间不足时性能下降的问题。
Description
技术领域
本发明涉及一种分布式数据库的数据读取方法,更具体的说,本发明主要涉及一种基于分布式数据库的执行计划缓存及读取方法。
背景技术
当前的主流商业数据库中都支持执行计划共享SQL Server将SQL或T-SQL执行计划保存到过程缓存中Oracle将查询执行计划保存到库缓存中,通过V$LIBRARYCACHE动态性能视图可以查看库缓存使用情况DB2将查询执行计划保存到全局包缓存pkgcachesz中。华为云GaussDB(for MySQL)推出了Plan Cache功能,该功能对执行计划进行缓存,当相同的SQL语句多次执行时,可跳过优化阶段,直接进入执行阶段,从而提高SQL语句的执行速度。另一方面,公开号为CN101567006A公开了一种数据库系统及分布式SQL语句执行计划重用方法,其核心思想在于将语句的hash计算从服务端移动到了客户端。比起传统的做法,可以将部分运算压力从服务端转移到客户端,提高性能瓶颈。而值得注意的是,现有都是的执行计划缓存技术只在本地进行执行计划的缓存,其流程如图1所示。在分布式数据库场景下,多个节点之间如何共享执行计划则没有解决方案。具体而言,在分布式数据库的场景下,一个节点上缓存的执行计划,无法在其他节点上直接访问;并且每个节点可以使用的本地缓存大小有一定上限。如果需要缓存的语句太多,超出缓存上限,要么不再缓存新语句,要么必须从缓存中删除一些旧的语句,被删除的语句在后续访问时又要重新编译。因此有必要针对分布式数据库的执行计划缓存方法作进一步的研究和改进。
发明内容
本发明的目的之一在于针对上述不足,提供一种基于分布式数据库的执行计划缓存及读取方法,以期望解决现有技术中执行计划缓存技术只在本地进行缓存与读取,在分布式数据库场景下无法直接访问其他节点上的执行计划数据,而本地缓存又存一定存储上限等技术问题。
为解决上述的技术问题,本发明采用以下技术方案。
本发明所提供的一种基于分布式数据库的执行计划缓存及读取方法,所述的方法包括如下步骤。
步骤A、节点数据库接收SQL语句,并在当前节点数据库的本地缓存中查找是否具有与当前SQL语句请求一致的执行计划,如查找结果为是,则得到并读取当前执行计划;反之则在其它节点数据库的缓存中查找序列化后的执行计划。
步骤B、如在其它节点数据库上查找序列化后的执行计划的结果为是,则将当前的执行计划进行反序列化,然后得到并读取当前执行计划;反之则基于SQL语句请求生成执行计划并写入本地节点数据库的缓存。
步骤C、在生成执行计划并写入本地节点数据库缓存后,将当前执行计划进行序列化后,写入其它节点数据库的缓存。
作为优选,进一步的技术方案是:所述执行计划序列化为通过序列化协议将数据结构序列化,然后再压缩后,写入节点数据库的缓存中;所述执行计划反序列化为首先进行执行计划数据解压缩,然后通过相同的序列化协议得到序列化前的执行计划的数据结构。
更进一步的技术方案是:所述执行计划序列化时具有检验码与纠错码,且在执行计划反序列化时在解压缩后,判断校验码是否正确,如判断结果为是,则完成当前反序列化,反之则使用纠错码修复,若修复成功,则完成当前反序列化,若修复失败,则丢弃当前执行计划数据。
更进一步的技术方案是:所述节点数据库的缓存中还存储有元数据,所述元数据为基于执行计划的数据结构所生成,且所述元数据中预留有用于与SQL语句请求相对应的字段。
更进一步的技术方案是:所述元数据中还具有权限判断字段,在节点数据库基于SQL语句请求读取当前执行计划前,首先通过权限判断字段判断当前SQL语句请求是否有权限读取当前执行计划。
更进一步的技术方案是:所述元数据中还包括失效过滤字段,所述失效过滤字段设置为失效后,SQL语句请求在读取所有节点数据库中的执行计划时,过滤元数据中失效过滤字段设置为失效的执行计划。
更进一步的技术方案是:所述步骤A中当前节点数据库一次性读取分布式数据库中的所有节点数据库中的元数据,并存储至当前节点数据库的本地缓存中,然后通过当前节点数据库的本地缓存中的元数据,查找与SQL语句请求对应的执行计划,再执行步骤B。
更进一步的技术方案是:所述节点数据库中具有分布式写锁,所述分布式写锁在各个节点数据库的分布式存储中只允许追加写,不允许修改与删除。
更进一步的技术方案是:步骤A中的SQL语句为多条,当前节点数据库还预先在本地缓存以及其它节点数据库的缓存中查找下一条SQL语句请求对应的执行计划,且将执行计划进行反序列化后存储至当前节点数据库的本地缓存中。
与现有技术相比,本发明的有益效果之一是:通过将执行计划进行序列化处理后写入到分布式节点数据库中,然后通过反序列化的方式读取还原执行计划,有效解决了在分布式数据库场景下多个节点数据库之间如何共享执行计划的问题,使得执行计划可在分布式数据库中不同的节点数据库之间共享,也同时也解决了单个节点数据库在本地缓存空间不足时性能下降的问题,充分利用分布式节点数据库中各个节点数据库的缓存空间。
附图说明
图1为现有技术中本地执行计划读取逻辑流程图。
图2为用于说明本发明一个实施例的方法逻辑流程图。
具体实施方式
下面结合附图对本发明作进一步阐述。
参考图2所示,本发明的一个实施例是一种基于分布式数据库的执行计划缓存及读取方法,前述执行计划缓存的主要功能是避免相同查询的重复优化,实现执行计划重用机制,包括相同SQL语句重用、相似SQL语句重用的判定方法、执行计划重用哈希键生成算法、缓存执行计划等内容。执行计划重用的判定,如果是SQL语句完全相同,则只需要做简单的ASCII比较即可;如果是SQL语句相似的重用,则需要通过分词算法处理大小写不同、无效字符、常量值以及变量值等。如果在缓冲区中找到可重用执行计划则做相应的处理后直接执行。
在本实施例中,该方法是按照如下步骤所执行的。
步骤S1、节点数据库接收SQL语句,并在当前节点数据库的本地缓存中查找是否具有与当前SQL语句请求一致的执行计划,如查找结果为是,即当前节点数据库的缓存中具有与SQL语句请求对应的执行计划,因此可直接得到并读取当前执行计划;如查找结果为是否,即当前节点数据库的缓存中不具有与SQL语句请求对应的执行计划,那么此时基于分布式数据库架构的特性,由当前节点数据库在分布式数据库的其它节点数据库的缓存中查找序列化后的执行计划;继续进行如下步骤。
步骤S2、如在其它节点数据库上查找序列化后的执行计划的结果为是,即在分布式数据库的其他节点数据库的缓存中具有与上述SQL语句请求对应的执行计划(该执行计划是序列化以后的,以便于查找,且降低缓存空间占用),则将当前的执行计划进行反序列化,然后得到并读取当前执行计划;如在其它节点数据库上查找序列化后的执行计划的结果为否,即分布式数据库的其他节点数据库的缓存中也没有上述SQL语句请求对应的执行计划,那么则需要在本地节点数据库中基于SQL语句请求生成执行计划并写入本地节点数据库的缓存。
正如图2所示出的,上述基于SQL语句请求生成执行计划为首先解析SQL语句的语法,然后进行查找优化后生成执行计划数据结构的代码,进而在本地节点数据库得到与SQL语句请求相对应的执行计划。
步骤S3、在上述步骤中,如果节点数据库本地以及分布式数据库的其他节点数据库上均没有与当前SQL语句请求相对应的执行计划时,接收SQL语句请求的节点数据库在本地生成执行计划并写入本地节点数据库缓存后,还需将当前执行计划进行序列化后,写入其它节点数据库的缓存。
在本实施例中,对执行计划进行序列化以及反序列化是一对互逆操作,在实施过程中,必须要保证序列化和反序列化后得到的执行计划与原始状态完全一致。基于本实施例优选的是,前述序列化和反序列化的方法可采用json格式,protobuf框架等成熟方案,也可采用自定义的序列化协议,只需要将内存中的所有对象顺序依次写入缓冲区里即可。进一步的,发明人还发现在序列化与反序列化的IO过程中可能出现错误,通过增加校验码和纠错码,来提高容错率。对于占用空间较大的执行计划,通过压缩算法来节省空间。反序列时,首先进行解压缩,然后判断校验码是否正确,如果出现错误则尝试通过纠错码来修复。如果修复失败则丢弃当前数据,确保一致性。
根据本发明的另一个实施例,发明人为了解决单条SQL语句读取执行计划的速度,在节点数据库的缓存中还需存储元数据,该元数据为基于执行计划的数据结构所生成,且元数据中预留有用于与SQL语句请求相对应的字段,通过元数据即可快速定位与SQL语句请求对应到执行计划。
在上述元数据的设计上,执行计划序列化后写入到分布式存储中作为数据保存。但读取时不可能将所有数据全部读出,必须要能快速得到某条执行计划存储的位置以及大小,这样读取单条执行计划速度最快,因此需要设计一组元数据用于执行计划的快速定位。元数据同样需要做持久化,考虑到需要频繁访问,兼顾访问效率以及分布式一致性维护等,将元数据直接放入分布式数据库的节点数据库缓存内。
在本发明中,为了快速判断缓存里是否有与SQL语句请求对应的执行计划,在上述元数据里预留text_hash以及tree_hash字段,前者用于保存原始SQL文本的hash值,后者用于保存语法树的hash值。当编译新的语句时,可以直接先将文本计算出hash,并判断缓存里是否命中text_hash,若命中则直接读取相应的执行计划。某些情况下,例如静态参数改变后text_hash无法命中,可以在parse阶段之后,通过匹配算法计算出语法树的hash值后,判断是否命中缓存里的tree_hash字段,若命中则直接读取相应的执行计划。如果两个字段均未命中,说明这条语句之前没有缓存过,则上述步骤S2的方式编译出其执行计划,并将其保存下来即可。
同时,针对上述方法在分布式数据库应用中,对于执行计划缓存的失效问题。两种情况下需要让缓存下来的执行计划失效,一是相关的表发生了DDL变动,二是表上数据的统计信息发生了改变。此时原先的执行计划可能不再是最优,甚至可能产生错误。因此上述的元数据里预留了status字段,失效的方法是检索到相应的执行计划后,在元数据里将status字段置为失效即可。进而所有节点数据库在读取执行计划的时候判断一下该字段并相应过滤即可。
进一步的,上述元数据中还具有权限判断字段,在节点数据库基于SQL语句请求读取当前执行计划前,首先通过权限判断字段判断当前SQL语句请求是否有权限读取当前执行计划。即执行计划缓存需要考虑不同用户的权限问题。为此在元数据中增加user_id字段,读取执行计划时需要判断是否有权限进行读取。另外删除某个用户的某项权限时,需要将相应的执行计划做失效处理。
发明人将本方法在分布式数据库应用时还发现,获取执行计划的SQL语句通常是多条的,且通常是连续的,因此为进一步提高取执行计划的读取速度,可采用预加载的方式,即当前节点数据库还预先在本地缓存以及其它节点数据库的缓存中查找下一条SQL语句请求对应的执行计划,且将执行计划进行反序列化后存储至当前节点数据库的本地缓存中。换言之,在实践中,面对通常出现的一组固定SQL语句连续编译并执行,可以实现预加载的机制提高性能。在读取执行计划缓存时,可以预先将之后条SQL语句的执行计划也读取出来,并放入本地缓存中。预加载的执行计划命中概率极高,因此可以有效提高分布式数据库中执行计划缓存与读取的整体性能。
基于上述思路,为了加快元数据的访问速度,在上述步骤S1中,可将当前节点数据库一次性读取分布式数据库中的所有节点数据库中的元数据,并存储至当前节点数据库的本地缓存中,然后通过当前节点数据库的本地缓存中的元数据,查找与SQL语句请求对应的执行计划,再执行下一步骤。此时需要维护每个节点之间的缓存数据一致性,具体实现细节与本发明无关,因此不再阐述。
在上述的实施例中,由于多个节点都可以并发访问执行计划缓存,需要通过分布式锁来保证数据一致性。为了减少锁竞争带来的性能损耗,在分布式存储中只允许追加写,不允许修改和删除。执行计划缓存的失效操作通过对元数据进行修改来实现。因此读操作不需要加锁,但是写操作需要加分布式锁。
正如上述实施例所提到的,本发明技术方案的关键是本地缓存中的执行计划进行序列化操作后,写入到分布式存储中。这样其他数据库节点可以从分布式存储中将执行计划读取出来,进行反序列化操作后得到完整的执行计划,并放入本地缓存中,从而缓解本地缓存的存储上限,且提升各个节点数据库整体的缓存与读取性能,更有助于分布式数据库中执行计划的执行应用。
除上述以外,还需要说明的是在本说明书中所谈到的“一个实施例”、“另一个实施例”、“实施例”等,指的是结合该实施例描述的具体特征、结构或者特点包括在本申请概括性描述的至少一个实施例中。在说明书中多个地方出现同种表述不是一定指的是同一个实施例。进一步来说,结合任一实施例描述一个具体特征、结构或者特点时,所要主张的是结合其他实施例来实现这种特征、结构或者特点也落在本发明的范围内。
尽管这里参照本发明的多个解释性实施例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。更具体地说,在本申请公开、附图和权利要求的范围内,可以对主题组合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变型和改进外,对于本领域技术人员来说,其他的用途也将是明显的。
Claims (9)
1.一种基于分布式数据库的执行计划缓存及读取方法,其特征在于所述的方法包括如下步骤:
步骤A、节点数据库接收SQL语句,并在当前节点数据库的本地缓存中查找是否具有与当前SQL语句请求一致的执行计划,如查找结果为是,则得到并读取当前执行计划;反之则在其它节点数据库的缓存中查找序列化后的执行计划;
步骤B、如在其它节点数据库上查找序列化后的执行计划的结果为是,则将当前的执行计划进行反序列化,然后得到并读取当前执行计划;反之则基于SQL语句请求生成执行计划并写入本地节点数据库的缓存;
步骤C、在生成执行计划并写入本地节点数据库缓存后,将当前执行计划进行序列化后,写入其它节点数据库的缓存。
2.根据权利要求1所述的基于分布式数据库的执行计划缓存及读取方法,其特征在于:所述执行计划序列化为通过序列化协议将数据结构序列化,然后再压缩后,写入节点数据库的缓存中;所述执行计划反序列化为首先进行执行计划数据解压缩,然后通过相同的序列化协议得到序列化前的执行计划的数据结构。
3.根据权利要求2所述的基于分布式数据库的执行计划缓存及读取方法,其特征在于:所述执行计划序列化时具有检验码与纠错码,且在执行计划反序列化时在解压缩后,判断校验码是否正确,如判断结果为是,则完成当前反序列化,反之则使用纠错码修复,若修复成功,则完成当前反序列化,若修复失败,则丢弃当前执行计划数据。
4.根据权利要求1所述的基于分布式数据库的执行计划缓存及读取方法,其特征在于:所述节点数据库的缓存中还存储有元数据,所述元数据为基于执行计划的数据结构所生成,且所述元数据中预留有用于与SQL语句请求相对应的字段。
5.根据权利要求4所述的基于分布式数据库的执行计划缓存及读取方法,其特征在于:所述元数据中还具有权限判断字段,在节点数据库基于SQL语句请求读取当前执行计划前,首先通过权限判断字段判断当前SQL语句请求是否有权限读取当前执行计划。
6.根据权利要求4或5所述的基于分布式数据库的执行计划缓存及读取方法,其特征在于:所述元数据中还包括失效过滤字段,所述失效过滤字段设置为失效后,SQL语句请求在读取所有节点数据库中的执行计划时,过滤元数据中失效过滤字段设置为失效的执行计划。
7.根据权利要求4所述的基于分布式数据库的执行计划缓存及读取方法,其特征在于:所述步骤A中当前节点数据库一次性读取分布式数据库中的所有节点数据库中的元数据,并存储至当前节点数据库的本地缓存中,然后通过当前节点数据库的本地缓存中的元数据,查找与SQL语句请求对应的执行计划,再执行步骤B。
8.根据权利要求1所述的基于分布式数据库的执行计划缓存及读取方法,其特征在于:所述步骤A中的SQL语句为多条,当前节点数据库还预先在本地缓存以及其它节点数据库的缓存中查找下一条SQL语句请求对应的执行计划,且将执行计划进行反序列化后存储至当前节点数据库的本地缓存中。
9.根据权利要求1所述的基于分布式数据库的执行计划缓存及读取方法,其特征在于:所述节点数据库中具有分布式写锁,所述分布式写锁在各个节点数据库的分布式存储中只允许追加写,不允许修改与删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110940568.1A CN113392126B (zh) | 2021-08-17 | 2021-08-17 | 基于分布式数据库的执行计划缓存及读取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110940568.1A CN113392126B (zh) | 2021-08-17 | 2021-08-17 | 基于分布式数据库的执行计划缓存及读取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113392126A true CN113392126A (zh) | 2021-09-14 |
CN113392126B CN113392126B (zh) | 2021-11-02 |
Family
ID=77622932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110940568.1A Active CN113392126B (zh) | 2021-08-17 | 2021-08-17 | 基于分布式数据库的执行计划缓存及读取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113392126B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114356929A (zh) * | 2021-12-31 | 2022-04-15 | 山东浪潮科学研究院有限公司 | 一种基于sql缓存的分布式数据处理方法 |
CN115062048A (zh) * | 2022-07-27 | 2022-09-16 | 北京易鲸捷信息技术有限公司 | 在分布式数据库上手动指定执行计划的方法 |
WO2023066070A1 (zh) * | 2021-10-20 | 2023-04-27 | 阿里云计算有限公司 | 一种sql语句的控制方法及装置 |
CN116303661A (zh) * | 2023-01-12 | 2023-06-23 | 北京万里开源软件有限公司 | 一种分布式数据库中针对序列的处理方法、装置及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090240664A1 (en) * | 2008-03-20 | 2009-09-24 | Schooner Information Technology, Inc. | Scalable Database Management Software on a Cluster of Nodes Using a Shared-Distributed Flash Memory |
CN101763390A (zh) * | 2008-12-24 | 2010-06-30 | 北京大学深圳研究生院 | 基于Berkeley DB的数据库存储系统及方法 |
CN103853727A (zh) * | 2012-11-29 | 2014-06-11 | 深圳中兴力维技术有限公司 | 提高大数据量查询性能的方法及系统 |
CN104142896A (zh) * | 2013-05-10 | 2014-11-12 | 阿里巴巴集团控股有限公司 | 一种缓存控制方法和系统 |
CN109033292A (zh) * | 2018-07-13 | 2018-12-18 | 南京邮电大学 | 一种数据库分布式缓存系统及方法 |
CN110442848A (zh) * | 2019-07-30 | 2019-11-12 | 中国工商银行股份有限公司 | 数据序列化和解序列方法及其装置、电子设备和介质 |
CN111381940A (zh) * | 2020-05-29 | 2020-07-07 | 上海冰鉴信息科技有限公司 | 分布式数据处理方法及装置 |
CN111897846A (zh) * | 2020-07-31 | 2020-11-06 | 平安普惠企业管理有限公司 | 缓存数据校验方法、装置、设备及存储介质 |
-
2021
- 2021-08-17 CN CN202110940568.1A patent/CN113392126B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090240664A1 (en) * | 2008-03-20 | 2009-09-24 | Schooner Information Technology, Inc. | Scalable Database Management Software on a Cluster of Nodes Using a Shared-Distributed Flash Memory |
CN101763390A (zh) * | 2008-12-24 | 2010-06-30 | 北京大学深圳研究生院 | 基于Berkeley DB的数据库存储系统及方法 |
CN103853727A (zh) * | 2012-11-29 | 2014-06-11 | 深圳中兴力维技术有限公司 | 提高大数据量查询性能的方法及系统 |
CN104142896A (zh) * | 2013-05-10 | 2014-11-12 | 阿里巴巴集团控股有限公司 | 一种缓存控制方法和系统 |
CN109033292A (zh) * | 2018-07-13 | 2018-12-18 | 南京邮电大学 | 一种数据库分布式缓存系统及方法 |
CN110442848A (zh) * | 2019-07-30 | 2019-11-12 | 中国工商银行股份有限公司 | 数据序列化和解序列方法及其装置、电子设备和介质 |
CN111381940A (zh) * | 2020-05-29 | 2020-07-07 | 上海冰鉴信息科技有限公司 | 分布式数据处理方法及装置 |
CN111897846A (zh) * | 2020-07-31 | 2020-11-06 | 平安普惠企业管理有限公司 | 缓存数据校验方法、装置、设备及存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023066070A1 (zh) * | 2021-10-20 | 2023-04-27 | 阿里云计算有限公司 | 一种sql语句的控制方法及装置 |
CN114356929A (zh) * | 2021-12-31 | 2022-04-15 | 山东浪潮科学研究院有限公司 | 一种基于sql缓存的分布式数据处理方法 |
CN115062048A (zh) * | 2022-07-27 | 2022-09-16 | 北京易鲸捷信息技术有限公司 | 在分布式数据库上手动指定执行计划的方法 |
CN115062048B (zh) * | 2022-07-27 | 2022-10-28 | 北京易鲸捷信息技术有限公司 | 在分布式数据库上手动指定执行计划的方法 |
CN116303661A (zh) * | 2023-01-12 | 2023-06-23 | 北京万里开源软件有限公司 | 一种分布式数据库中针对序列的处理方法、装置及系统 |
CN116303661B (zh) * | 2023-01-12 | 2023-09-12 | 北京万里开源软件有限公司 | 一种分布式数据库中针对序列的处理方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113392126B (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113392126B (zh) | 基于分布式数据库的执行计划缓存及读取方法 | |
US11126620B2 (en) | Automatic verification and triage of query results | |
US11119997B2 (en) | Lock-free hash indexing | |
EP3047400B1 (en) | Multi-version concurrency control on in-memory snapshot store of oracle in-memory database | |
US9292564B2 (en) | Mirroring, in memory, data from disk to improve query performance | |
US20150088811A1 (en) | Mechanism to run oltp workload on in-memory database under memory pressure | |
US11789923B2 (en) | Compression units in an index block | |
US20220215025A1 (en) | System and method using partial just-in-time compilation to resolve memory access pattern problems in hash table probing | |
US10437688B2 (en) | Enhancing consistent read performance for in-memory databases | |
US11294816B2 (en) | Evaluating SQL expressions on dictionary encoded vectors | |
US20180074917A1 (en) | Cache recovery for failed database instances | |
CN115952195A (zh) | 一种区块链数据溯源查询优化方法 | |
US20070174329A1 (en) | Presenting a reason why a secondary data structure associated with a database needs rebuilding | |
US20240126818A1 (en) | Data filtering methods and apparatuses for data queries | |
US9223780B2 (en) | Non-blocking caching technique | |
CN111538465B (zh) | 一种基于Linux高性能数据重删方法 | |
Richardson | Disambiguating databases | |
CN107506156B (zh) | 一种块设备的io优化方法 | |
CN112487111A (zh) | 基于kv数据库的数据表关联方法及装置 | |
CN115544173B (zh) | 可线性扩展的分布式数据库 | |
CN115905246B (zh) | 基于动态压缩前缀树的kv缓存方法与装置 | |
US11907217B2 (en) | Database object validation for reusing captured query plans | |
Li et al. | CF-RDF: A Lightweight and Efficient Large Scale RDF Data Management System | |
Theodorakis et al. | An Empirical Evaluation of Variable-length Record B+ Trees on a Modern Graph Database System | |
Richardson | Disambiguating Databases: Use the database built for your access model. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |