Kafka Cross-Object Synchronization via Metadata

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data synchronization methods face challenges in maintaining consistency across multiple Kafka topics, leading to complex data consumption and overhead for consumers interested in specific objects, as they need to filter out irrelevant messages.

Innovation Solution

The implementation of a zero-based counter and log-based change capture technology to order transactions and ensure a common transactional point across multiple objects, allowing for cross-object synchronization by writing data to the same Kafka topic and using a metadata column to identify transactions, thereby simplifying consumer access to consistent views.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple objects are stored in separate Kafka topics in a unified data layer, then data organization and access efficiency are improved, but maintaining consistency across objects and obtaining a common transactional point becomes complex

Engineering Contradiction:
Improvedata access efficiencyVSAvoidsynchronization complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a metadata layer as an intermediary between multiple Kafka topics. This metadata layer stores transactional point information and object state information, allowing consumers to query and synchronize across objects without directly managing the complexity of multiple topics. The metadata acts as a mediator that coordinates the distributed data access.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The unified data layer is designed to serve multiple functions: it stores different object types in separate Kafka topics while providing a unified interface for data access and synchronization. The system can handle both independent object access and cross-object synchronization through the same metadata layer, making it multi-functional.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If direct access to systems of record and underlying databases is provided, then data access flexibility is improved, but security risks and resource consumption increase

Engineering Contradiction:
Improvedata access flexibilityVSAvoidsecurity risks
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The unified data layer with Kafka topics serves as an intermediary layer between consumers and the underlying systems of record. This intermediate layer provides controlled access to data, allowing flexible querying and analysis while preventing direct access to the core databases, thus reducing security risks and resource consumption on the source systems.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The data architecture is segmented into multiple layers: the source databases, the Kafka topic layer for each object, and the unified data layer with metadata. This segmentation allows consumers to access data through the standardized Kafka interface without exposing the underlying database structures, providing flexibility while maintaining security boundaries.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If consumers filter out irrelevant messages from multiple Kafka topics, then specific object access precision is improved, but processing overhead and complexity increase

Engineering Contradiction:
Improveobject access precisionVSAvoidmessage filtering complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The metadata layer pre-stores information about which objects are related and their transactional points. Consumers can query the metadata layer in advance to determine which Kafka topics contain relevant data for their analysis, avoiding the need to filter through all messages from multiple topics. This preliminary action reduces processing overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system provides feedback mechanisms where consumers can query the metadata layer to get information about data organization and relationships before consuming messages. This feedback allows consumers to make informed decisions about which topics to subscribe to and how to filter messages, reducing unnecessary processing.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10289383B2Cross object synchronization
Publication Date: 2019.05.14 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10289383B2 patent drawing
  • US10289383B2 patent drawing
  • US10289383B2 patent drawing

AI summary

Embodiments of the present invention provide systems and methods for enabling cross object synchronization. An algorithm is applied in order to obtain a consistent view of multiple Kafka topics. One set of objects are associated with a first Kafka topic and another set of objects are associated with a second Kafka topic. The first Kafka topic and the second Kafka topic are processed as a single Kafka topic which leads to common transactional coordinate points associated with the first and second Kafka topics. The common transaction coordinate point is indicative of a consistent view of the multiple Kafka topics.