Distributed Server Clusters for High-Volume Read and Write Scaling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional distributed work processing across a network, where each server operates as both an application server and a database server, fails to achieve optimal scaling and efficiency, particularly in handling high volumes of reads and writes, as additional nodes do not adequately address scaling issues and lead to poor performance in handling large data transactions.

Innovation Solution

Configuring clusters of machines to operate as either write, database, or read cluster application servers, where each machine functions as both an application and database server but with optimized resource allocation, disabling persistent storage in write and read clusters to focus computational resources on database operations, and utilizing in-memory databases with replication services to enable quick recovery and efficient data processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If each server operates as both an application server and a database server in a conventional distributed setup, then device versatility is improved, but scaling performance and handling capacity for high volumes of reads and writes deteriorate

Engineering Contradiction:
Improveserver functionalityVSAvoidhandling capacity
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system segments servers into specialized clusters: write cluster application servers, read cluster application servers, and database cluster servers. Each cluster is optimized for specific operations (write, read, or database operations) rather than every server performing all functions. This segmentation allows the system to scale handling capacity by adding specialized servers while maintaining versatility through the collective capability of all clusters.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If additional nodes are added to a conventional distributed system, then device quantity is improved, but scaling performance deteriorates due to inadequate address of scaling issues

Engineering Contradiction:
Improvenumber of server nodesVSAvoidscaling performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

Different clusters are assigned different local qualities or optimization characteristics. Write clusters optimize for write operations with in-memory databases, read clusters optimize for read operations, and database clusters provide persistent storage. This local quality differentiation ensures that adding nodes to each cluster improves overall system performance in the specific operations that cluster handles, achieving true scaling performance.

Inventive Principle:
Principle #3Local quality

3Reliability

If persistent storage is enabled in all servers, then data reliability is improved, but processing speed and efficiency deteriorate

Engineering Contradiction:
Improvedata persistenceVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system uses in-memory databases in write and read clusters that replicate data from database cluster servers. This copying approach allows write and read clusters to operate at high speed using fast in-memory storage while database clusters maintain reliable persistent storage. The replication ensures data reliability is maintained across the system without sacrificing processing speed in the application clusters.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10057323B2Distributed work processing across a network where each machine is operative as both an application server and a database server
Publication Date: 2018.08.21 PHIZZLE
  • US10057323B2 patent drawing
  • US10057323B2 patent drawing
  • US10057323B2 patent drawing

AI summary

A first cluster of machines is configured as writer cluster application servers, where each machine of the first cluster is operative as both an application server and a database server with persistent storage of the database server disabled. A second cluster of machines is configured as database cluster servers, where each machine of the second cluster is operative as both an application server and a database server with the application server disabled. A third cluster of machines is configured as read cluster application servers, where each machine of the third cluster is operative as both an application server and a database server with persistent storage of the database server disabled. At least one application is executed on the read cluster application servers.