【技术实现步骤摘要】
数据库访问方法、装置、电子设备及可读存储介质
[0001]本公开涉及数据库
,具体涉及一种数据库访问方法、装置、电子设备及可读存储介质。
技术介绍
[0002]分布式数据库包括CN(Compute Node,计算节点,负责数据库访问语句的解析、优化,以及执行计划的生成)集群和DN(Data Node,数据节点)集群。为了提升分布式数据库的性能,在处理复杂耗时的单条数据库访问语句时,如果目标数据表分布在相同的目标DN上,则分布式数据库会把该数据库访问语句拆分成更细粒度的子任务,通过多个到目标DN的数据库连接并行执行子任务对应的事务。默认情况下,不同数据库连接上的事务相互独立,无法保证逻辑上的全局一致性读,这将会导致严重的执行结果错误。
技术实现思路
[0003]为了解决相关技术中的问题,本公开实施例提供一种数据库访问方法、装置、电子设备及可读存储介质。
[0004]第一方面,本公开实施例中提供了一种数据库访问方法,其特征在于,包括:
[0005]根据对指定数据表的单条数据库访问语句开启事务 ...
【技术保护点】
【技术特征摘要】
1.一种数据库访问方法,其特征在于,包括:根据对指定数据表的单条数据库访问语句开启事务组,所述事务组包括多个事务;确定所述指定数据表中对所述事务可见的数据集合,其中,所述数据集合对所述事务组中的所有事务是相同的;通过所述多个事务对所述数据集合执行访问操作。2.根据权利要求1所述的方法,其中:所述指定数据表包括指定数据节点上的一个或多个数据表;所述根据对指定数据表的单条数据库访问语句开启事务组,包括将拆分所述单条数据库访问语句而得到的多个子任务对应的多个事务划分为一个事务组。3.根据权利要求1所述的方法,其中:所述事务组中的不同事务对应于指定计算节点到所述指定数据节点的不同数据库会话。4.根据权利要求2所述的方法,其中:所述事务组包括一个主事务和多个从事务,所述主事务先于所述从事务开启;所述指定数据表中对所述事务可见的数据集合,包括所述主事务创建的数据,和开启时间早于所述主事务且不属于所述事务的对应活跃事务集合的事务创建的数据,所述事务的对应活跃事务集合是所述主事务开启时,所述指定节点上的活跃事务集合。5.根据权利要求4所述的方法,其中:所述主事务具有对所述指定数据表的读写权限,所述从事务仅具有对所述指定数据表的读权限。6.根据权利要求4所述的方法,还包括:在开启所述事务组时,给所述事务分配事务组标识符和事务标识符;查找所述指定数据节点上开启的活跃事务中与所述事务组中的指定事务具有匹配的事务组标识符的事务;如果所述指定数据节点上开启的活跃事务中,没有与所述指定事务具有匹配的事务组标识符的事务,则将所述指定事务确定为主事务,将所述指定事务的标识符确定为所述指定事务的对应主事务标识符,将所述指定事务开启时,所述指定数据节点上的活跃事务集合确定为所述指定事务的对应活跃事务集合。7.根据权利要求6所述的方法,其中:所述事务组标识符包括所述事务的事务名称中的指定字段;所述给所述事务分配事务组标识符,包括通过在开启所述事务时对所述指定字段赋值来给所述事务分配事务组标识符。8.根据权利要求6所述的方法,还包括:如果所述指定数据节点上开启的活跃事务中,存在与所述指定事...
【专利技术属性】
技术研发人员:马占峰,陈默,杨新军,黄贵,李飞飞,
申请(专利权)人:阿里云计算有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。