CN115544173B - 可线性扩展的分布式数据库 - Google Patents

可线性扩展的分布式数据库 Download PDF

Info

Publication number
CN115544173B
CN115544173B CN202211505513.9A CN202211505513A CN115544173B CN 115544173 B CN115544173 B CN 115544173B CN 202211505513 A CN202211505513 A CN 202211505513A CN 115544173 B CN115544173 B CN 115544173B
Authority
CN
China
Prior art keywords
data
query
execution
plan
module
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.)
Active
Application number
CN202211505513.9A
Other languages
English (en)
Other versions
CN115544173A (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.)
Creative Information Technology Co ltd
Original Assignee
Creative Information Technology Co ltd
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 Creative Information Technology Co ltd filed Critical Creative Information Technology Co ltd
Priority to CN202211505513.9A priority Critical patent/CN115544173B/zh
Publication of CN115544173A publication Critical patent/CN115544173A/zh
Application granted granted Critical
Publication of CN115544173B publication Critical patent/CN115544173B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

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

Abstract

本发明涉及数据库领域,特别是指可线性扩展的分布式数据库,解决了现有技术中分布式数据库不可水平扩展、性能低及存储空间大的问题。本发明包括节点,所述节点不少于三个;所述节点还分别设置有总控系统,所述总控系统通过Paxos协议选举出一个主控设备;所述节点包括用于访问全局数据的SQL引擎和用于访问本地数据的存储引擎。本发明通过分布式的节点和总控系统保证数据不丢和强一致性;使用普通PC,存储空间小;高可用;强一致;可扩展。

Description

