【技术实现步骤摘要】
一种数据库系统及数据库访问方法
本专利技术涉及数据库
,尤其是涉及一种数据库系统及数据库访问方法。
技术介绍
数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库,是长期储存在计算机内、有组织的、可共享的数据集合。事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit),它是恢复和并发控制的基本单位,且具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性,为了保证数据库ACID的属性,在事务并发执行过程中,就需要通过并发控制机制来保证事务的正确执行。而并发控制主要就是用来解决多个事务同时操作同一数据时,怎样保证数据的一致性。但是,在多个事务同时操作同一数据的情况下,会使得系统的冲突率变高,就会导致大量的事务取消(abort),而且这其中的一部分abort是没有必要的,所以会导致系统中有大量的错误被abort的事务,进而影响系统性能。
技术实现思路
本专利技术实施例提供了一种数据库系统及数据库访问方法,目的是解决事务并发冲突高的情况下,大量的事务会错误取消(abort),导致系统吞吐量下降,整体可执行事务的个数/秒(transactionpersecond,tps)下降的问题。第一方面,本专利技术实施例提供了一种数据库系统,该数据库系统可以包括:结构化查询语言(structuredquerylanguage,SQL)引擎、自适应模块和事务管理模块;其中,自适应模块包括切换单元和并发控制选择单元;事务管理模块包括第一并发控制单元;SQL引擎,用于接收第一事务 ...
【技术保护点】
1.一种数据库系统,其特征在于,包括:结构化查询语言SQL引擎、自适应模块和事务管理模块;其中,所述自适应模块包括切换单元和并发控制选择单元;所述事务管理模块包括第一并发控制单元;所述SQL引擎,用于接收第一事务,所述第一事务包括相对应的第一数据;所述切换单元,用于确定所述第一数据段的热度;所述第一数据段为在执行第一事务时第一数据所落入的数据库数据段,所述第一数据段的热度为第一数据段历史上单位时间内取消的事务数占所有操作的事务数;所述并发控制选择单元,当第一数据段的热度大于第一阈值时,选择第一并发控制单元;所述第一并发控制单元,用于确定是否存在第二事务,当不存在第二事务时,执行所述第一事务;其中,所述第一事务所读取数据为所述第二事务所写入数据,所述第二事务写入所述数据的时间晚于所述第一事务读取所述数据的时间。
【技术特征摘要】
1.一种数据库系统,其特征在于,包括:结构化查询语言SQL引擎、自适应模块和事务管理模块;其中,所述自适应模块包括切换单元和并发控制选择单元;所述事务管理模块包括第一并发控制单元;所述SQL引擎,用于接收第一事务,所述第一事务包括相对应的第一数据;所述切换单元,用于确定所述第一数据段的热度;所述第一数据段为在执行第一事务时第一数据所落入的数据库数据段,所述第一数据段的热度为第一数据段历史上单位时间内取消的事务数占所有操作的事务数;所述并发控制选择单元,当第一数据段的热度大于第一阈值时,选择第一并发控制单元;所述第一并发控制单元,用于确定是否存在第二事务,当不存在第二事务时,执行所述第一事务;其中,所述第一事务所读取数据为所述第二事务所写入数据,所述第二事务写入所述数据的时间晚于所述第一事务读取所述数据的时间。2.根据权利要求1所述的系统,其特征在于,所述第一并发控制单元,还用于:当存在所述第二事务,且不存在第三事务时,执行所述第一事务,其中,所述第一事务所读取数据为所述第三事务所写入数据,所述第二事务写入所述数据的时间早于所述第一事务读取所述数据的时间。3.根据权利要求1所述的系统,其特征在于,所述第一并发控制单元,还用于:当存在所述第二事务和第三事务时,取消所述第一事务,其中,所述第一事务所读取数据为所述第三事务所写入数据,所述第二事务写入所述数据的时间早于所述第一事务读取所述数据的时间。4.根据权利要求1所述的系统,其特征在于,所述事务管理模块还包括第二并发控制单元;所述并发控制选择单元还用于,当所述第一数据段的热度大于所述第二阈值时,选择第二并发控制单元;所述第二并发控制单元,采用乐观并发控制方法执行第一事务;其中,所述第二阈值小于或等于所述第一阈值。5.根据权利要求1所述的系统,其特征在于,所述第一事务还包括与第一事务对应的第二数据,第二数据段为在执行第一事务时第二数据所落入的数据库数据段,所述第一数据段与所述第二数据段不同;所述切换单元,具体用于:确定所述第二数据段的热度。6.根据权利要求1所述的系统,其特征在于,所述第一事务还包括与所述第一事务对应的第三数据,第三数据段为在执行第一事务时第三数据所落入的数据库数据段;所述切换单元,具体用于:确定所述第一数据段和所述第三数据段整体的热度。7.根据权利要求1-6任一项所述的系统,其特征在于,切换单元,还用于:更新所述第一数据段的热度。8.根据权利要求1所述的系统,其特征在于,所述系统还包括自定义数据集模块:所述自定义数据集模块,用于确定所述第一数据是否落入预设第一数据集。9.根据权利要求8所述的系统,其特征在于,所述自定义数据集模块,还用于:当所述第一数据未落入所述预设第一数据集,且所述预设第一数据段的热度大于所述第一阈值时,确定所述第一数据是否落入预设第二数据集。10.一种数据库系统,其特征在于,包括:SQL引擎、自定义数据集模块和事务管理模块;其中,所述事务管理模块包括第一并发控制单元;SQL引擎,用于接收第一事务,所述第一事务包括第一数据;所述自定义数据集模块,用于确定所述第一数据是否落入预设第一数据集;当所述第一数据落入所述预设的第一数据集时,所述第一并发控制单元,用于确定是否存在第二事务,当不存在第二事务时,执行所述第一事务;其中,所述第一事务所读取数据为所述第二事务所写入数据,所述第二事务写入所述数据的时间晚于所述第一事务读取所述数据的时间。11.根据权利要求10所述的系统,其特征在于,所述第一并发控制单元,还用于:当所述第一数据落入所述预设的第一数据集,且存在所述第二事务,不存在第三事务时,执行所述第一事务,其中,所述第一事务所读取数据为所述第三事务所写入数据,所述第二事务写入所述数据的时间早于所述第一事务读取所述数据的时间。12.根据权利要求10所述的系统,其特征在于,所述第一并发控制单元,还用于:当所述第一数据落入所述预设的第一数据集,且存在所述第二事务和第三事务时,取消所述第一事务,其中,所述第一事务所读取数据为所述第三事务所写入数据,所述第二事务写入所述数据的时间早于所述第一事务读取所述数据的时间。13.根据权利要求10所述的系统,其特征在于,所述事务管理模块还包括:第二并发控制单元...
【专利技术属性】
技术研发人员:郭志建,朱建峰,智雅楠,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。