CN113778632A - 一种基于cassandra数据库的分布式事务管理方法 - Google Patents

一种基于cassandra数据库的分布式事务管理方法 Download PDF

Info

Publication number
CN113778632A
CN113778632A CN202111072048.XA CN202111072048A CN113778632A CN 113778632 A CN113778632 A CN 113778632A CN 202111072048 A CN202111072048 A CN 202111072048A CN 113778632 A CN113778632 A CN 113778632A
Authority
CN
China
Prior art keywords
transaction
cassandra
data
database
row
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.)
Pending
Application number
CN202111072048.XA
Other languages
English (en)
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.)
Hangzhou Woqu Technology Co ltd
Original Assignee
Hangzhou Woqu 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 Hangzhou Woqu Technology Co ltd filed Critical Hangzhou Woqu Technology Co ltd
Priority to CN202111072048.XA priority Critical patent/CN113778632A/zh
Publication of CN113778632A publication Critical patent/CN113778632A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

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

Abstract

本发明涉及数据库系统技术领域,公开了一种基于cassandra数据库的分布式事务管理方法,包括如下步骤:建立数据模型,在一个或多个关系数据库中建立第一关系表与等数量的cassandra数据库的第二关系表对应;在第一关系表和第二关系表中,增加隐藏列,在关系数据库内创建索引;对事务操作进行记录,并同步新版本至cassandra;写入cassandra后,通知其它所有关系数据库去读取并应用新的事务,通过索引查询数据,从而达到所有关系数据库中的数据和cassandra中数据保持一致。本发明方案可以较容易将传统的关系数据库和cassandra有机地整合起来,系统整体上兼具传统关系数据库和新型NOSQL数据库的优点:提供易用的SQL接口,易于扩展存储节点和计算节点,提供更高的可用性。

Description