可线性扩展的分布式数据库
技术领域
本发明涉及数据库领域,特别是指可线性扩展的分布式数据库。
背景技术
传统的数据库和分布式数据库系统具有准内存数据库的性能较低、存储空
间要求高,对比oracle整机成本高;基于Paxos协议,故障多、数据易丢失、服务停止;不可水平扩展;且兼容性低。
亟待出现一种可解决上述问题的新型的数据库。
发明内容
本发明提出可线性扩展的分布式数据库,解决了现有技术中分布式数据库不可水平扩展、性能低及存储空间大的问题。
本发明的技术方案是这样实现的:可线性扩展的分布式数据库,包括节点,所述节点不少于三个;所述节点还分别设置有总控系统,所述总控系统通过Paxos协议选举出一个主控设备;所述节点包括用于访问全局数据的SQL引擎和用于访问本地数据的存储引擎。
进一步地,所述SQL引擎包括顺序执行的编译器和执行引擎;所述SQL编译器包括依次执行的语法解析器、语义分析器、查询重写器、查询优化器和代码生成器;所述执行引擎包括执行器和调度器。
优选地,所述执行引擎还包括智能化模块,所述智能化模块、执行器和调度器连接总控系统;所述智能化模块根据作业类型进行执行器和调度器的运行。
优选地,所述SQL引擎还包括执行计划缓存。
进一步地,所述存储引擎包括智能化数据压缩模块、数据合并模块、数据转存模块、分库分表模块、主从复制模块和读写分离模块。
优选地,所述智能化数据压缩模块包括编码方法单元、通用压缩算法单元和用于自动匹配数据和编码方法的自动化匹配单元。
进一步地,所述存储引擎包括由最小数据单位M块组成的B块为单位组织数据,每个B块大小为4MB;所述M块包括至少两行,其大小为16K;所述数据合并模块包括全量合并和增量合并;所述增量合并具体的是重写需要修改的B块。
本发明公开的可线性扩展的分布式数据库为无共享的架构;包括以下有益效果:
通过分布式的节点和总控系统保证数据不丢和强一致性;
使用普通PC,存储空间小,对比oracle整机成本节约大概10%作业;
高可用:基于Paxos协议,故障少、数据不丢失、服务不停止;
强一致:支持分布式事务、ACID强一致;
可扩展:可水平扩展,单表最大支持1000亿条记录。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1:本发明的整体架构图;
图2:SQL引擎的构架图;
图3:SQL编译器完成把用户输入的SQL字符串编译生成一个查询执行计划的过程图;
图4:语法树。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1本发明的整体构架图所示,本发明公开的可线性扩展的分布式数据库,包括节点,所述节点不少于三个;所述节点还分别设置有总控系统,所述总控系统通过Paxos协议选举出一个主控设备;所述节点包括用于访问全局数据的SQL引擎和用于访问本地数据的存储引擎。
进一步地,如图2 SQL引擎的构架图所示,所述SQL引擎包括顺序执行的编译器和执行引擎;如图3SQL编译器完成把用户输入的SQL字符串编译生成一个查询执行计划的过程图所示,所述SQL编译器包括依次执行的语法解析器、语义分析器、查询重写器、查询优化器和代码生成器;所述执行引擎包括执行器和调度器。
优选地,所述执行引擎还包括智能化模块,所述智能化模块、执行器和调度器连接总控系统;所述智能化模块根据作业类型进行执行器和调度器的运行。
优选地,所述SQL引擎还包括执行计划缓存。执行计划缓存用于减少执行计划的生成次数。分布式数据库会缓存之前生成的执行计划,以便在下次执行该 SQL 时直接使用,可以避免反复执行,从而优化执行过程。计划缓存是一个典型的Key Value的数据结构,Key就是参数化后的SQL字符串,Value就是该条SQL所对应的执行计划。
具体的,语法解析器把用户的查询字符串解析成一个一个的Token,根据这些Token 所代表的语法含义进行初步的合法性检查,并最终生成如图4所述的一个合法的语法树,Parse Tree。
语义分析器通过访问全局Schema分析语法树各个节点的含义,把语法树从字面意义解析成为一个具有数据库逻辑语义的语句Statement,所有数据库语义相关的检查都在这一阶段完成。语句是对查询的逻辑表达,用户最初的字面意义,同时语义分析器会生成必要的信息供查询重写和查询优化阶段使用;
查询重写是数据库查询优化的一个重要的阶段,其目的是要在转换之后获得语义逻辑表达更为简单的查询树。对于查询重写来说,最重要的是保证重写以后查询的结果不变,所以查询重写多是基于关系代数的等价变化,保证重写前后的语义不变。
很多情况下的查询重写是通过某种简单的规则,将符合某种查询形式的查询树进行等价变化,来生成效率更高的查询树。这种重写叫做基于启发式规则的重写。
创意分布式数据库的查询重写就是基于启发规则式的,仅当根据规则能够判定重写一定会提升查询效率的时候才会启动该重写规则。每一条重写规则都是一个递归的过程,需要遍历查询树以及其所有子树。各个规则的调用顺序和各自递归调用的规则根据各自的功能和所处的位置会有所不同。查询重写器实现的查询重写规则主要包括四大类:查询简化、冗余列消除、外连接消除、视图合并。
创意分布式数据库使用了多种方式来对查询语句进行优化,主要有以下几种:规则优化:创意分布式数据库的规则体系分为正向规则和反向规则。正向规则直接决定了一个查询选取什么样的路径,是一个强匹配的规则体系。反向规则会两两比较两个索引,如果一个索引在一些定义的维度上优于另外一个索引,那么较差的那个索引就会被剪掉,最后没有被剪掉的路径会进行代价比较,选出最优的路径。优化器会优先使用正向规则,如果正向规则不能得到一个确定最优的路径,那么优化器会进一步通过反向规则剪掉一些路径,最后代价模型会在没有被剪掉的索引中选择代价最低的路径;代价优化:创意分布式数据库实现了一个分布式数据库系统的代价模型,采用动态规划法生成搜索空间,为搜索空间的每一条路径估算代价,并最终选取一条代价最低的路径作为执行计划;并行优化:创意分布式数据库实现了基于分区的并行查询,而优化器的并行优化能力是并行查询的基础。查询优化器在生成串行执行计划后会进入并行优化阶段,根据计划树上各个节点的数据分布,对串行执行计划自底向上的分析,进行算子下推、数据重分布、智能连接等,并在计划树嵌入并行化算子,把串行的逻辑执行计划改造成一个可以并行执行的逻辑计划。
代码生成是查询编译的最后一个步骤,其作用是把逻辑执行计划翻译成物理执行计划。查询优化器生成逻辑执行计划是对执行路径的逻辑表示,已经具备可执行能力,但是为了进一步提高计划的执行效率,创意分布式数据库通过代码生成器把逻辑计划树翻译成更适合查询执行引擎运行的树形结构,包括把逻辑算子翻译成物理运算符、中缀表达式翻译成后缀表达式、把语义信息翻译成执行所需的逻辑信息、去除不必要的冗余数据结构等等,最终得到一个可重入的物理执行计划。
执行器和调度器把执行计划分为本地、远程、分布式三种作业类型,根据三种作业类型的特点,充分利用存储层和事务层的特性,实现了各自情况下最合适的调度策略。本地作业:所有要访问的数据都位于本机的查询,就是一个本地作业。执行器和调度器对于这样的执行计划,无需多余的执行或调度动作,直接在当前线程运行执行计划。事务也在本地开启。如果是单语句事务,则事务的开启和提交都在本地执行,也不会发生分布式事务。这样的执行路径和传统单机数据库类似;远程作业:如果查询只涉及到一个分区组,但是这个分区组的数据位于其他服务器上,这样的执行计划就是远程作业。执行器和调度器把整个执行计划发送到数据所在机器上执行,查询结果流式地返回给执行器和调度器,同时流式地返回给客户端。这样的流式转发能够提供较优的相应时间。不仅如此,对于一个远程作业,如果是单语句事务,事务的开启提交等也都在数据所在服务器上执行,这样可以避免事务层的RPC,也不会发生分布式事务;分布式作业:当查询涉及的数据位于多台不同的服务器时,需要作为分布式作业来处理,这种调度模式同时具有并行计算的能力。对于分布式计划,执行时间相对较长,消耗资源也较多。对于这样的查询,需要能够在任务这个小粒度上提供容灾能力。每个任务的执行结果并不会立即发送给下游,而是缓存到本机,由调度器驱动下游的任务去拉取自己的输入。这样,当任务需要重试时,上游的数据是可以直接获取到的。同时,对于分布式的计划,需要在调度器所在服务器上开启事务,事务层需要协调多个分区,必要时则会产生分布式事务。
创意分布式数据库通过执行计划缓存来避免SQL硬解析,缓存预热后命中率可达到100%,是创意分布式数据库高性能的关键技术之一。
进一步地,所述存储引擎包括智能化数据压缩模块、数据合并模块、数据转存模块、分库分表模块、主从复制模块和读写分离模块。
优选地,所述智能化数据压缩模块包括编码方法单元、通用压缩算法单元和用于自动匹配数据和编码方法的自动化匹配单元。所谓编码方法的自动化匹配是指会在进行数据合并时根据数据的特点选择合适的编码类型,并计算数据的压缩比,如果发现压缩比不高,会尽快回退,选择其他的编码方式,从而确保数据编码的过程不会影响正常的数据写入性能。
创意分布式数据库通过数据编码压缩技术实现高压缩。创意分布式数据库实现了多种数据编码方法,包括字典编码、RLE 编码、常量编码、差值编码、前缀编码、列间编码等,并自动的为每一列选择最合适的数据编码。在数据编码的基础上进一步对编码后的数据使用通用压缩算法进行压缩。同样的数据存放在 创意分布式数据库中,要比在 MySQL 5.7中平均节省一半的空间,同时没有损失任何性能。
进一步地,所述存储引擎包括由最小数据单位M块组成的B块为单位组织数据,每个B块大小为4MB;所述M块包括至少两行,其大小为16K;所述B块可以合并和分裂。由于删除数据,相邻的几个B块中的所有行可以在一个B块中存放时,相邻的多个B块会合并成一个B块;由于B块内插入和更新数据导致空间不足,需要将数据存放到多个B块中时,B块则会进行分裂。所述数据合并模块包括全量合并和增量合并;所述增量合并具体的是重写需要修改的B块。具体的是全量合并:把当前的静态数据都读取出来,和内存中的动态数据合并后,再写到磁盘上去作为新的静态数据。在这个过程中,会把所有数据都重写一遍。全量合并会极大的耗费磁盘IO和空间,创意分布式数据库一般不会主动做全量合并。全量合并一般发生在列属性修改、列类型修改、压缩算法修改等DDL操作之后;增量合并:当一个B块没有增量修改时,我们可以直接重用它,而不是重写它。合并时并不是所有的B块都需要被修改,我们将这种方式称之为增量合并。相对于全量合并的把所有的B块的重写一边而言,增量合并只重写发生了修改的B块。增量合并极大地减少了合并的工作量,是创意分布式数据库目前默认的合并算法。
所述数据转存模块中的数据转储发生在MemTable的大小满足一定条件时,任何分区副本可以独立决定冻结当前MemTable,并dump到磁盘上。dump 出的数据只与相同大版本的增量数据做数据归并,不与全局静态数据合并。这样设计是基于增量数据远小于全局数据的考虑,使得数据转储的速度会比较快。数据转储和数据合并的最大区别在于,合并是所有的MemTable一起冻结,并与全局静态数据进行合并的行为,是一个全局的操作,最终形成一个全局快照。
所述分库分表模块使用Sharding技术进行分库分表,Sharding的作用,在于将单点拆分为多个分片。这不仅降低了单个实例故障的影响面,也提升了单机容量,但是并不会解决业务的快速恢复问题。单个实例故障还是会影响部分业务,这部分业务只能在DB恢复后才能恢复。
所述主从复制模块基于主从复制技术,在较小的变更量、机房的距离、网络的时延等条件下,99%都可以做到1秒内的数据同步。主从复制分为三个步骤:主服务器将数据改变记录到数据日志中;从服务器复制主服务器的数据日志到自己的中继日志中;分析中继日志,重做日志中的事件,从而保证数据和主服务器保持一致。
创意分布式数据库还包括读写分离模块,采用读写分离的架构,把数据分为基线数据和增量数据。其中增量数据放在内存里MemTable,基线数据放在硬盘里。对数据的修改都是增量数据,只写内存。所以DML是完全的内存操作,性能非常高。读的时候,数据可能会在内存里有更新过的版本,在持久化存储里有基线版本,需要把两个版本进行合并,获得一个最新版本。同时在内存实现了块缓存和行缓存,来避免对基线数据的随机读。当内存的增量数据达到一定规模的时候,会触发增量数据和基线数据的合并,把增量数据落盘。同时还可以设置每天晚上的空闲时刻,系统自动进行每日合并。
创意分布式数据库使用性价比较高、可靠性略低的服务器,但同一数据保存了多台台服务器中的半数以上服务器上,例如3台中的2台,5台中的3台等,每一笔写事务也必须到达半数以上服务器才生效,因此当少数服务器故障时不会有任何数据丢失。不仅如此,传统数据库主备镜像在主库发生故障时,通常需要外部工具或人工把备库升级成主库,而创意分布式数据库底层实现了Paxos高可用协议,在主库故障后,剩余的服务器会很快自动选举出新的主库,并继续提供服务。
创意分布式数据库采取和Mysql兼容的方式来让基于Mysql的引用程序可以不经修改就能运行在创意分布式数据库之上。为此,创意分布式数据库在兼容方面做了大量的工作:接口层面:支持JDBC和ODBC,通过不断增强在前后台协议上和Mysql的兼容性;数据模式层面:完整支持数据库、表、视图、自增列等SQL标准;语句层面:遵守ISO/IEC 9075标准规范,大幅度增加了对标准SQL语句的支持,同时扩展了支持Mysql中非标准的语句;事务层面:支持事务隔离级别以及并发控制。采用多版本的并发控制协议,支持读已提交的隔离级别。
本发明公开的可线性扩展的分布式数据库为无共享的架构;包括以下有益效果:
1、通过分布式的节点和总控系统保证数据不丢和强一致性;
2、使用普通PC,存储空间小,对比oracle整机成本节约大概10%作业;
3、高可用:基于Paxos协议,故障少、数据不丢失、服务不停止;
4、强一致:支持分布式事务、ACID强一致;
5、可扩展:可水平扩展,单表最大支持1000亿条记录。
当然,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员应该可以根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (4)

