Messaging Queue Partitioning for Multi-Tenant Data Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-tenant service-based applications, concurrent data updates can lead to conflicts and data corruption due to the need for database locking, which restricts other services from executing functionality during updates.

Innovation Solution

A synchronization framework utilizing a messaging queue with partitioning and consumer groups to manage data updates, allowing consistent and concurrent updates without database locking, ensuring only one service instance processes updates for a specific tenant at a time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If database locking is implemented to prevent data corruption during concurrent updates, then data consistency is improved, but system availability and service execution are worsened

Engineering Contradiction:
Improvedata consistencyVSAvoidservice availability
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces a messaging queue as an intermediary component between service instances and the database system. The messaging queue receives update requests, manages them through partitions and consumer groups, and coordinates delivery to ensure only one service instance processes updates for a specific tenant at a time. This mediator eliminates the need for direct database locking while maintaining data consistency through controlled message processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If database locking is used to ensure data consistency during merges, then data corruption is prevented, but processing speed and system performance are reduced

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the messaging queue into multiple partitions, where each partition is dedicated to a specific tenant. Consumer groups are assigned to read from specific partitions, creating isolated processing streams for different tenants. This segmentation allows parallel processing of updates across multiple tenants simultaneously, improving overall processing speed while maintaining data consistency within each partition through controlled consumer access.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11860899B2Data synchronization in cloud platforms without database locking
Publication Date: 2024.01.02 SAP SE
  • US11860899B2 patent drawing
  • US11860899B2 patent drawing
  • US11860899B2 patent drawing

AI summary

Methods, systems, and computer-readable storage media for receiving, by a messaging system, a message having a key, the key indicating a tenant of a set of tenants, providing, by the messaging system, the message in a partition of a messaging queue, reading, by a service instance, the message from the partition, the service instance being in a set of services instances, each service instance executing a service of a service-based application, and in response to the message, updating, by the service instance, at least a portion of data stored within a database system, the portion of data being associated with the tenant, the database system storing data of each tenant of the set of tenants.