一种基于cassandra数据库的分布式事务管理方法
技术领域
本发明涉及数据库系统技术领域,尤其涉及了一种基于cassandra数据库的分布式事务管理方法。
背景技术
当前,业界在使用mysql等关系数据库时,受mysql存储和处理能力的局限,通常使用分库分表的方法,将一张表切分成多个子表,分散存储到多个mysql数据库实例中;当应用程序需要数据时,不得不从多个mysql数据库捞取数据,再计算出最终的结果。这种分库分表的方法,给应用程序的开发带来很大的挑战。传统关系数据的存储和处理能力很有限,并且难以横向扩展。
Cassandra是一种NOSQL数据库管理系统,它以集群方式运行在多个主机上,可以跨越机架/机房;提供海量的存储;每一数据项有多个副本分散到多台主机上,提供高可用能力;提供可配置的的数据一致性,提供强一致性或最终一致性。Cassandra不能提供传统关系数据库的SQL能力。
新兴的NOSQL数据库天然具有海量存储能力,易于横向扩展伸缩,但不能提供关系数据库的事务能力和查询能力,而且不能适应大型交易场景。
发明内容
本发明针对现有技术中的缺点,提供了一种基于cassandra数据库的分布式事务管理方法。
为了解决上述技术问题,本发明通过下述技术方案得以解决。
一种基于cassandra数据库的分布式事务管理方法,包括如下步骤:
建立数据模型,在一个或多个关系数据库中建立第一关系表与等数量的cassandra数据库的第二关系表对应;
在第一关系表和第二关系表中,增加隐藏列包括唯一识别ID记为rowid、版本号记为version和对该行更新版本记录操作次数记为rowver,在关系数据库内创建索引,索引键为rowid,对应的内容为rowver;
在关系数据库进行插入操作每一行数据后,通过全局事务管理器对第二关系表中插入一行数据,其中包括rowval字段存储关系数据库中的一整行数据;关系数据库进行更新、删除操作每一行数据后,生成新的行版本号并对旧版本进行加锁,成功锁定旧版本的事务,将新版本插入cassandra;
写入cassandra后,通知其它所有关系数据库去读取并应用新的事务,通过索引查询数据,从而达到所有关系数据库中的数据和cassandra中数据保持一致。
作为优选,插入操作包括:
当关系数据库为插入数据操作时,生成全局唯一的rowid,同时多个关系数据库生成的同一个第一关系表的rowid。
作为优选,当关系数据库完成插入数据操作后,再通过全局事务管理器提交到cassandra,在cassandra中插入数据时使用INSERT-IF语句,插入到rowval,rowval内通过locked和lockowner字段记录当前版本是否加锁,新插入的行的locked字段值为0和lockowner字段值为null。
作为优选,更新操作包括:
对rowval中是否加锁进行判断,如未加锁则表示版本未更新,则rowver列的值加1,并通过全局事务管理器提交到cassandra,cassandra中用UPDATE-IF语句将旧版本的locked字段改成1,lockonwer改成当前事务id;若成功,则可以在cassnadra中插入新版本,并修改locked字段值为0,lockonwer字段值为null;否则,则判断当前版本已经被更新过,本次更新失败,回滚事务。
作为优选,删除操作包括:
关系数据库删除本地数据的行,并通过全局事务管理器提交到cassandra,cassandra中用UPDATE-IF语句将旧版本的locked字段改成1,lockonwer改成当前事务id;若成功,则在cassandra中写入rowver=0;否则,则判断当前版本已经被更新过,本次删除失败,回滚事务。
作为优选,还包括删除过期的老版本数据操作,设置时间阈值或者使用频率阈值,将超过时间阈值或低于使用频率阈值的表或行进行清理。
作为优选,还包括全局事务管理操作:
关系数据库提交本地事务时,先将本地事务日志刷入磁盘,通过全局事务管理器写入cassandra;在cassandra中创建transaction表,记录每一个事务完成状态;创建事务日志表translog,记录每一行数据的变更;
全局事务管理器在提交事务过程中出错,则返回出错信息,关系数据库也回滚至本地事务。
作为优选,未完成的全局事务,由全局事务清理器定期检查并清理,清理过程如下:
扫描translog表,找出该事务的所有日志,删除对应行的新版本,删除旧版本的锁;删除translog表中的包含该事务日志的行;删除transactoin表中对应该事务的行。
作为优选,还包括事务同步操作:
在全局事务管理器提交一个事务后,通知其它的全局事务管理器去同步数据,其他全局事务管理器收到同步数据的通知后,读取transaction和translog表,找到对应的数据,更新关系数据库的中数据;
当需要增加一个关系数据库节点时,由全局事务管理器从cassandra中获取一个快照,克隆出一个节点,包括记录克隆时间、获取所有表中最新的数据并同步到关系数据库中,从transaction和translog中找出开始克隆时间点T1之后提交的事务,将T1后事务日志应用到关系数据库中。
作为优选,索引中ROWID为保留常用的ROWID,用于缓存数据库中的表;当使用表扫描,首先根据索引在第一关系表中查找,如第一关系表中未找到,则从cassandra中读取,并插入本地表中。
本发明由于采用了以上技术方案,具有显著的技术效果:通过本发明的处理流程,可以较容易将传统的关系数据库和cassandra有机地整合起来,系统整体上兼具传统关系数据库和新型NOSQL数据库的优点:提供易用的SQL接口,易于扩展存储节点和计算节点,提供更高的可用性。将cassandra做为传统关系型数据库的底层存储,为传统关系型数据库提供海量的存储,解决传统关系型数据库的存储难以扩展的局限,同时也提供更高的数据安全性,即使mysql节点损毁,数据依然完好无损。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明一种基于cassandra数据库的分布式事务管理方法的流程示意图;
图2是本发明一种基于cassandra数据库的分布式事务管理方法中事务提交流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的核心是提供一种基于cassandra数据库的分布式事务管理方法,用以提高用户的使用体验感,提供更高的数据安全性。
图1为本申请提供一种基于cassandra数据库的分布式事务管理方法流程图,包括如下步骤:
建立数据模型,在一个或多个关系数据库中建立第一关系表与等数量的cassandra数据库的第二关系表对应;
在本申请实施例中,关系数据库可以为mysql数据库,使用该分布式事务管理方法,组建mysql与cassandra的多主数据库集群,首先需要建立如下数据模型:
mysql中的一张表,对应到cassandra中的一张表:
mysql中:t1(rowid hidden,rowver hidden,c1 int,c2 char(10),...)
Cassandra中:t1_data(rowid,rowver,rowval,locked,lockowner,primary key(rowid,version))。
在第一关系表和第二关系表中,增加隐藏列包括唯一识别ID记为rowid、版本号记为version和对该行更新版本记录操作次数记为rowver,在关系数据库内创建索引,索引键为rowid,对应的内容为rowver;
在本申请实施例中,在mysql的表增加两个隐藏列(rowid,version),rowid为一行数据的唯一标识,插入时生成,终身不变;集群中各个mysql生成的ROWID不能重复,ROWVER记录该行数据的更新版本号,从1开始,更新一次加一。
mysql中的绝大部分查询,都要走索引扫描,多主数据库集群中的各个mysql数据库中,可以创建不同的索引,也可以让应用程序访问某些节点的某些索引,达到分散负载的效果。
索引中记录该表中当前所有行的ROWID和ROWVER,有了ROWID索引后,可以把原表当缓存来使用。表扫时先看ROWID索引,再由(ROWID,ROWVER)到本地表中找完整的行,如果本地表中没有该行数据,则到cassandra中查询,并填入本地表,使用其它索引查找数据时,也是一样的逻辑:用(ROWID,ROWVER)到本地表或cassandra中找完整的行,如果本地表中没有,则填充之。
在关系数据库进行插入操作每一行数据后,通过全局事务管理器对第二关系表中插入一行数据,其中包括rowval字段存储关系数据库中的一整行数据;关系数据库进行更新、删除操作每一行数据后,生成新的行版本号并对旧版本进行加锁,成功锁定旧版本的事务,将新版本插入cassandra;
本申请实施例中,全局事务管理器(gxmgr)负责事务的提交,并发控制,数据同步,是mysql+cassandra多主数据库集群的核心组件。
写入cassandra后,通知其它所有关系数据库去读取并应用新的事务,通过索引查询数据,从而达到所有关系数据库中的数据和cassandra中数据保持一致。
插入操作包括:
当关系数据库为插入数据操作时,生成全局唯一的rowid,同时多个关系数据库生成的同一个第一关系表的rowid。
当关系数据库完成插入数据操作后,再通过全局事务管理器提交到cassandra,在cassandra中插入数据时使用INSERT-IF语句,插入到rowval,rowval内通过locked和lockowner字段记录当前版本是否加锁,新插入的行的locked字段值为0和lockowner字段值为null,表示未加锁(该版本未被更新过)。
更新操作包括:
对rowval中是否加锁进行判断,如未加锁则表示版本未更新,则rowver列的值加1,并通过全局事务管理器提交到cassandra,cassandra中用UPDATE-IF语句将旧版本的locked字段改成1,lockonwer改成当前事务id;若成功,则可以在cassnadra中插入新版本,并修改locked字段值为0,lockonwer字段值为null;否则,则判断当前版本已经被更新过,本次更新失败,回滚事务。
删除操作包括:
关系数据库删除本地数据的行,并通过全局事务管理器提交到cassandra,cassandra中用UPDATE-IF语句将旧版本的locked字段改成1,lockonwer改成当前事务id;若成功,则在cassandra中写入rowver=0;否则,则判断当前版本已经被更新过,本次删除失败,回滚事务。
还包括删除过期的老版本数据操作,设置时间阈值或者使用频率阈值,将超过时间阈值或低于使用频率阈值的表或行进行清理。
本申请实施例中,Cassandra中会存储一行数据的多个版本,那些被更新或删除过的版本都是老版本;那些过期的老版本(不再有人引用或者生命周期超过了一定的阀值)需要被清理掉,定期删除已drop掉的表,以释放存储空间。当一个表中的数据量超过阀值(可以根据业务需要来设定每个表的最大缓存数据量)时,可以清空整个表,后续的查询会将常用的数据行填充进来。
如图2所示,还包括全局事务管理操作:
关系数据库提交本地事务时,先将本地事务日志刷入磁盘,通过全局事务管理器写入cassandra;在cassandra中创建transaction表,记录每一个事务完成状态;创建事务日志表translog,记录每一行数据的变更;
全局事务管理器在提交事务过程中出错,则返回出错信息,关系数据库也回滚至本地事务。
本申请实施例中,在cassandra中创建一个事务表(transaction表),记录每一个全局事务的状态,事务表的模式(schema)为transaction(time_range,xid,status,srcdb,primary key(time_range,xid));
在cassandra中创建一个事务日志表(translog表),记录每一行数据的变更,translog表的schema为translog(xid,rowid,oldver,newver,primary key(xid,rowid,oldver))。
未完成的全局事务,由全局事务清理器定期检查并清理,清理过程如下:
扫描translog表,找出该事务的所有日志,删除对应行的新版本,删除旧版本的锁;删除translog表中的包含该事务日志的行;删除transactoin表中对应该事务的行。
还包括事务同步操作:
在全局事务管理器提交一个事务后,通知其它的全局事务管理器去同步数据,其他全局事务管理器收到同步数据的通知后,读取transaction和translog表,找到对应的数据,更新关系数据库的中数据;
当需要增加一个关系数据库节点时,由全局事务管理器从cassandra中获取一个快照,克隆出一个节点,包括记录克隆时间、获取所有表中最新的数据并同步到关系数据库中,从transaction和translog中找出开始克隆时间点T1之后提交的事务,将T1后事务日志应用到关系数据库中。
索引中ROWID为保留常用的ROWID,用于缓存数据库中的表;当使用表扫描,首先根据索引在第一关系表中查找,如第一关系表中未找到,则从cassandra中读取,并插入本地表中,整个过程完成更新全局存储cassandra中的同一数据集的同步。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种基于cassandra数据库的分布式事务管理方法,其特征在于,包括如下步骤:
建立数据模型,在一个或多个关系数据库中建立第一关系表与等数量的cassandra数据库的第二关系表对应;
在第一关系表和第二关系表中,增加隐藏列包括唯一识别ID记为rowid、版本号记为version和对该行更新版本记录操作次数记为rowver,在关系数据库内创建索引,索引键为rowid,对应的内容为rowver;
在关系数据库进行插入操作每一行数据后,通过全局事务管理器对第二关系表中插入一行数据,其中包括rowval字段存储关系数据库中的一整行数据;关系数据库进行更新、删除操作每一行数据后,生成新的行版本号并对旧版本进行加锁,成功锁定旧版本的事务,将新版本插入cassandra;
写入cassandra后,通知其它所有关系数据库去读取并应用新的事务,通过索引查询数据,从而达到所有关系数据库中的数据和cassandra中数据保持一致。
2.根据权利要求1所述的一种基于cassandra数据库的分布式事务管理方法,其特征在于:插入操作包括:
当关系数据库为插入数据操作时,生成全局唯一的rowid,同时多个关系数据库生成的同一个第一关系表的rowid。
3.根据权利要求2所述的一种基于cassandra数据库的分布式事务管理方法,其特征在于:当关系数据库完成插入数据操作后,再通过全局事务管理器提交到cassandra,在cassandra中插入数据时使用INSERT-IF语句,插入到rowval,rowval内通过locked和lockowner字段记录当前版本是否加锁,新插入的行的locked字段值为0和lockowner字段值为null。
4.根据权利要求3所述的一种基于cassandra数据库的分布式事务管理方法,其特征在于:更新操作包括:
对rowval中是否加锁进行判断,如未加锁则表示版本未更新,则rowver列的值加1,并通过全局事务管理器提交到cassandra,cassandra中用UPDATE-IF语句将旧版本的locked字段改成1,lockonwer改成当前事务id;若成功,则可以在cassnadra中插入新版本,并修改locked字段值为0,lockonwer字段值为null;否则,则判断当前版本已经被更新过,本次更新失败,回滚事务。
5.根据权利要求3所述的一种基于cassandra数据库的分布式事务管理方法,其特征在于:删除操作包括:
关系数据库删除本地数据的行,并通过全局事务管理器提交到cassandra,cassandra中用UPDATE-IF语句将旧版本的locked字段改成1,lockonwer改成当前事务id;若成功,则在cassandra中写入rowver=0;否则,则判断当前版本已经被更新过,本次删除失败,回滚事务。
6.根据权利要求1所述的一种基于cassandra数据库的分布式事务管理方法,其特征在于:还包括删除过期的老版本数据操作,设置时间阈值或者使用频率阈值,将超过时间阈值或低于使用频率阈值的表或行进行清理。
7.根据权利要求1所述的一种基于cassandra数据库的分布式事务管理方法,其特征在于:还包括全局事务管理操作:
关系数据库提交本地事务时,先将本地事务日志刷入磁盘,通过全局事务管理器写入cassandra;在cassandra中创建transaction表,记录每一个事务完成状态;创建事务日志表translog,记录每一行数据的变更;
全局事务管理器在提交事务过程中出错,则返回出错信息,关系数据库也回滚至本地事务。
8.根据权利要求7所述的一种基于cassandra数据库的分布式事务管理方法,其特征在于:未完成的全局事务,由全局事务清理器定期检查并清理,清理过程如下:
扫描translog表,找出该事务的所有日志,删除对应行的新版本,删除旧版本的锁;删除translog表中的包含该事务日志的行;删除transactoin表中对应该事务的行。
9.根据权利要求8所述的一种基于cassandra数据库的分布式事务管理方法,其特征在于:还包括事务同步操作:
在全局事务管理器提交一个事务后,通知其它的全局事务管理器去同步数据,其他全局事务管理器收到同步数据的通知后,读取transaction和translog表,找到对应的数据,更新关系数据库的中数据;
当需要增加一个关系数据库节点时,由全局事务管理器从cassandra中获取一个快照,克隆出一个节点,包括记录克隆时间、获取所有表中最新的数据并同步到关系数据库中,从transaction和translog中找出开始克隆时间点T1之后提交的事务,将T1后事务日志应用到关系数据库中。
10.根据权利要求1所述的一种基于cassandra数据库的分布式事务管理方法,其特征在于:索引中ROWID为保留常用的ROWID,用于缓存数据库中的表;当使用表扫描,首先根据索引在第一关系表中查找,如第一关系表中未找到,则从cassandra中读取,并插入本地表中。
CN202111072048.XA 2021-09-14 2021-09-14 一种基于cassandra数据库的分布式事务管理方法 Pending CN113778632A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111072048.XA CN113778632A (zh) 2021-09-14 2021-09-14 一种基于cassandra数据库的分布式事务管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111072048.XA CN113778632A (zh) 2021-09-14 2021-09-14 一种基于cassandra数据库的分布式事务管理方法