1.可线性扩展的分布式数据库,包括节点,其特征在于:所述节点不少于三个;所述节点还分别设置有总控系统,所述总控系统通过Paxos协议选举出一个主控设备,在节点存储数据时,同一数据保存在半数以上的节点服务器中;在执行写动作时,仅在半数以上的服务器生效时,才执行该写动作;在主控设备对应的节点发生故障时,剩余设备对应的节点重新执行Paxos协议选举出新的主控设备;所述节点包括用于访问全局数据的SQL引擎和用于访问本地数据的存储引擎;
所述SQL引擎包括顺序执行的SQL编译器和执行引擎;所述SQL编译器包括依次执行的语法解析器、语义分析器、查询重写器、查询优化器和代码生成器;所述执行引擎包括执行器和调度器;其中:
对于SQL编译器:
(1)所述语法解析器用于将查询字符串解析成Token,对Token进行合法性检查,生成合法的语法树;
(2)所述语义分析器用于访问全局Schema分析所述语法树各个节点的含义,把语法树从字面意义解析为具有数据库逻辑语义的语句Statement;
(3)所述查询重写器用于根据预设的查询重写规则,遍历查询树及其所有子树,若某一条查询重写规则重写后的查询树的查询效率更高,则执行该条查询重写规则;
(4)所述查询优化器用于对查询语句进行优化,所述优化包括:
规则优化:先使用正向规则执行查询选取路径的强匹配,若正向规则不能得到确定最优的路径,则使用反向规则通过两两索引进行比较,如果一个索引在定义的维度上优于另外一个索引,剪掉另外一个索引对应的路径,再利用代价模型在没有剪掉的索引中选择代价最低的路径;
代价优化:采用动态规划法生成搜索空间,为搜索空间的每一条路径估算代价,并最终选取一条代价最低的路径作为执行计划;
并行优化:在生成串行执行计划后会进入并行优化阶段,根据计划树上各个节点的数据分布,对串行执行计划自底向上的分析,进行算子下推、数据重分布、智能连接,并在计划树嵌入并行化算子,把串行的逻辑执行计划改造成一个可以并行执行的逻辑计划;
(5)所述代码生成器用于把逻辑执行计划翻译成物理执行计划,所述物理执行计划包括:把逻辑计划树翻译成树形结构,把逻辑算子翻译成物理运算法,把中缀表达式翻译成后缀表达式、把语义信息翻译成逻辑信息以及除去冗余数据结构;
对于执行引擎:
(1)所述执行器和调度器处理本地作业时,执行器和调度器对于这样的执行计划,无需多余的执行或调度动作,直接在当前线程运行执行计划,事务也在本地开启,如果是单语句事务,则事务的开启和提交都在本地执行;
(2)所述执行器和调度器处理远程作业时,执行器和调度器把整个执行计划发送到数据所在机器上执行,查询结果流式地返回给执行器和调度器,同时流式地返回给客户端,如果是单语句事务,事务的开启提交也都在数据所在服务器上执行;
(3)所述执行器和调度器处理分布式作业时,每个任务的执行结果并不会立即发送给下游,而是缓存到本机,由调度器驱动下游的任务去拉取自己的输入,当任务需要重试时,上游的数据直接获取,对于分布式的计划,在调度器所在服务器上开启事务,事务层协调多个分区,产生分布式事务;
其中,所述存储引擎包括智能化数据压缩模块、数据合并模块、数据转存模块、分库分表模块、主从复制模块和读写分离模块;
对于存储引擎:
所述存储引擎包括由最小数据单位M块组成的B块为单位组织数据,所述B块可合并和分裂;在删除数据时,相邻的几个B块中的所有行在一个B块中存放,相邻的多个B块合并成一个B块;在B块内插入和更新数据导致空间不足时,将数据存放到多个B块中,B块进行分裂;
对于数据合并模块:
(1)所述数据合并包括全量合并,所述全量合并为:在列属性修改、列类型修改、压缩算法修改的操作时,把当前的静态数据都读取出来,和内存中的动态数据合并后, 再写到磁盘上去作为新的静态数据;
(2)所述数据合并包括增量合并,所述增量合并为:在有B块没有增量修改时,只重写发生了修改的B块并进行合并。
2.根据权利要求1所述的可线性扩展的分布式数据库,其特征在于:所述执行引擎还包括智能化模块,所述智能化模块、执行器和调度器连接总控系统。
3.根据权利要求1所述的可线性扩展的分布式数据库,其特征在于:所述SQL引擎还包括执行计划缓存。
4.根据权利要求1所述的可线性扩展的分布式数据库,其特征在于:所述智能化数据压缩模块包括编码方法单元、通用压缩算法单元和用于自动匹配数据和编码方法的自动化匹配单元。
CN202211505513.9A 2022-11-29 2022-11-29 可线性扩展的分布式数据库 Active CN115544173B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211505513.9A CN115544173B (zh) 2022-11-29 2022-11-29 可线性扩展的分布式数据库

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211505513.9A CN115544173B (zh) 2022-11-29 2022-11-29 可线性扩展的分布式数据库

