WO2025004086A1 - System and method to overcome data race conditions in a database - Google Patents
System and method to overcome data race conditions in a database Download PDFInfo
- Publication number
- WO2025004086A1 WO2025004086A1 PCT/IN2024/050638 IN2024050638W WO2025004086A1 WO 2025004086 A1 WO2025004086 A1 WO 2025004086A1 IN 2024050638 W IN2024050638 W IN 2024050638W WO 2025004086 A1 WO2025004086 A1 WO 2025004086A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- database
- changes
- alarms
- stored
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/2358—Change logging, detection, and notification
Definitions
- a portion of the disclosure of this patent document contains material, which is subject to intellectual property rights such as but are not limited to, copyright, design, trademark, integrated circuit (IC) layout design, and/or trade dress protection, belonging to Jio Platforms Limited (JPL) or its affiliates (hereinafter referred as owner).
- JPL Jio Platforms Limited
- owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights whatsoever. All rights to such intellectual property are fully reserved by the owner.
- the present disclosure relates to the field of Database Management Systems (DBMS) and data integration. More precisely, it relates to a system for an automated Change Data Capture (CDC) mechanism to overcome a data race conditions in a database.
- DBMS Database Management Systems
- CDC Change Data Capture
- the organizations may at times need to move data between different database environments. For example, to create a backup of the data, or to enable sharing of the data between different database applications.
- the data replication systems help address this need, for example by detecting and replicating changes to the data in a database table, as a result of row operations, rather than copying the entire table and the data therein.
- the data replication systems can be used to synchronize the data in a target database with the data in a source database.
- Data race conditions happens whenever two processes update the database simultaneously. They occur when multiple threads or processes access shared data concurrently without proper synchronization, leading to unpredictable and erroneous behavior. Data race conditions can result in incorrect data insertion and sometimes leads to data corruptions. Data race conditions arise when at least two threads or processes perform simultaneous read and write operations on the same shared data, and at least one of the operations is a write . The exact interleaving and timing of these operations become unpredictable, potentially leading to inconsistent or unexpected results. Further, the data race conditions may lead to improper updating of the data.
- the present invention discloses a method for mitigating data race conditions in a database.
- the method comprising requesting, by two or more data sources, one or more changes to be performed on a data stored in the database.
- the method comprising capturing the requested one or more changes in a streaming job to generate one or more alarms related to the one or more changes.
- the method comprising generating one or more logs related to the captured one or more changes.
- the method comprising determining a type of operation to be performed on the stored data based on the one or more generated logs and the one or more generated alarms.
- the method comprising responsive to determining, performing the type of operation on the data stored in the database.
- the one or more changes are related to performing data manipulation operations on the data in the database.
- the data manipulation operations include at least one of an insert operation, an update operation, or a delete operation.
- the one or more alarms include messages indicating the one or more changes to be performed on the data in the database.
- the messages are stored in a distributed event streaming platform.
- the one or more alarms include at least one of a new alarm or a clear alarm.
- the new alarm indicates performing the insert operation on the data in the database.
- an insert query is created when the new alarm is generated.
- the clear alarm indicates performing the update operation on the data in the database.
- the update operation includes updating the data with a clear time as indicated in the clear alarm.
- the present invention discloses a system for mitigating data race conditions in a database.
- the system comprising a receiving unit configured for receiving a request, from two or more data sources, for performing one or more changes on a data stored in the database.
- the receiving unit configured for capturing the requested one or more changes in a streaming job to generate one or more alarms related to the one or more changes.
- a processing unit configured for generating one or more logs related to the captured one or more changes and determining a type of operation to be performed on the stored data based on the one or more generated logs and the one or more generated alarms.
- the processing unit configured for responsive to determining, performing the type of operation on the data stored in the database.
- the one or more changes are related to performing data manipulation operations on the data in the database.
- the data manipulation operations include at least one of an insert operation, an update operation, or a delete operation.
- the one or more alarms include messages indicating the one or more changes to be performed on the data in the database.
- the one or more alarms include at least one of a new alarm or a clear alarm.
- the new alarm indicates performing the insert operation on the data in the database.
- an insert query is created when the new alarm is generated.
- the clear alarm indicates performing the update operation on the data in the database.
- the update operation includes updating the data with a clear time as indicated in the clear alarm.
- system further configured for storing the updated data with the clear time to a history table of a distributed computing framework.
- FIG. 2 illustrates an exemplary block diagram of all the modules of the system, in accordance with an embodiment of the present disclosure.
- FIG. 3 illustrates an exemplary flow structure of a sample data race condition, in accordance with an embodiment of present disclosure.
- FIG. 4 illustrates an exemplary flow diagram of a sample CDC operation, in accordance with an embodiment of the present disclosure.
- FIG. 5 illustrates a block diagram of a sample CDC operation, in accordance with an embodiment of the present disclosure.
- FIG. 6 illustrates an exemplary computer system in which or with which embodiments of the present invention can be utilized, in accordance with an embodiment of present disclosure.
- FIG. 7 illustrates a flow diagram of a method for mitigating data race conditions in a database, in accordance with an embodiment of the present disclosure.
- CPU Central processing unit
- individual embodiments may be described as a process that is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed but could have additional steps not included in a figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination can correspond to a return of the function to the calling function or the main function.
- exemplary and/or “demonstrative” is used herein to mean serving as an example, instance, or illustration.
- the subject matter disclosed herein is not limited by such examples.
- any aspect or design described herein as “exemplary” and/or “demonstrative” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art.
- the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive like the term “comprising” as an open transition word without precluding any additional or other elements.
- the present invention provides improved techniques that can overcome the race conditions in an effective manner.
- the present invention employes a change data capture (CDC) technique that is used to identify and capture changes made to data in a database or data source.
- the CDC captures and records all data modifications, including inserts, updates, and deletes, as they occur, enabling real-time or near-real-time synchronization and replication of data between systems.
- the CDC employs an open-source distributed platform captures changes in data from the streaming data and flags them as “insert, modify and delete” for further processing.
- the distributed platform connects to the database’s, usually Structured Query Language (SQL) databases, transaction log or replication log, depending on the supported database system.
- SQL Structured Query Language
- the distributed platform reads the log in a non-intrusive manner, without impacting the performance or integrity of the database.
- the distributed platform extracts the captured changes from the database log, including inserts, updates, and deletes.
- the distributed platform translates these changes into a standardized representation of events.
- the extracted change events are serialized into a specific format, such as JSON or Avro. The serialization enables the events to be easily transmitted and consumed by downstream systems.
- the distributed platform distributes the serialized change events to downstream systems using an open-source distributed streaming platform that acts as a scalable and fault-tolerant platform, ensuring reliable delivery of the change events to consumers.
- the present disclosure employs the CDC mechanism with the open source distributed platform to achieve a real-time, event-driven architecture where changes in databases are efficiently captured, converted, and propagated for downstream consumption.
- changes can be made in a database to create, read, update and delete data and to overcome any race conditions due to which data may not get updated in the database properly.
- DBMS Database Management Systems
- CDC Change Data Capture
- Fig. 1 presents a schematic of a system (100) designed for the mitigation of data race conditions by employing the methodology of CDC, in accordance with one embodiment of the present disclosure. The depiction is aligned with the current embodiment, where the system (100) integrates a multitude of components to facilitate the real-time synchronization and processing of data modifications emanating from diverse sources.
- the system (100) includes an element management system (vendor) (EMS) (102).
- the EMS (102) executes the transmission of feature data using a Location Based Service (104) alongside a User Datagram Protocol (UDP) Server (106).
- the Vendor EMS (102) is configured for dispatching data pertinent to the manufacturing process, such as telemetry from machinery or production metrics to central data processing facilities.
- the Simple Network Management Protocol (SNMP) Parser (108) analyses the data.
- the SNMP parser (108) is a component that is configured to interpret and analyze SNMP messages or packets.
- the SNMP parser is a protocol used for network management and monitoring, allowing network administrators to manage devices and monitor their performance.
- the SNMP parser typically takes raw SNMP messages or packets as input and parses them to extract relevant information such as device status, performance metrics, or configuration data. This parsed information can then be processed, displayed, or used for various network management tasks.
- the SNMP Parser (108) operates as a diagnostic tool that deciphers and categorizes data, similar to how a sensor array interprets various stimuli. For example, it might categorize data packets based on urgency or type of data, such as distinguishing between normal operational data and error messages.
- the processed information is then relayed to the first Event Streaming Platform (110), which includes integral components, such as a second event streaming platform (122) and athird event streaming platform (126).
- the first Event Streaming Platform 110
- integral components such as a second event streaming platform (122) and athird event streaming platform (126).
- the Distributed File System (116) serves as the data archival system connected to the Event Streaming Platform (110).
- the Distributed File System (116) acts as a vast library, archiving vast amounts of data for future reference or analysis. In practical terms, it could store historical production data for trend analysis or maintain logs for compliance purposes.
- the system (100) includes a fault management (FM) Streaming module (112) for establishing a connection with a Database (114).
- the FM streaming module (112) implements a distributed computational task to efficiently handle events related to data changes and alarm management.
- Working alongside the Database (114) is an active reconciliation component (118), operational through a data processing task.
- the active reconciliation component (118) is configured for quality assurance process, verifying the accuracy and consistency of data after it undergoes changes. By utilizing distributed data processing capabilities, the active reconciliation component (118) can, for example, ensure that transaction records from multiple retail locations are harmonized and accurately reflected in a central inventory system.
- the system (100) further includes the CDC module (120) for capturing and coordinating data operations to avert race conditions.
- the CDC module (120) conducts continuous surveillance over the database (114), much like a surveillance system overseeing a secured facility, to log any alterations within the data, ensuring that all transactions are recorded, and no conflicting operations occur.
- the system (100) is equipped with an Alarm History & Active component (128) interfacing with a database (130), a database dedicated to the supervision of active alarms.
- the database (130) can be likened to a dynamic ledger, capable of recording new transactions such as alarm activations and updating existing ones when an alarm is resolved. For example, when a security breach is detected and then neutralized, the database (130) logs the event and updates the status accordingly.
- a column-oriented, nonrelational database management system (132) is utilized, coupled with a distributed fde system (136).
- This pairing functions similarly to a museum archive, where past exhibits, in this case, alarm histories, are catalogued and stored for retrospective examination or compliance checks, facilitated by a Historical Data Reconciliation component (134) that uses a distributed computational task.
- FIG. 2 provides an exemplary system (100) configured to manage and synchronize data alterations within a database environment, in accordance with one embodiment.
- the processing unit (208) may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, logic circuitries, and/or any devices that process data based on operational instructions.
- the processing unit (208) may be configured to fetch and execute computer-readable instructions stored in a memory (204) of the system (100).
- the memory (204) may be configured to store one or more computer-readable instructions or routines in a non-transitory computer readable storage medium.
- the memory (204) may comprise any non-transitory storage device including, for example, volatile memory such as random-access memory (RAM), or non-volatile memory such as erasable programmable read only memory (EPROM), flash memory, and the like.
- the interfacing unit (206) may comprise a variety of interfaces, for example, interfaces for data input and output devices (RO), storage devices, and the like.
- the interfacing unit (206) may facilitate communication through the system (100).
- the interfacing unit (206) may also provide a communication pathway for various other units/modules (216) of the system (100).
- the log module (210) is configured for addressing potential data race conditions by capturing and maintaining a consistent and reliable record of data changes.
- the log module (210) employs a Write-Ahead Logging strategy, which ensures changes are recorded in a log before being applied to the database (218).
- the processing unit (208) supports integration with database (218) allowing the database (218) to capture changes from diverse data sources.
- the database (218) may include relational databases, NoSQL databases, or message queues.
- the processing unit (208) is capable of capturing and monitoring changes made to the source data in real-time or near real-time.
- the processing unit (208) also detects and extracts the individual data modifications, including inserts, updates, and deletes.
- the log module (210) is configured to overcome data race conditions and ensure reliable and accurate capture of data changes.
- the log module (210) is implemented for providing durability, atomicity, and consistency during the change capture process.
- the log module (210) ensures atomicity and durability of data changes which further ensures that a transaction's changes are either entirely committed or entirely rolled back.
- the log module (210) prevents partial or inconsistent updates to the shared data and avoids data race conditions resulting from incomplete transactions.
- the log module (210) also follows a Write- Ahead Logging strategy, where changes are first written to the log before being applied to the database. This provides a reliable record of the changes and helps in recovering from failures or crashes.
- the CDC module (212) can use the log to recover and reapply the captured changes, ensuring data integrity.
- the log module (210) may employ synchronization mechanisms, such as locks or semaphores, to ensure exclusive access to the log during write operations. This prevents multiple threads from concurrently writing to the log, preventing data race conditions.
- the log module (210) provides the necessary synchronization, atomicity, and durability guarantees, reducing the chances of data race conditions and ensuring reliable and accurate change capture.
- the database (218) offers functionality to manage the capture, storage, and retrieval of data changes.
- the database (218) employs various transaction isolation levels and locking mechanisms to regulate access to shared data, ensuring that operations, such as inserts, updates, and deletes are executed in a controlled manner.
- the database (218) also contributes to managing the capture, storage, and retrieval of data changes in a concurrent and synchronized manner.
- the database (218) provides appropriate transaction isolation levels to ensure that concurrent transactions do not interfere with each other. Isolation levels like Serializable or Repeatable Read can be implemented to prevent data races by providing consistency and preventing dirty reads, non-repeatable reads, and phantom reads.
- the database (218) implements a locking and concurrency control mechanisms to regulate access to shared data.
- the database (218) can ensure exclusive access during data capture and prevent concurrent modifications that may lead to data races.
- the database (218) can provide mechanisms for change tracking and logging. This can be achieved through transaction logs, change tables, or triggers that capture data modifications at the source database. These logs and change tables serve as reliable sources of captured changes and help overcome data race conditions by providing an ordered and accurate record of modifications.
- the CDC module (212) is configured for avoiding the race condition in the database (218) when two or more sources are trying to access the data in the database (218).
- a CDC architecture s used which refers to the process of identifying and capturing changes made to the data in the database (218) and then delivering those changes in real-time to a downstream process/system.
- a synchronization module (214) is configured for implementing a synchronization to facilitate a concurrent access to shared resources. It implements locks, such as mutexes or semaphores, that can be utilized to achieve mutual exclusion and synchronize access to shared resources.
- Atomic operations provide a way to perform operations on shared resources in an indivisible and thread-safe manner. These operations ensures that no other thread can access the shared resource simultaneously, preventing race conditions. Examples include atomic variables or compare-and-swap instructions.
- the synchronization module (214) also utilizes database transaction mechanisms that can help overcome data race conditions. By encapsulating multiple operations within a transaction, the database ensures atomicity and isolation. The synchronization module (214) allows for consistency by providing a well-defined commit point, ensuring that either all changes within a transaction are applied, or none of them are.
- the other executing modules in the processing unit (208) are used for all other executing processes in the system.
- the modules within the processing unit (208) are configured to integrate various types of source databases (218), including relational databases, NoSQL databases, ormessage queues.
- source databases including relational databases, NoSQL databases, ormessage queues.
- the system (100) is enabled to monitor and capture data changes in real-time or near real-time from a wide array of data sources, reflecting the system’s versatility and adaptability in different database environments.
- FIG. 3 illustrates a flow diagram (300) of an exemplary flow structure of a sample data race condition, in accordance with an embodiment of present disclosure.
- race condition manifests when two separate threads (302, 312) engage with a common resource concurrently and perform write operations simultaneously.
- each thread attempts to increment a shared numerical counter.
- Thread 1 (302) reads the counter, observing a starting value of 1 (304). Subsequently, it increments this value (306), and writes the incremented value, which is now 2, back to the shared counter (308), before completing its cycle (310).
- Thread 2 (312) executes an analogous set of operations, reading the same initial value of 1 (314), incrementing it (316), and then writing back the new value of 2 to the shared counter (318), culminating its process (320).
- the flowchart (300) depicts a process of synchronization in multithreaded systems and the challenges that arise when such controls are not in place.
- the process emphasizes the necessity of mechanisms that enforce exclusive access to shared resources to maintain consistent and error-free operations in programs with concurrent processes.
- FIG. 4 offers a schematic representation (400) of the operational workflow within a Change Data Capture (CDC) system, specifically highlighting a CDC mechanism (120) in action. This diagram elucidates the step-by-step process that occurs once a database operation is initiated.
- CDC Change Data Capture
- the CDC mechanism (120) Upon the creation of this insert query, the CDC mechanism (120), here represented as a part of the process flow (406), reads the logs of the database. It is responsible for identifying and executing related database operations based on the type of query detected. For example, the CDC mechanism (120) may note that a new sales transaction has occurred and will thus capture this change.
- the CDC mechanism (120) continues to monitor and react to the data. If the data corresponds to an insert operation (410), the system may raise a new alarm (412). This alarm could serve as a notification for stakeholders, indicating that a new sales transaction has been processed and may require further action, such as inventory updates or order fulfilment.
- the CDC mechanism 120 ensures that the record is updated with the clear time (414), thereby keeping the system's records current and accurate. Completing the cycle, the alarm records with the updated clear time are then moved into a history table (416), serving as an archive for all processed events.
- FIG. 5 presents a structured depiction (500) of a Change Data Capture (CDC) system operation according to an embodiment of the current disclosure. This block diagram delineates the flow of data from its origination to its final destination, facilitated by CDC ( 04).
- CDC Change Data Capture
- new data is generated. This could be transactional records in a database from a retail sales system, where each transaction represents a new entry. As the data is generated, it is captured by the CDC mechanism (504), which is designed to monitor and log changes in the source (502).
- This CDC mechanism (504) is a trigger-based system configured to act upon insert, update, and delete operations performed on the data.
- an operation is conducted on the source data, such as a new sales transaction being entered the trigger is activated, capturing the details of this operation.
- integration processes may represent various applications or systems within an enterprise that rely on real-time data, such as inventory management systems or customer relationship management software.
- integration process 1 (506-1) might update an inventory database to reflect a sale, reducing the stock level of the sold item.
- integration process 2 (506-2) could update a customer's purchase history in a separate system.
- the targets (508-1, 508-2) represent the final repositories for the processed data. These could be databases in a data warehouse where comprehensive records are kept for analytical purposes or data lakes where raw data is stored for future processing.
- Target 1 (508-1) might store a detailed transaction log for financial auditing, while target 2 (508-2) could hold customer behavior data for marketing analysis.
- Each component within this system (500) is interconnected, ensuring that data flows seamlessly from the point of creation to the point of utilization.
- the CDC mechanism (504) acts as a central hub in this process, guaranteeing that every change at the source (502) is tracked and mirrored across all systems and platforms that depend on this data.
- FIG. 6 illustrates an exemplary computer system in which or with which embodiments of the present invention can be utilized, in accordance with an embodiment of present disclosure.
- the computer system includes input devices (602) connected through I/O peripherals.
- the system also includes a Central Processing Unit (CPU) (604), and Output Devices (608), connected through the I/O peripherals.
- the CPU (604) is also attached to a memory unit 616 along with an Arithmetic and Eogical Unit (AEU) (614), a control unit (612), along with secondary storage devices (610) such as Hard Disks and a Secure Digital Card (SD).
- AEU Arithmetic and Eogical Unit
- control unit (612
- secondary storage devices such as Hard Disks and a Secure Digital Card (SD).
- SD Secure Digital Card
- the data flow and control flow (606) is indicated by a straight and dashed arrow respectively.
- the CPU consists of data registers that hold the data bits, pointers, cache, Random Access Memory (RAM) (204), and a main processing unit containing the processing unit (208).
- the system also consists of communication buses that are used to transport the data internally in the system
- FIG. 7 is a flowchart depicting a method for mitigating data race conditions in a database system.
- the method comprising requesting, by two or more data sources, one or more changes to be performed on a data stored in the database.
- the data sources may include a streaming data source, or a file based data source.
- the streaming data sources are a continuous and real-time provider of data that emits data records over the time.
- the streaming data sources generate data continuously and produce large volumes of data at high frequencies.
- a file-based data source refers to a data source where data is stored and organized in files on a file system. These files can contain structured or unstructured data and are typically stored in formats such as text files, comma separated values (CSV) files, JavaScript object notation (JSON) files, extensible markup language (XML) files etc.
- CSV comma separated values
- JSON JavaScript object notation
- XML extensible markup language
- step 704 the method comprising capturing the requested one or more changes in a streaming job to generate one or more alarms related to the one or more changes.
- step 706 the method comprising generating one or more logs related to the captured one or more changes.
- step 708 the method comprising determining a type of operation to be performed on the stored data based on the one or more generated logs and the one or more generated alarms.
- step 710 the method comprising responsive to determining, performing the type of operation on the data stored in the database.
- the one or more changes are related to performing data manipulation operations on the data in the database.
- the data manipulation operations include at least one of an insert operation, an update operation, or a delete operation.
- the one or more alarms include messages indicating the one or more changes to be performed on the data in the database.
- the messages are stored in a distributed event streaming platform.
- the one or more alarms include at least one of a new alarm or a clear alarm.
- the new alarm indicates performing the insert operation on the data in the database.
- an insert query is created when the new alarm is generated.
- the clear alarm indicates performing the update operation on the data in the database.
- the update operation includes updating the data with a clear time as indicated in the clear alarm.
- the method further comprising storing the updated data with the clear time to a history table of a distributed computing framework.
- the present invention discloses a system for mitigating data race conditions in a database.
- the system comprising a receiving unit configured for receiving a request, from two or more data sources, for performing one or more changes on a data stored in the database.
- the receiving unit configured for capturing the requested one or more changes in a streaming job to generate one or more alarms related to the one or more changes.
- a processing unit configured for generating one or more logs related to the captured one or more changes and determining a type of operation to be performed on the stored data based on the one or more generated logs and the one or more generated alarms.
- the processing unit configured for responsive to determining, performing the type of operation on the data stored in the database.
- the one or more changes are related to performing data manipulation operations on the data in the database.
- the data manipulation operations include at least one of an insert operation, an update operation, or a delete operation.
- the one or more alarms include messages indicating the one or more changes to be performed on the data in the database.
- the messages are stored in a distributed event streaming platform.
- the one or more alarms include at least one of a new alarm or a clear alarm.
- the new alarm indicates performing the insert operation on the data in the database.
- an insert query is created when the new alarm is generated.
- the clear alarm indicates performing the update operation on the data in the database.
- the update operation includes updating the data with a clear time as indicated in the clear alarm.
- system further configured for storing the updated data with the clear time to a history table of a distributed computing framework.
- the present invention will create two entries, one deletion and one insertion for the same record. Thus, by comparing the two entries for the same record and ignoring the insertion of the record as it has been deleted.
- the proposed invention provides a system for CDC for overcoming data race conditions.
- the proposed invention provides a system that mitigates the impact of failures, such as system crashes or network disruptions, by ensuring proper sequencing of operations and enabling recovery from unexpected events.
- the proposed invention provides a system that supports concurrent access to shared resources, allowing for improved concurrency and scalability.
- the proposed invention provides a system that overcomes data race conditions which allows for real-time or near real-time data capture.
- the proposed invention provides a system that integrates data from different sources or propagating changes to downstream systems, ensuring synchronized and coherent data flow.
- the proposed invention provides a system that can handle growing workloads and adapt to changing environments, providing a scalable and adaptable solution for capturing data changes.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP24831270.4A EP4736024A1 (en) | 2023-06-29 | 2024-05-30 | System and method to overcome data race conditions in a database |
| US18/992,907 US20260010527A1 (en) | 2023-06-29 | 2024-05-30 | System and method to overcome data race conditions in a database |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IN202321043760 | 2023-06-29 | ||
| IN202321043760 | 2023-06-29 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025004086A1 true WO2025004086A1 (en) | 2025-01-02 |
Family
ID=93937998
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/IN2024/050638 Ceased WO2025004086A1 (en) | 2023-06-29 | 2024-05-30 | System and method to overcome data race conditions in a database |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20260010527A1 (en) |
| EP (1) | EP4736024A1 (en) |
| WO (1) | WO2025004086A1 (en) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7673181B1 (en) * | 2006-06-07 | 2010-03-02 | Replay Solutions, Inc. | Detecting race conditions in computer programs |
| US20170344596A1 (en) * | 2016-05-25 | 2017-11-30 | Google Inc. | Real-time Transactionally Consistent Change Notifications |
| US20230143636A1 (en) * | 2021-11-11 | 2023-05-11 | Salesforce.Com, Inc. | Buffering Techniques for a Change Record Stream of a Database |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11314767B2 (en) * | 2020-07-30 | 2022-04-26 | Salesforce.Com, Inc. | Techniques and architectures for managing cascading mutations in an environment having a data lake |
-
2024
- 2024-05-30 WO PCT/IN2024/050638 patent/WO2025004086A1/en not_active Ceased
- 2024-05-30 US US18/992,907 patent/US20260010527A1/en active Pending
- 2024-05-30 EP EP24831270.4A patent/EP4736024A1/en active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7673181B1 (en) * | 2006-06-07 | 2010-03-02 | Replay Solutions, Inc. | Detecting race conditions in computer programs |
| US20170344596A1 (en) * | 2016-05-25 | 2017-11-30 | Google Inc. | Real-time Transactionally Consistent Change Notifications |
| US20230143636A1 (en) * | 2021-11-11 | 2023-05-11 | Salesforce.Com, Inc. | Buffering Techniques for a Change Record Stream of a Database |
Also Published As
| Publication number | Publication date |
|---|---|
| US20260010527A1 (en) | 2026-01-08 |
| EP4736024A1 (en) | 2026-05-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6980988B1 (en) | Method of applying changes to a standby database system | |
| US11397709B2 (en) | Automated configuration of log-coordinated storage groups | |
| US9069832B2 (en) | Approach for modularized sychronization and memory management | |
| EP3493050B1 (en) | System for metadata management | |
| US8938421B2 (en) | Method and a system for synchronizing data | |
| US8365185B2 (en) | Preventing execution of processes responsive to changes in the environment | |
| US10373247B2 (en) | Lifecycle transitions in log-coordinated data stores | |
| Jangam et al. | Challenges and Solutions for Managing Errors in Distributed Batch Processing Systems and Data Pipelines | |
| KR101713362B1 (en) | Lock resolution for distributed durable instances | |
| Tang et al. | Ad hoc transactions in web applications: The good, the bad, and the ugly | |
| CN112069196B (en) | Database-based data processing method, device, equipment and readable storage medium | |
| Padhye et al. | Scalable transaction management with snapshot isolation for NoSQL data storage systems | |
| CN121300919B (en) | A system and method for eventually consistent processing of transactional messages | |
| Kraft et al. | Apiary: A DBMS-Integrated transactional Function-as-a-Service framework | |
| EP3783502B1 (en) | System for persisting application program data objects | |
| CN120509710A (en) | Service flow processing method, device, equipment and medium based on multistage task | |
| CN120429162A (en) | Food safety sampling data verification method, system and computer storage medium thereof | |
| US20130290385A1 (en) | Durably recording events for performing file system operations | |
| US8051433B1 (en) | Partially ordered queue for efficient processing of assets | |
| US20260010527A1 (en) | System and method to overcome data race conditions in a database | |
| Roohitavaf et al. | LogPlayer: Fault-tolerant Exactly-once Delivery using gRPC Asynchronous Streaming | |
| Rothsberg | Evaluation of using NoSQL databases in an event sourcing system | |
| Lev-Ari et al. | Quick: a queuing system in cloudkit | |
| Kylmämaa | Horizontal scalability and high availability of a hospital information system | |
| Xu | Transaction Processing in Distributed Environments |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 18992907 Country of ref document: US |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24831270 Country of ref document: EP Kind code of ref document: A1 |
|
| WWP | Wipo information: published in national office |
Ref document number: 18992907 Country of ref document: US |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2024831270 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2024831270 Country of ref document: EP Effective date: 20260129 |
|
| ENP | Entry into the national phase |
Ref document number: 2024831270 Country of ref document: EP Effective date: 20260129 |
|
| WWP | Wipo information: published in national office |
Ref document number: 2024831270 Country of ref document: EP |