Node-to-Node Data Sync to Reduce Database Bottlenecks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computational instances face performance bottlenecks due to database nodes becoming overwhelmed as application nodes frequently access them for synchronized data, hindering scalability without adding more database nodes or limiting communication frequency, which complicates management and reduces synchronization robustness.
Innovation Solution
Facilitate node-to-node communication between application nodes for synchronized data sharing, reducing database access through lightweight and reliable communication channels, including unicast and multicast/broadcast methods, to maintain synchronization without increasing database load.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If application nodes frequently access database nodes for synchronized data, then synchronization robustness is improved, but database nodes become bottlenecks and overall platform performance deteriorates
Solution Approach 1:
The patent introduces communication channels as intermediaries between application nodes, allowing them to exchange data directly without constantly querying database nodes. These channels act as mediators that maintain synchronization while reducing database load, resolving the contradiction between synchronization robustness and platform performance.
Solution Approach 2:
The system performs preliminary actions by establishing communication channels and proactively pushing data changes to application nodes before they need to query the database. This preliminary data distribution mechanism ensures synchronization is maintained without requiring frequent database accesses, thus improving performance while maintaining reliability.
2Productivity
If more application nodes are added to the platform, then processing capacity is improved, but database nodes become more overwhelmed and scalability is hindered
Solution Approach 1:
The patent segments the data distribution mechanism by creating dedicated communication channels between application nodes, allowing each node to maintain its own synchronization subscriptions. This segmentation enables the system to scale horizontally by adding more application nodes without proportionally increasing database load, as each node communicates independently through its own channels.
Solution Approach 2:
Communication channels serve as intermediaries that decouple application nodes from direct database dependency. When new application nodes are added, they can subscribe to relevant channels without requiring additional database connections or increasing database node capacity, enabling scalable growth of processing capacity.
3Reliability
If database nodes serve all queries, then data consistency is maintained, but query response time increases and reliability decreases
Solution Approach 1:
The system performs preliminary data distribution by pushing changes to application nodes through communication channels before queries are needed. This preliminary action ensures that application nodes have up-to-date data locally, reducing the need for time-consuming database queries while maintaining data consistency through the push-based synchronization mechanism.
Solution Approach 2:
Communication channels act as intermediaries that maintain data consistency by reliably delivering data changes from database nodes to application nodes. This intermediary mechanism ensures consistency without requiring application nodes to continuously query the database, thus reducing query response time while maintaining reliability.
4Productivity
If communication channels are established between application nodes, then database load is reduced, but system complexity increases
Solution Approach 1:
The communication channel infrastructure is designed to be universal and multi-functional, serving multiple purposes: data distribution, synchronization maintenance, and change notification. This multi-functionality reduces the need for separate mechanisms for each purpose, thereby reducing overall system complexity while achieving database load reduction.
Solution Approach 2:
The communication channel system incorporates feedback mechanisms where application nodes can subscribe to and publish on channels based on their needs. This feedback-driven approach allows the system to dynamically adapt to changing requirements without manual configuration, reducing operational complexity while improving database efficiency.
Data Source
AI summary
An example embodiment may involve conducting, by an application node, an operation with a database node, wherein the application node and the database node are both within a computational instance of nodes; transmitting, by the application node and to each of a plurality of destination application nodes, a message relating to the operation, wherein the plurality of destination application nodes are also within the computational instance of nodes; and updating, by each of the plurality of destination application nodes, respective local storage of data relating to the operation.