Publications (2)

Publication Number Publication Date
CN115544173A CN115544173A (zh) 2022-12-30
CN115544173B true CN115544173B (zh) 2023-10-03

Family

ID=84721867

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211505513.9A Active CN115544173B (zh) 2022-11-29 2022-11-29 可线性扩展的分布式数据库

Country Status (1)

Country Link
CN (1) CN115544173B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106844545A (zh) * 2016-12-30 2017-06-13 江苏瑞中数据股份有限公司 一种基于标准sql的双引擎数据库系统的实现方法
CN107784030A (zh) * 2016-08-31 2018-03-09 华为技术有限公司 一种处理连接查询的方法及装置
CN111093220A (zh) * 2019-11-14 2020-05-01 中国人民解放军军事科学院国防科技创新研究院 一种自主无人集群动态管理方法及管理平台
CN113934763A (zh) * 2021-12-17 2022-01-14 北京奥星贝斯科技有限公司 分布式数据库的sql查询方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9632069B2 (en) * 2014-02-05 2017-04-25 Vyripharm Llc Integrated systems and methods of evaluating cannabis and cannabinoid products for public safety, quality control and quality assurance purposes
US11378564B2 (en) * 2014-02-05 2022-07-05 Vyripharm Enterprises, Llc Systems and methods for integrated and comprehensive management of cannabis products

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107784030A (zh) * 2016-08-31 2018-03-09 华为技术有限公司 一种处理连接查询的方法及装置
CN106844545A (zh) * 2016-12-30 2017-06-13 江苏瑞中数据股份有限公司 一种基于标准sql的双引擎数据库系统的实现方法
CN111093220A (zh) * 2019-11-14 2020-05-01 中国人民解放军军事科学院国防科技创新研究院 一种自主无人集群动态管理方法及管理平台
CN113934763A (zh) * 2021-12-17 2022-01-14 北京奥星贝斯科技有限公司 分布式数据库的sql查询方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SQL引擎概述;蚂蚁金服;《书栈网https://www.bookstack.cn/read/oceanbase-1.4-zh/2afe6757b54af547.md》;20210111;第1-2页 *
Tiark Rompf 等.Functional pearl: a SQL to C compiler in 500 lines of code.《ICFP 2015: Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming》.2015,2-9. *
敖齐平.面向大规模分布式列式数据库的查询优化器设计与实现.《中国优秀硕士学位论文全文数据库 信息科技辑》.2020,(第07期),I138-465. *