Publications (1)

Publication Number Publication Date
CN113778632A true CN113778632A (zh) 2021-12-10

Family

ID=78843433

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111072048.XA Pending CN113778632A (zh) 2021-09-14 2021-09-14 一种基于cassandra数据库的分布式事务管理方法

Country Status (1)

Country Link
CN (1) CN113778632A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693312A (zh) * 2012-05-28 2012-09-26 清华大学 一种键值库数据存储中柔性事务管理方法
CN102831156A (zh) * 2012-06-29 2012-12-19 浙江大学 一种云计算平台上的分布式事务处理方法
CN105574026A (zh) * 2014-10-15 2016-05-11 腾讯科技(深圳)有限公司 非关系型数据库支持事务的方法及装置
US20170185636A1 (en) * 2015-12-28 2017-06-29 International Business Machines Corporation ORDER CONSTRAINT FOR TRANSACTION PROCESSING WITH SNAPSHOT ISOLATION ON NON-TRANSACTIONAL NoSQL SERVERS
CN109977171A (zh) * 2019-02-02 2019-07-05 中国人民大学 一种保证事务一致性和线性一致性的分布式系统和方法
CN110019443A (zh) * 2017-09-08 2019-07-16 阿里巴巴集团控股有限公司 非关系型数据库事务处理方法、装置及电子设备
CN111046100A (zh) * 2019-11-25 2020-04-21 武汉达梦数据库有限公司 一种关系型数据库到非关系型数据库的同步方法和系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693312A (zh) * 2012-05-28 2012-09-26 清华大学 一种键值库数据存储中柔性事务管理方法
CN102831156A (zh) * 2012-06-29 2012-12-19 浙江大学 一种云计算平台上的分布式事务处理方法
CN105574026A (zh) * 2014-10-15 2016-05-11 腾讯科技(深圳)有限公司 非关系型数据库支持事务的方法及装置
US20170185636A1 (en) * 2015-12-28 2017-06-29 International Business Machines Corporation ORDER CONSTRAINT FOR TRANSACTION PROCESSING WITH SNAPSHOT ISOLATION ON NON-TRANSACTIONAL NoSQL SERVERS
CN110019443A (zh) * 2017-09-08 2019-07-16 阿里巴巴集团控股有限公司 非关系型数据库事务处理方法、装置及电子设备
CN109977171A (zh) * 2019-02-02 2019-07-05 中国人民大学 一种保证事务一致性和线性一致性的分布式系统和方法
CN111046100A (zh) * 2019-11-25 2020-04-21 武汉达梦数据库有限公司 一种关系型数据库到非关系型数据库的同步方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
马文龙 等: "Key-Value型NoSQL本地存储系统研究", 《计算机学报》, vol. 41, no. 8, 31 August 2018 (2018-08-31) *

