CN111801661B - 多主机分布式数据管理系统中的事务操作 - Google Patents
多主机分布式数据管理系统中的事务操作 Download PDFInfo
- Publication number
- CN111801661B CN111801661B CN201980014699.8A CN201980014699A CN111801661B CN 111801661 B CN111801661 B CN 111801661B CN 201980014699 A CN201980014699 A CN 201980014699A CN 111801661 B CN111801661 B CN 111801661B
- Authority
- CN
- China
- Prior art keywords
- log
- transaction
- record
- operations
- storage layer
- 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
Links
- 238000013523 data management Methods 0.000 title claims abstract description 33
- 238000000034 method Methods 0.000 claims abstract description 114
- 230000003370 grooming effect Effects 0.000 claims abstract description 37
- 238000012545 processing Methods 0.000 claims abstract description 27
- 230000008569 process Effects 0.000 claims description 94
- 238000009960 carding Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 17
- 230000000737 periodic effect Effects 0.000 claims description 5
- 230000002085 persistent effect Effects 0.000 claims description 5
- 238000013138 pruning Methods 0.000 claims description 5
- 238000011084 recovery Methods 0.000 claims description 5
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 15
- 238000004458 analytical method Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000012854 evaluation process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 244000141353 Prunus domestica Species 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/134—Distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2322—Optimistic concurrency control using timestamps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6022—Using a prefetch buffer or dedicated prefetch cache
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
一个实施例提供了一种用于梳理多主机分布式数据管理系统中的事务操作的方法,该方法包括在至少一个事务本地侧日志中维持事务操作。为包括日志中的每个记录的记录标识的表执行表日志扫描。基于所述标识向表中的每一列加载列值。将基于列值的记录写入基于表的梳理后的事务块,并且生成梳理后的块上的每个记录的元组序列号。将该表在处理系统中的事务操作的节点之间共享/分片,以增加事务操作的处理的处理能力。
Description
技术领域
本公开涉及多主机分布式数据管理领域,具体地,涉及一种用于梳理多主机分布式数据管理系统中的事务操作的方法、计算机程序产品以及装置。
背景技术
以高可用性为目标的常规数据管理系统必须允许诸如更新、删除和插入(UDIs)之类的事务操作去往任何数据副本。事务操作还以与大数据生态系统兼容为目标,大数据生态系统使用仅附加的(因此是突变不友好的)存储流,因为这种存储流在有效的读和写操作以及空间消耗方面具有优越性。
发明内容
实施例涉及多主机(multi-master)分布式数据管理系统中的事务操作。一个实施例提供了一种用于在多主机分布式数据管理系统中梳理(grooming)事务操作的方法,包括在至少一个事务本地侧日志中维持事务操作。对包括日志中的每个记录的记录标识的表执行表日志扫描。将表中的每一列加载以基于标识的列值。将基于列值的记录写入基于表的梳理后的事务块,并且生成梳理后的块上的每个记录的元组序列号。将该表在处理系统中的事务操作的节点之间共享/分片,以增加事务操作的处理的处理能力。
参考以下描述、所附权利要求和附图,本发明的这些和其他特征、方面和优点将变得清楚。
附图说明
现在将参考附图仅通过举例来描述本发明的实施例,在附图中:
图1示出根据实施例的云计算环境;
图2示出根据实施例的一组抽象模型层;
图3是根据实施例的用于多主机分布式数据管理系统的网络架构;
图4示出了根据实施例可以与图1的服务器和/或客户端相关联的代表性硬件环境;
图5是示出根据一个实施例的用于执行针对事务操作的梳理过程的多主机分布式数据管理系统的框图;
图6示出根据一个实施例的用于在多主机分布式数据管理系统中执行梳理过程的示例架构;
图7示出根据一个实施例的多主机分布式数据管理系统中的数据的生命周期示例;
图8示出根据一个实施例的在多主机分布式数据管理系统中梳理数据的示例;
图9示出根据一个实施例的梳理评估过程的示例框图;
图10示出根据一个实施例的用于图9的梳理评估过程的示例写入过程;和
图11示出根据一个实施例的用于多主机分布式数据管理系统中的梳理事务操作的过程的框图。
具体实施方式
出于说明的目的给出对各种实施例的描述,但是不旨在是穷举的或限于所公开的实施例。在不背离所描述的实施例的范围的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。
预先理解,尽管本公开包括云计算的详细描述,但是本文中记载的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其它类型的计算环境来实现。
一个或多个实施例涉及在按时间排序的日志结构的键-值存储区中的垃圾收集期间从故障中的适当恢复。一个实施例提供了一种用于在按时间顺序排序的日志结构键值储存器中的垃圾收集期间从故障中恢复的方法,该方法包括由处理器事务性地执行按时间顺序的垃圾收集。跳过从由垃圾收集事务记录的日志结构的目标槽中的初始偏址直到目标槽的结尾的记录。
云计算是一种服务递送模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机(VM)和服务)的共享池的方便的按需网络访问,这些可配置计算资源可以用最少的管理工作或与服务提供商的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特征如下:
按需自助:云消费者可以单方面地按需自动地供应计算能力,诸如服务器时间和网络存储,而不需要与服务的提供者的人类交互。
广域网接入:能力在网络上可用,并且通过促进由异构、薄或厚客户端平台(例如,移动电话、膝上型计算机和PDA)使用的标准机制来访问。
资源池化:供应商的计算资源被集中以使用多租户模型来服务多个消费者,其中不同的物理和虚拟资源根据需求被动态地分配和重新分配。存在位置无关的意义,因为消费者通常不控制或不了解所提供资源的确切位置,但可能能够在较高抽象级(例如,国家、州或数据中心)处指定位置。
快速弹性:可以快速且弹性地提供能力,并且在一些情况下,自动地快速向外扩展以及快速释放以快速向内扩展。对于消费者,可用于提供的能力通常看起来不受限制,并且可以在任何时间以任何数量购买。
测量服务:云系统通过利用在适合于服务类型(例如,存储、处理、带宽和活动消费者账户)的某一抽象级别的计量能力来自动地控制和优化资源使用。资源使用可以被监视、控制和报告,从而为所利用服务的提供者和消费者提供透明性。
服务模型如下:
软件即服务(SaaS):提供给消费者的能力能够使用在云基础设施上运行的提供者的应用。应用程序可通过瘦客户机接口,诸如web浏览器(例如,基于web的电子邮件)从各种客户机设备访问。消费者不管理或控制包括网络、服务器、操作系统、存储、或甚至单独应用能力的底层云基础结构,可能的例外是有限的消费者专用应用配置设置。
平台即服务(PaaS):提供给消费者的能力是将消费者创建或获取的应用部署到云基础结构上的能力,所述消费者创建或获取的应用是使用由提供者支持的编程语言和工具创建的。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但具有对部署的应用和可能的应用托管环境配置的控制。
基础设施即服务(IaaS):提供给消费者的能力能够提供处理、存储、网络和其它基本计算资源,其中消费者能够部署和运行任意软件,该软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,但具有对操作系统、存储、部署的应用的控制,以及可能对选择的联网组件(例如,主机防火墙)的有限控制。
部署模型如下:
私有云:云基础设施仅为组织操作。它可以由组织或第三方管理,并且可以存在于建筑物内或建筑物外。
社区云:云基础设施由若干组织共享,并且支持具有共享关注(例如,任务、安全要求、策略和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
公有云:云基础设施可用于一般公众或大型工业群体,并且由销售云服务的组织拥有。
混合云:云基础设施是两个或更多云(私有、共同体或公共)的组合,所述云保持唯一实体,但是通过使能数据和应用可移植性(例如,用于云之间的负载平衡的云突发传输)的标准化或私有技术绑定在一起。
云计算环境是面向集中于无状态、低耦合、模块性和语义互操作性的服务。在云计算的核心是包括互连节点的网络的基础设施。
现在参考图1,描绘了说明性云计算环境50。如图所示,云计算环境50包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点10,所述本地计算设备例如个人数字助理(PDA)或蜂窝电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统54N。节点10可以彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或多个网络中,诸如上文描述的私有云、社区云、公共云或混合云或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为服务,云消费者不需要为其维护本地计算设备上的资源。应当理解,图2中所示的计算设备54A-N的类型仅旨在说明,并且计算节点10和云计算环境50可以通过任何类型的网络和/或网络可寻址连接(例如,使用web浏览器)与任何类型的计算机化设备通信。
现在参考图2,示出了由云计算环境50(图1)提供的一组功能抽象层。应当预先理解,图2中所示的组件、层和功能仅旨在说明,并且本发明的实施例不限于此。如所描绘的,提供了以下层和相应的功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:主机61;基于RISC(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储设备65;以及网络和网络组件66.在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储器72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户机75。
在一个示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其它资源的动态采购。计量和定价82提供了在云计算环境中利用资源时的成本跟踪以及用于消耗这些资源的开帐单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务级别管理84提供云计算资源分配和管理,使得满足所需的服务级别。服务水平协议(SLA)规划和履行85提供对云计算资源的预安排和采购,其中根据SLA预期未来需求。
工作负载层90提供了可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:绘图和导航91;软件开发和生命周期管理92;虚拟教室教育传送93;数据分析处理94;交易处理95;以及梳理多主机分布式数据处理中的事务操作的处理96。如上所述,关于图2描述的所有前述示例仅是说明性的,并且本发明不限于这些示例。
应当理解,如本文所述的一个或多个实施例的所有功能通常可由处理系统300(图3)或自主云环境410(图4)执行,其可被有形地体现为硬件处理器并具有程序代码模块。然而,对于非实时处理来说不必如此。相反,对于非实时处理,这里所叙述的功能可以由图2中所示的层60、70、80和90中的任何层来执行/实现和/或赋能。
重申,尽管本公开包括关于云计算的详细描述,但本文所陈述的教导的实现不限于云计算环境。相反,本发明的实施例可以用现在已知或以后开发的任何类型的集群计算环境来实现。
图3示出了根据一个实施例的网络架构300。如图3中所示,提供多个远程网络302,包括第一远程网络304和第二远程网络306。网关301可耦合在远程网络302与邻近网络308之间。在本网络架构300的上下文中,网络304、306可以各自采取任何形式,包括但不限于LAN、WAN,诸如因特网、公共交换电话网(PSTN)、内部电话网等。
在使用中,网关301用作从远程网络302到邻近网络308的入口点。照此,网关301可以起能够指引到达网关301的数据的给定分组的路由器的作用以及为给定分组提供进出网关301的实际路径的交换机的作用。
还包括耦合到邻近网络308的至少一个数据服务器314,所述邻近网络308可经由网关301从远程网络302访问。应当注意,数据服务器314可以包括任何类型的计算设备/群件。耦合到每个数据服务器314的是多个用户设备316。此类用户设备316可包括台式计算机、膝上型计算机、手持式计算机、打印机和/或任何其他类型的包含逻辑的设备。应注意,在一些实施例中,用户设备311也可直接耦合到网络中的任一者。
外设320或一系列外设320(诸如传真机、打印机、扫描仪、硬盘驱动器、联网的和/或本地存储单元或系统等)可以耦合到网络304、306、308中的一个或多个。应注意,可以将数据库和/或其它组件与耦合到网络304、306、308的任何类型的网络元件一起使用,或集成到耦合到网络304、306、308的任何类型的网络元件中。在本说明书的上下文中,网络元件可以指网络的任何组件。
根据一些方法,本文所述的方法和系统可与模拟一个或多个其他系统的虚拟系统和/或系统一起实现、和/或在模拟一个或多个其他系统的虚拟系统和/或系统上实现,所述模拟一个或多个其他系统的虚拟系统和/或系统诸如是模拟IBM z/OS环境的UNIX系统、虚拟地托管MICROSOFT WINDOWS环境的UNIX系统、模拟IBM z/OS环境的MICROSOFT WINDOWS系统等。在一些实施例中,可以通过使用VMWARE软件来实现这种虚拟化和/或模拟。
图4示出了根据一个实施例的与图3的用户设备316和/或服务器314相关联的代表性硬件系统400环境。在一个示例中,硬件配置包括具有诸如微处理器的中央处理单元410和经由系统总线412互连的多个其他单元的工作站。在图4中所示的工作站可包括随机存取存储器(RAM)414、只读存储器(ROM)416、用于连接外围设备—诸如将盘存储单元420到总线412—的I/O适配器418、用于将键盘424、鼠标426、扬声器428、麦克风432和/或诸如触摸屏,数码相机(未示出)等的其他用户接口设备连接到总线412的用户接口适配器422、用于将工作站连接至通信网络435(例如数据处理网络)的通信适配器434和用于将总线412连接到显示设备438的显示适配器436。
在一个示例中,工作站可具有驻留在其上的操作系统,诸如MICROSOFTWINDOWS操作系统(OS)、MACOS、UNIXOS等。在一个实施例中,系统400采用基于的文件系统。将领会,其他示例也可在除了所提及的那些平台和操作系统之外的平台和操作系统上实现。此类其他示例可包括使用JAVA、XML、C和/或C++语言或其他编程语言编写的操作系统以及面向对象的编程方法。还可以使用已经变得越来越多地用于开发复杂的应用的面向对象的编程(OOP)。
图5是示出根据一个实施例的可用于梳理事务操作的系统500的框图。在一个实施例中,系统500包括客户端设备510(例如,移动设备、智能设备、计算系统等)、云或资源共享环境520(例如,公共云计算环境、私有云计算环境、数据中心等)、和服务器530。在一个实施例中,通过云或资源共享环境520向客户端设备提供来自服务器530的云服务。
在一个实施例中,系统500(被称为“梳理”的周期性后台过程)分析来自在多主系统上执行的多语句事务的事务操作在仅附加的(append-only)存储流上发布UDIs。在一个实施例中,对于梳理过程,多主系统在事务本地侧日志中维持/保持正在进行的多语句事务的UDIs。只有在成功的事务提交时,事务本地侧日志才被附加到日志流。梳理过程仅读取日志流,因此,梳理处理避免意识到未提交的(uncommitted)事务变更。执行梳理过程的线程(也被称为“梳理器”)在日志流上提供游标(cursor)或指示,以记住其在上一个梳理周期(cycle)中停止的位置。在梳理器的游标或指示指向的位置之前的日志流被标记为删除。在一个实施例中,如果没有对该流的正在进行的读取操作,一个被称为修剪过程的过程对该部分日志流进行删除。因此,梳理器和上一个梳理周期之后的读取操作都开始读取尚未梳理的日志流。这进一步确保数据的单调读取。另外,梳理过程仅读取具有比梳理过程的开始时间早的时间戳(例如,该日志项的提交时间)的日志流,这确保了梳理周期的有界限的执行时间。
图6示出了根据一个实施例的用于在多主机分布式数据管理系统中执行梳理过程的示例架构600。在一个实施例中,架构600包括应用610、任务协调器620、用于分析节点650的执行引擎630、用于事务节点655和存储器660的执行引擎640。在一个实施例中,应用610可包括容忍略微过时的数据并需要最新数据的分析应用611、以及高容量事务应用612。在一个实施例中,分析节点650仅处理只读操作。事务节点655负责梳理事务操作(例如UDIs)。执行引擎640包括与存储设备646(例如固态驱动器(SSD)和非易失性存储器(NVM),诸如只读存储器、闪存、铁电RAM、磁性计算机存储设备(例如硬盘驱动器、软盘和磁带、光盘等))连接的多个执行引擎645。存储器660可以包括共享文件系统、对象存储区(object store)或二者。
在一个实施例中,为了通过并行来加速UDI操作,将包括架构600的多主系统中的表基于主(单列或复合)键的子集在处理事务的节点之间进行分片(sharded)或分区(partitioned)。为了更高的可用性,也将表分片(shard)分配给(可配置数量的)多个节点(事务节点655)。除了负责UDI操作和对数据的查找的事务节点655之外,分析节点650仅负责分析读取请求。分布式协调系统包括管理与分片(sharding)和复制相关的元信息(meta-information)的任务协调器620,目录则维持每个表的模式(schema)信息。一个或多个实施例还允许外部读取器在不牵涉本地系统组件的情况下读取经由多主系统摄取的数据,但是那些读取器看不到在处理UDI操作的事务节点655上存储的最新事务数据。
在一个实施例中,由架构600处理的每个事务在由一个或多个日志块组成的事务本地侧日志811(图8)中维持其未提交的变更。每个日志块可包含仅一个表的事务。在提交时间,事务将其事务本地侧日志811附加到日志812(图8),日志812被保持在存储器660(内存810,图8)并且持久地保存在磁盘(SSD/NVM 646(830(图8)))上。另外,为了可用性,将事务本地侧日志811复制到负责维持该分片的数据的副本的其他事务节点655中的每个。虽然分片的任何副本都可以处理针对该分片(多主)的任何事务请求,但是副本之一周期性地调用梳理操作或过程。该梳理操作扫描日志812,将来自同一表的多个(提交的)事务的日志块分组在一起,从而创建包含仅来自单个表的数据的较大的梳理后的块(参见例如图8,梳理后的数据855)。除了合并日志块之外,梳理操作还可以为数据项执行冲突解决930(图9)。然后将梳理后的数据块850转储(flush)到也是共享分布式文件系统的仅附加的(append-only)存储流中,以便其它节点也可以访问它们。在梳理一回后,梳理器修剪其已成功梳理的日志记录,使得其将不再占用资源,下一回的梳理可以从其停止的位置开始。
图7示出了根据一个实施例的在包括架构600(图6)的多主机分布式数据管理系统中的数据的生命周期示例700。在一个实施例中,数据的生命由近期数据701和旧数据702表示。近期数据701属于实时区(最新的)710,而旧数据属于梳理区711(例如,过时了约1秒)。事务节点655属于实时区710,并且接收需要最新数据的插入、更新和删除事务操作720和只读操作721。分析节点650属于梳理区711并且接收输入730,该输入包括:点查找731、业务智能操作732、以及机器学习(只读)操作733。如图所示,实时区710中的数据在其变成较旧的数据时被移动到梳理区711。
图8示出了根据一个实施例的在多主机分布式数据管理系统中梳理数据的示例800。如图所示,未提交的变更被记录/存储在由一个或多个日志块组成的事务本地侧日志811中。表的日志记录815包括日志(持久性的)812的日志块。事务将其事务本地侧日志811附加到既保存在存储器810中又存留在磁盘SSD/NVM 830上的日志812。在SSD/NVM 830中,日志812在记录835中被处理,并被暂存到高速缓存,作为高速缓存数据84。由梳理过程产生的梳理后的数据855被存储在共享文件系统850(或图6的存储器660)中。
图9示出了根据一个实施例的梳理评估过程的示例框图900。在高级示例框图900中,该过程包括针对包括记录日志中的每个记录的标识(IDs)的表执行表日志扫描910。表日志扫描910的输入包括表名和日志结束时间戳(用于有界限的扫描)。表日志扫描910的输出包括有界限的TSNs(BTSNs)(即,日志中的每个记录的记录IDs)。在框920,执行加载列过程。加载列将来自框910的BSTNs作为输入,并且输出列值。在一个实施例中,在框930中执行可选的冲突解决(例如,数据冲突等)。在框940,执行写表过程。写表过程将列值作为输入,并且输出TSNs(梳理后的块上的记录IDs)。下面参考图10进一步描述写表处理。在一个实施例中,针对表的每个索引执行对写/更新索引的可选处理。在一个实施例中,框950的输入是索引列和TSNs,并且输出是哈希值。
图10例示图9的梳理评估过程900的框940的示例写表过程。根据一个实施例。在框1010,写表过程从扫描表日志获得或接收下一输入步幅/批/组记录。在框1020,写表过程生成唯一性提交时间戳。在框1030,写表过程将记录的列附加到内存缓冲区,并生成梳理后的事务块的TSNs。在框1040,判定是否存在更多输入以及缓冲区是否未满。在存在更多输入且缓冲区未满的情况下,写表过程返回到框1010。否则,写表过程前进到框1050,将内存缓冲区内容转储到共享文件系统、对象存储区或本地高速缓存。在框1060,判定是否有更多输入可用。如果有更多输入可用,则写表过程返回到框1010。否则,写表过程前进到框1070,在框1070,写表过程将梳理结束点信息(即,日志结束点和最后一个被梳理的块ID)通知给分布式协调器(coordinator)。在框1080,写表过程将日志头移到梳理结束点之外,并在没有读过程剩余时修剪日志。
图11示出根据一个实施例的用于多主机分布式数据管理系统中的梳理事务操作的过程1100的框图。在一个实施例中,在框1110,过程1100在至少一个事务本地侧日志中维持事务操作。在框1120,对包括日志中的每个记录的记录标识的表执行表日志扫描。在框1130,将表中的每一列加载以基于标识的列值。在框1140,为记录生成TSN,并且基于列值将梳理后的事务块上的记录写入到表中。该表在处理多主机分布式数据管理系统中的事务操作的节点之间被共享/分片,以增加事务操作的处理的处理能力。
在一个实施例中,框1140可以进一步包括:从扫描表接收下一输入记录组;生成唯一性提交时间戳;将记录的列附加到内存缓冲区;以及生成被写到梳理后的事务块的记录的TSNs。在确定不存在其它的输入记录组并且内存缓冲区未满时,框1140进一步包括将内存缓冲区内容转储到共享文件系统、对象存储区或本地高速缓存中的至少一个。否则,过程1100返回去从扫描表接收下一输入记录组。
在一个实施例中,过程1100可进一步包括:如果没有另外的输入记录组可用,则向分布式协调器通知梳理结束点信息,将日志头移出梳理结束点外,并修剪日志,直到没有读过程剩余为止。
在一个实施例中,对于过程1100来说,事务操作包括更新、删除和插入操作。在成功的事务提交时,将事务本地侧日志附加到日志流。梳理过程仅读取日志并避免未提交的事务变更。执行梳理过程的线程在日志上维持游标,作为先前梳理周期的指示。
在一个实施例中,对于日志流中的过程1100来说,将游标指向的位置之前的点标记为删除。当确定日志流的一部分中不存在正在进行的读操作时,修剪过程删除日志流的该部分。梳理过程和读操作前一个梳理周期之后发生,使得数据的读操作是单调的(monotonic)。梳理过程仅读取具有小于梳理过程的开始时间的提交时间戳的日志流,使得梳理周期具有有界限的的执行时间。
在一个实施例中,过程1100可以提供由周期性后台过程在梳理过程之后用结束时间戳标记更新后的记录,使得更新后的记录被需要最新数据的读过程或读取特定时间段的数据的读过程忽略。
在一个实施例中,过程1100可包括多主机分布式数据管理系统在两个存储层上操作,所述两个存储层包括:节点本地的第一存储层;以及包括分布式共享文件系统或对象存储区的第二存储层。第一存储层维持日志的持久版本,所述持久版本在恢复期间由梳理过程用来从梳理过程在前一个周期中停止的地方开始梳理,第一存储层还将第二存储层被频繁访问的部分高速缓存起来以使得能够快速访问数据。第二存储层维持数据流并使数据流可用于多主机分布式数据管理系统中的所有节点。
如本领域技术人员将认识到的,本发明的各方面可以体现为系统、方法或计算机程序产品。相应地,本发明的多个方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合了软件和硬件方面的实施例的形式,这些实施例在此可以全部统称为“电路”、“模块”或“系统”。此外,本发明的各方面可以采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质具有体现在其上的计算机可读程序代码。
可以利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于电子、磁性、光学、电磁、红外或半导体系统、装置或设备,或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)将包括以下:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文档的上下文中,计算机可读存储介质可以是能够包含或存储程序的任何有形介质,该程序由指令执行系统、装置或设备使用或结合指令执行系统、装置或设备使用。
计算机可读信号介质可以包括在基带中或者作为载波的一部分在其中体现有计算机可读程序代码的传播数据信号。这种传播信号可采取多种形式中的任一种,包括但不限于电磁、光学或其任何合适的组合。计算机可读信号介质可为并非计算机可读存储介质且可传送、传播或传输供指令执行系统、设备或装置使用或结合指令执行系统、设备或装置使用的程序的任何计算机可读介质。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以用一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言一诸如“C”编程语言或类似的编程语言。程序代码可以完全地在用户的计算机上执行、部分地在用户的计算机上执行、作为独立的软件包执行、部分地在用户的计算机上部分在远程计算机上执行、或者完全地在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。
参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其他可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其他可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品。
计算机程序指令也可以加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机或其他可编程装置上执行的指令提供用于实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
附图中的流程图和框图例示了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。对此,流程图或框图中的每个方框可以代表模块、段或指令的一部分,其包括用于实现规定的逻辑功能的一个或多个可执行指令。在一些替代实现方式中,框中所标注的功能可以不按图中所标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。还将注意的是,框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合可以由基于专用硬件的系统来实现,所述基于专用硬件的系统执行指定的功能或动作或执行专用硬件与计算机指令的组合。
除非明确声明,否则在权利要求中对单数形式的要素的引用并不旨在表示“一个且仅仅”,而是表示“一个或多个”。本领域普通技术人员当前已知或以后变得已知的上述示范性实施例的要素的所有结构和功能等效物旨在被本权利要求涵盖。本文中的权利要求要素,除非是明确地使用短语“用于……的装置”或“用于……的步骤”叙述的,否则不应根据美国法典第35条第112款第6段的规定作解释。
本文中使用的术语仅用于描述具体实施例的目的并且不旨在限制本发明。如在此使用的,单数形式“一”、“某”、“该”,除非上下文另外明确指出,否则旨在也包括复数形式。将进一步理解,术语“包括”和/或“包含”,当在本说明书中使用时,指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其他特征、整数、步骤、操作、元件、组件和/或其群组的存在或添加。
以下权利要求中的所有装置或步骤加上功能要素的对应结构、材料、动作和等效物旨在包括用于结合如具体要求保护的其他权利要求要素来执行功能的任何结构、材料或动作。本发明的描述是出于例示和说明的目的而呈现的,但不旨在是穷尽性的或局限于所披露的形式的发明。在不脱离本发明的范围和精神的情况下,许多修改和变化对本领域的普通技术人员将是显而易见的。所选择和描述的实施例是为了最好地解释本发明的原理和实际应用,并使得本领域普通技术人员能够为具有适合于所考虑的特定用途的不同修改的不同实施例而理解本发明。
Claims (16)
1.一种用于梳理多主机分布式数据管理系统中的事务操作的方法,包括:
在至少一个事务本地侧日志中维持事务操作;
为包括日志中的每个记录的记录标识的表执行表日志扫描;
基于所述标识向表中的每一列加载列值;生成所述记录的元组序列号并且基于所述列值将梳理后的事务块上的所述记录写入表,
其中,将表在处理多主机分布式数据管理系统中的事务操作的节点之间分片,以增加事务操作的处理的处理能力;
事务操作包括更新、删除和插入操作;
在成功的事务提交时,将事务本地侧日志附加到所述日志的流;
梳理过程只读取日志并避免未提交的事务变更;
执行梳理过程的线程在日志上维持作为前一个梳理周期的指示的游标;
将所述游标指向的位置之前的日志流中的点标记为删除;
修剪过程在确定日志流的一部分中不存在正在进行的读操作时删除日志流的该部分;和
梳理过程和读操作都在前一个梳理周期之后发生,使得数据的读操作是单调的。
2.根据权利要求1所述的方法,其中所述写入进一步包括:
从扫描表接收下一输入记录组;
生成唯一性提交时间戳;
将所述记录的列附加到内存缓冲区;和
生成写入梳理后的事务块的所述记录的元组序列号。
3.根据权利要求2所述的方法,其中,在确定不存在其它的输入记录组并且内存缓冲区未满时,将内存缓冲区转储清除到共享文件系统、对象存储区或本地高速缓存中的至少一个。
4.根据权利要求3所述的方法,进一步包括:
如果另外的输入记录组不可用,则向分布式协调器通知梳理结束点信息;
将日志头移出梳理结束点外;和
修剪日志,直到没有读处理剩余。
5.根据权利要求1所述的方法,其中:
梳理过程仅读取具有小于所述梳理过程的开始时间的提交时间戳的日志流,使得梳理周期具有有界限的执行时间。
6.根据权利要求5所述的方法,其中:
由周期性后台进程在梳理过程之后用结束时间戳标记更新后的记录,使得更新后的记录被需要最新数据的读过程或被从特定时间段读数据的读过程忽略。
7.根据权利要求5所述的方法,其中:
多主机分布式数据管理系统在两个存储层上操作,所述两个存储层包括:节点本地的第一存储层,和包括分布式共享文件系统或对象存储区的第二存储层;
第一存储层维持日志的持久版本,所述持久版本在恢复期间由梳理过程用来从梳理过程在前一个周期中停止的地方开始梳理,第一存储层还将第二存储层被频繁访问的部分高速缓存起来以使得能够快速访问数据;和
第二存储层维持数据流并使数据流可用于多主机分布式数据管理系统中的所有节点。
8.一种用于在多主机分布式数据管理系统中梳理事务操作的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质具有随其体现的程序指令,所述程序指令可由处理器执行以使得所述处理器:
由所述处理器在至少一个事务本地侧日志中维持事务操作;
由所述处理器为包括日志中的每个记录的记录标识的表执行表日志扫描;
由所述处理器基于所述标识向表中的每一列加载列值;
生成所述记录的元组序列号并且基于所述列值将梳理后的事务块上的所述记录写入表,
其中,将表在处理多主机分布式数据管理系统中的事务操作的节点之间分片,以增加事务操作的处理的处理能力;
事务操作包括更新、删除和插入操作;
在成功的事务提交时,将事务本地侧日志附加到所述日志的流;
梳理过程只读取日志并避免未提交的事务变更;
执行梳理过程的线程在日志上维持作为前一个梳理周期的指示的游标;
将所述游标指向的位置之前的日志流中的点标记为删除;
修剪过程在确定日志流的一部分中不存在正在进行的读操作时删除日志流的该部分;和
梳理过程和读操作都在前一个梳理周期之后发生,使得数据的读操作是单调的。
9.根据权利要求8所述的计算机程序产品,其中,所述写入进一步包括可由所述处理器执行以致使所述处理器进行以下操作的程序指令:
由所述处理器从扫描表接收下一输入记录组;
由所述处理器生成唯一性提交时间戳;
由所述处理器将所述记录的列附加到内存缓冲区;和
由所述处理器生成写入梳理后的事务块的所述记录的元组序列号。
10.根据权利要求9所述的计算机程序产品,其中,在确定不存在其它的输入记录组并且内存缓冲区未满时,将内存缓冲区转储清除到共享文件系统、对象存储区或本地高速缓存中的至少一个。
11.根据权利要求10所述的计算机程序产品,该写入进一步包括可由所述处理器执行以致使所述处理器进行以下操作的程序指令:
如果另外的输入记录组不可用,则向分布式协调器通知梳理结束点信息;
将日志头移出梳理结束点外;和
修剪日志,直到没有读处理剩余。
12.根据权利要求8所述的计算机程序产品,其中:
梳理过程仅读取具有小于所述梳理过程的开始时间的提交时间戳的日志流,使得梳理周期具有有界限的执行时间;
由周期性后台进程在梳理过程之后用结束时间戳标记更新后的记录,使得更新后的记录被需要最新数据的读过程或被从特定时间段读数据的读过程忽略;
多主机分布式数据管理系统在两个存储层上操作,所述两个存储层包括:节点本地的第一存储层,和包括分布式共享文件系统或对象存储区的第二存储层;
第一存储层维持日志的持久版本,所述持久版本在恢复期间由梳理过程用来从梳理过程在前一个周期中停止的地方开始梳理,第一存储层还将第二存储层被频繁访问的部分高速缓存起来以使得能够快速访问数据;和
第二存储层维持数据流并使数据流可用于多主机分布式数据管理系统中的所有节点。
13.一种用于梳理多主机分布式数据管理系统中的事务操作的装置,包括:
存储器,被配置以存储指令;和
处理器,被配置以执行所述指令以:
在至少一个事务本地侧日志中维持事务操作;为包括日志中的每个记录的记录标识的表执行表日志扫描;基于所述标识向表中的每一列加载列值;和生成所述记录的元组序列号并且基于所述列值将梳理后的事务块上的所述记录写入表,
其中,将表在处理多主机分布式数据管理系统中的事务操作的节点之间分片,以增加事务操作的处理的处理能力;
事务操作包括更新、删除和插入操作;
在成功的事务提交时,将事务本地侧日志附加到所述日志的流;
梳理过程只读取日志并避免未提交的事务变更;
执行梳理过程的线程在日志上维持作为前一个梳理周期的指示的游标;
将所述游标指向的位置之前的日志流中的点标记为删除;
修剪过程在确定日志流的一部分中不存在正在进行的读操作时删除日志流的该部分;和
梳理过程和读操作都在前一个梳理周期之后发生,使得数据的读操作是单调的。
14.根据权利要求13所述的装置,其中,所述写入进一步包括:
从扫描表接收下一输入记录组;
生成唯一性提交时间戳;
将所述记录的列附加到内存缓冲区;和
生成写入梳理后的事务块的所述记录的元组序列号,
其中,在确定不存在其它的输入记录组并且内存缓冲区未满时,将内存缓冲区转储清除到共享文件系统、对象存储区或本地高速缓存中的至少一个。
15.根据权利要求14所述的装置,其中,所述处理器被配置以执行所述指令以:
如果另外的输入记录组不可用,则向分布式协调器通知梳理结束点信息;
将日志头移出梳理结束点外;和
修剪日志,直到没有读处理剩余。
16.根据权利要求13所述的装置,其中:
梳理过程仅读取具有小于所述梳理过程的开始时间的提交时间戳的日志流,使得梳理周期具有有界限的执行时间;
由周期性后台进程在梳理过程之后用结束时间戳标记更新后的记录,使得更新后的记录被需要最新数据的读过程或被从特定时间段读数据的读过程忽略;
多主机分布式数据管理系统在两个存储层上操作,所述两个存储层包括:节点本地的第一存储层,和包括分布式共享文件系统或对象存储区的第二存储层;
第一存储层维持日志的持久版本,所述持久版本在恢复期间由梳理过程用来从梳理过程在前一个周期中停止的地方开始梳理,第一存储层还将第二存储层被频繁访问的部分高速缓存起来以使得能够快速访问数据;和
第二存储层维持数据流并使数据流可用于多主机分布式数据管理系统中的所有节点。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/908,437 US10430100B2 (en) | 2018-02-28 | 2018-02-28 | Transactional operations in multi-master distributed data management systems |
US15/908,437 | 2018-02-28 | ||
PCT/IB2019/051521 WO2019166940A2 (en) | 2018-02-28 | 2019-02-26 | Transactional operations in multi-master distributed data management systems |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111801661A CN111801661A (zh) | 2020-10-20 |
CN111801661B true CN111801661B (zh) | 2024-05-24 |
Family
ID=67684520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980014699.8A Active CN111801661B (zh) | 2018-02-28 | 2019-02-26 | 多主机分布式数据管理系统中的事务操作 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10430100B2 (zh) |
JP (1) | JP7221975B2 (zh) |
CN (1) | CN111801661B (zh) |
DE (1) | DE112019000321T5 (zh) |
GB (1) | GB2586373B (zh) |
WO (1) | WO2019166940A2 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10116436B1 (en) * | 2017-09-26 | 2018-10-30 | Intel Corporation | Techniques for preventing memory timing attacks |
US10430100B2 (en) * | 2018-02-28 | 2019-10-01 | International Business Machines Corporation | Transactional operations in multi-master distributed data management systems |
US11182356B2 (en) * | 2019-05-23 | 2021-11-23 | International Business Machines Corporation | Indexing for evolving large-scale datasets in multi-master hybrid transactional and analytical processing systems |
US10956062B2 (en) * | 2019-07-09 | 2021-03-23 | International Business Machines Corporation | Aggregating separate data within a single data log wherein single data log is divided in a plurality of blocks assigned to plurality of different streams |
CN111566611B (zh) | 2019-09-12 | 2023-08-04 | 创新先进技术有限公司 | 日志结构存储系统 |
SG11202002732TA (en) | 2019-09-12 | 2020-04-29 | Alibaba Group Holding Ltd | Log-structured storage systems |
SG11202002588RA (en) * | 2019-09-12 | 2020-04-29 | Alibaba Group Holding Ltd | Log-structured storage systems |
WO2019228568A2 (en) | 2019-09-12 | 2019-12-05 | Alibaba Group Holding Limited | Log-structured storage systems |
EP3682340A4 (en) | 2019-09-12 | 2020-12-02 | Advanced New Technologies Co., Ltd. | LOG-STRUCTURED STORAGE SYSTEMS |
US10942852B1 (en) | 2019-09-12 | 2021-03-09 | Advanced New Technologies Co., Ltd. | Log-structured storage systems |
EP3669268A4 (en) | 2019-09-12 | 2020-12-23 | Alibaba Group Holding Limited | NEWSPAPER STRUCTURE STORAGE SYSTEMS |
WO2019228572A2 (en) | 2019-09-12 | 2019-12-05 | Alibaba Group Holding Limited | Log-structured storage systems |
SG11202002587TA (en) | 2019-09-12 | 2020-04-29 | Alibaba Group Holding Ltd | Log-structured storage systems |
CN113076313B (zh) * | 2021-03-29 | 2022-06-07 | 福建新大陆通信科技股份有限公司 | 一种应急广播数据仓储方法 |
CN113918654B (zh) * | 2021-12-07 | 2022-04-01 | 深圳前海微众银行股份有限公司 | 一种区块数据提交的方法及装置 |
CN114201551B (zh) * | 2021-12-07 | 2024-07-30 | 建信金融科技有限责任公司 | 数据存储方法和数据存储装置 |
CN116955510B (zh) * | 2023-06-06 | 2024-05-14 | 易智瑞信息技术有限公司 | 基于数据湖的空间数据版本化管理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103548010A (zh) * | 2011-05-23 | 2014-01-29 | 微软公司 | 分布式存储环境中的同步复制 |
CN105210060A (zh) * | 2013-03-28 | 2015-12-30 | 微软技术许可有限责任公司 | 用于持久系统中的数据库的事务处理 |
WO2018001200A1 (zh) * | 2016-06-29 | 2018-01-04 | 中兴通讯股份有限公司 | 数据处理方法、集群管理器、资源管理器、数据处理系统 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0535552A (ja) * | 1991-08-01 | 1993-02-12 | Casio Comput Co Ltd | フアイル管理装置 |
JP4111910B2 (ja) * | 2003-12-26 | 2008-07-02 | 富士通株式会社 | ディスクキャッシュ装置 |
US20060112152A1 (en) | 2004-11-22 | 2006-05-25 | Microsoft Corporation | Smart patching by targeting particular prior versions of a file |
US20070289028A1 (en) | 2006-06-12 | 2007-12-13 | Software Spectrum, Inc. | Time Bound Entitlement for Digital Content Distribution Framework |
US20080162518A1 (en) * | 2007-01-03 | 2008-07-03 | International Business Machines Corporation | Data aggregation and grooming in multiple geo-locations |
US8631397B2 (en) | 2008-03-31 | 2014-01-14 | Microsoft Corporation | Virtualized application image patching |
US8200614B2 (en) | 2008-04-30 | 2012-06-12 | SAP France S.A. | Apparatus and method to transform an extract transform and load (ETL) task into a delta load task |
JP5343399B2 (ja) * | 2008-05-22 | 2013-11-13 | 富士通株式会社 | 管理プログラム、管理方法、及び管理装置 |
CN101382949B (zh) * | 2008-10-28 | 2011-09-07 | 阿里巴巴集团控股有限公司 | 一种数据库表的管理方法及装置 |
US8762333B2 (en) | 2009-07-08 | 2014-06-24 | Pivotal Software, Inc. | Apparatus and method for read optimized bulk data storage |
US8725782B2 (en) * | 2011-04-25 | 2014-05-13 | Microsoft Corporation | Virtual disk storage techniques |
US8793467B2 (en) * | 2011-09-30 | 2014-07-29 | Pure Storage, Inc. | Variable length encoding in a storage system |
US9747293B2 (en) | 2012-02-28 | 2017-08-29 | Deep Information Sciences, Inc. | Method and system for storage and retrieval of information |
US9031911B2 (en) | 2012-06-05 | 2015-05-12 | International Business Machines Corporation | Preserving past states of file system nodes |
US9323748B2 (en) | 2012-10-22 | 2016-04-26 | Ab Initio Technology Llc | Profiling data with location information |
US9201738B2 (en) | 2013-08-14 | 2015-12-01 | Globalfoundries Inc. | Method, computer readable storage medium and computer system for obtaining snapshots of data |
CN107148617B (zh) * | 2014-09-19 | 2020-07-28 | 亚马逊科技公司 | 日志协调存储组的自动配置 |
US10031934B2 (en) * | 2014-09-30 | 2018-07-24 | International Business Machines Corporation | Deleting tuples using separate transaction identifier storage |
US9736243B2 (en) | 2014-12-12 | 2017-08-15 | Microsoft Technology Licensing, Llc | Multiple transaction logs in a distributed storage system |
US10169439B2 (en) | 2015-06-19 | 2019-01-01 | Sap Se | Multi-source asynchronous table replication |
US9935973B2 (en) | 2015-12-16 | 2018-04-03 | Carbonite, Inc. | Systems and methods for automatic detection of malicious activity via common files |
US11157517B2 (en) * | 2016-04-18 | 2021-10-26 | Amazon Technologies, Inc. | Versioned hierarchical data structures in a distributed data store |
US10187249B2 (en) | 2016-04-29 | 2019-01-22 | Cisco Technology, Inc. | Distributed metric data time rollup in real-time |
US11442823B2 (en) * | 2016-06-03 | 2022-09-13 | International Business Machines Corporation | Transaction consistency query support for replicated data from recovery log to external data stores |
US10761946B2 (en) * | 2017-02-10 | 2020-09-01 | Sap Se | Transaction commit protocol with recoverable commit identifier |
US10430100B2 (en) * | 2018-02-28 | 2019-10-01 | International Business Machines Corporation | Transactional operations in multi-master distributed data management systems |
-
2018
- 2018-02-28 US US15/908,437 patent/US10430100B2/en active Active
-
2019
- 2019-02-26 GB GB2014833.4A patent/GB2586373B/en active Active
- 2019-02-26 DE DE112019000321.6T patent/DE112019000321T5/de active Pending
- 2019-02-26 JP JP2020542134A patent/JP7221975B2/ja active Active
- 2019-02-26 CN CN201980014699.8A patent/CN111801661B/zh active Active
- 2019-02-26 WO PCT/IB2019/051521 patent/WO2019166940A2/en active Application Filing
- 2019-06-27 US US16/455,579 patent/US11119678B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103548010A (zh) * | 2011-05-23 | 2014-01-29 | 微软公司 | 分布式存储环境中的同步复制 |
CN105210060A (zh) * | 2013-03-28 | 2015-12-30 | 微软技术许可有限责任公司 | 用于持久系统中的数据库的事务处理 |
WO2018001200A1 (zh) * | 2016-06-29 | 2018-01-04 | 中兴通讯股份有限公司 | 数据处理方法、集群管理器、资源管理器、数据处理系统 |
Also Published As
Publication number | Publication date |
---|---|
DE112019000321T5 (de) | 2020-10-08 |
GB202014833D0 (en) | 2020-11-04 |
US11119678B2 (en) | 2021-09-14 |
GB2586373A (en) | 2021-02-17 |
US20190265891A1 (en) | 2019-08-29 |
US20190317666A1 (en) | 2019-10-17 |
CN111801661A (zh) | 2020-10-20 |
WO2019166940A2 (en) | 2019-09-06 |
WO2019166940A3 (en) | 2019-10-17 |
JP2021515294A (ja) | 2021-06-17 |
GB2586373B (en) | 2022-04-27 |
US10430100B2 (en) | 2019-10-01 |
JP7221975B2 (ja) | 2023-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111801661B (zh) | 多主机分布式数据管理系统中的事务操作 | |
US10725976B2 (en) | Fast recovery using self-describing replica files in a distributed storage system | |
US10896098B2 (en) | Providing and managing data protection by using incremental forever for storage to cloud object stores | |
US20190018844A1 (en) | Global namespace in a heterogeneous storage system environment | |
US11487727B2 (en) | Resolving versions in an append-only large-scale data store in distributed data management systems | |
US11150981B2 (en) | Fast recovery from failures in a chronologically ordered log-structured key-value storage system | |
CN111684437B (zh) | 按时间顺序排序的错位更新键-值存储系统 | |
US10552404B2 (en) | Retrospective snapshots in log-structured storage systems | |
US10140054B2 (en) | Retrospective snapshots in log structured storage systems | |
US20230006814A1 (en) | Method and apparatus for implementing changes to a file system that is emulated with an object storage system | |
US11163636B2 (en) | Chronologically ordered log-structured key-value store from failures during garbage collection | |
US11416468B2 (en) | Active-active system index management | |
US11249967B1 (en) | Database access performance improvement |
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 |