v2.6

文档

Laxcus大数据管理系统

第一章 基础概述

第二章 数据组织

第三章 数据存储

第四章 数据计算

第五章 数据构建

第六章 网络通讯

第七章 网络通讯

第八章 安全

第九章 容错

第十章 运行

总结

后记

参考文献

  • 内容

     事务在2.0版本是一个重要的模块,以管理器的形式运行在Aid节点上。所有数据处理工作都被默认要求执行事务处理流程。就是它们在执行数据操作前,需要通过事务管理器的审核才能实施。事务申请是一个同步串行操作过程,采用队列的“先到先得”原则,总是由排在最前面的申请获得优先使用权。申请成功后的事务会被记录到管理器队列,作为后续事务申请时的判断比较依据,直到它的数据处理工作完成后,才从管理器队列中撤销。没有申请成功的事务将被挂起,直到前面的事务从队列中撤销后才被唤醒。

    我们在兼顾大数据并发效率、平衡事务申请要求、保证事务操作精度这几个方面需求考虑下,按照事务操作范围,把事务分为三种类型:用户型事务、数据库型事务、表型事务。用户型事务拥有操纵账号下全部资源的权力,数据库事务可以操作一个或者几个数据库以及下属全部表,表事务只能操作一个或者几个具体的表。三种事务在管理器上的地位是平等的,没有隶属关系。使它们产生关联的是它们所绑定的资源,这是决定一个事务能够获得申请通过、还是被拒绝挂起的依据。

    事务另外一个属性是操作状态。事务操作状态被分成“读”和“写”两种。任何一个"写“事务生效,即表示和它关联的资源对象被锁定,不允许再申请,直到这个事务完成,这些资源被解锁,后续“写”申请才能生效。如果是“读”操作事务生效,被关联的资源只做标记,供后续所有事务参考,其它“写”事务仍然拥有锁定这些资源的权力。

    综上所述,结合图2.9,在系统运行过程中,事务申请按照如下规则处理:

    1.所有类型的"读"事务都可以共享存在。

    2.如果队列都是“读”事务,后续一个“写”事务可以获得批准。

    3.如果队列中有“写”事务,后续一个“写”事务只要不与它们存在资源冲突,就可以获得批准,否则被拒绝挂起。

    4.为了进一步提高数据库事务和表事务的并发效率,在它们之间有一个“数据库名称”比较。当这样的两个"写“事务发生”数据库名称“冲突时,后续“写”事务被挂起,即同名互斥

    5.如果一个事务同时存在“读写”两种状态时,将按照“写”事务规则处理。

回到顶部

联系方式

  • 服务电话 15210289253
  • 联系邮箱 laxcus@163.com
  • 版权所有 Laxcus大数据实验室    京ICP备17069115号

更多资讯请关注官方公众号