Similar Documents

Publication Publication Date Title
US6480848B1 (en) Extension of data definition language (DDL) capabilities for relational databases for applications issuing DML and DDL statements
EP0336035B1 (en) Tree structure database system
US6209000B1 (en) Tracking storage for data items
US6009425A (en) System and method for performing record deletions using index scans
US7418544B2 (en) Method and system for log structured relational database objects
US6161109A (en) Accumulating changes in a database management system by copying the data object to the image copy if the data object identifier of the data object is greater than the image identifier of the image copy
US5625815A (en) Relational database system and method with high data availability during table data restructuring
US8560500B2 (en) Method and system for removing rows from directory tables
US7028022B1 (en) Heuristic-based conditional data indexing
US6714943B1 (en) Method and mechanism for tracking dependencies for referential integrity constrained tables
US6728719B1 (en) Method and mechanism for dependency tracking for unique constraints
US8924365B2 (en) System and method for range search over distributive storage systems
US10754854B2 (en) Consistent query of local indexes
US20120041926A1 (en) Techniques for increasing the usefulness of transaction logs
US9576038B1 (en) Consistent query of local indexes
CN105556520A (zh) 在存储器中镜像盘中的数据以提高查询性能
CN105556519A (zh) 对oracle存储器中数据库的存储器中快照存储的多版本并行控制
US7225206B2 (en) System and method for reorganizing stored data
CA2279028C (en) Dropped database table recovery
US6275832B1 (en) Providing transaction undo without logging
US8452730B2 (en) Archiving method and system
US6453322B1 (en) Extension of data definition language (DDL) capabilities for relational databases for applications issuing multiple units of work
US20120317384A1 (en) Data storage method
US6421677B1 (en) Extension of data definition language (DDL) capabilities for relational databases for applications issuing DDL statements
CN113778632A (zh) 一种基于cassandra数据库的分布式事务管理方法

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