Also Published As

Publication number Publication date
CN115544173A (zh) 2022-12-30

Similar Documents

Publication Publication Date Title
CN109891402B (zh) 可撤销和在线模式转换
JP5968828B2 (ja) レコードロックなしでのマルチレベルストレージアーキテクチャ内の記録の削除
JP5976595B2 (ja) 統合テーブルクエリ処理
JP6275395B2 (ja) マルチレベルストレージアーキテクチャ内の記録の削除
JP6210714B2 (ja) 部分的マージ
JP6109634B2 (ja) ログ無し極小データ移動
US9244838B2 (en) System, method, and computer-readable medium for grouping database level object access counts per processing module in a parallel processing system
CN105556519A (zh) 对oracle存储器中数据库的存储器中快照存储的多版本并行控制
CN105556520A (zh) 在存储器中镜像盘中的数据以提高查询性能
Shukla et al. Schema-agnostic indexing with Azure DocumentDB
CN105447156A (zh) 资源描述框架分布式引擎及增量式更新方法
US20230137119A1 (en) Method for replaying log on data node, data node, and system
Yang et al. F1 Lightning: HTAP as a Service
CN111581234B (zh) Rac多节点数据库查询方法、装置及系统
CN113392126B (zh) 基于分布式数据库的执行计划缓存及读取方法
US11714794B2 (en) Method and apparatus for reading data maintained in a tree data structure
CN112015716A (zh) 数据库数据迁移方法、装置、介质和电子设备
CN115562676A (zh) 一种图计算引擎的触发方法
CN115114294A (zh) 数据库存储模式的自适应方法、装置、计算机设备
WO2022127866A1 (zh) 数据处理方法、装置、电子设备、存储介质
CN114153809A (zh) 基于数据库日志并行实时增量统计的方法
CN115544173B (zh) 可线性扩展的分布式数据库
CN112463447B (zh) 一种基于分布式数据库实现物理备份的优化方法
Richardson Disambiguating databases
WO2024109415A1 (zh) 一种数据库重分布的方法、系统、设备集群及存储介质

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