Database Partitioning via Sequential Key Sharding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database systems face challenges in scaling efficiently, as vertical scaling is expensive and horizontal scaling requires significant computational overhead, especially during data migration and partitioning processes.

Innovation Solution

A system is implemented that optimizes data migration by partitioning databases across multiple systems, using a transparent front end to manage record distribution, and minimizing data movement by leveraging sequential database keys to create new shards with minimal overhead, thereby reducing network traffic and computational burden.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If vertical scaling is used to increase processing power, then database performance is improved, but system cost increases exponentially

Engineering Contradiction:
Improvedatabase processing powerVSAvoidsystem cost
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The database is divided into multiple partitions distributed across multiple computer systems, transforming a single large database into smaller, manageable segments that can be processed in parallel, thereby increasing processing power without requiring a single expensive high-capacity system

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from vertical scaling (adding more resources to a single system) to horizontal scaling (adding more systems), changing the dimension of scalability from depth to breadth, which provides more cost-effective processing power expansion

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Device complexity

If horizontal scaling is implemented to increase processing power, then system cost is reduced, but computational overhead increases

Engineering Contradiction:
Improvesystem costVSAvoidcomputational overhead
Core Design Contradiction:
Device complexityVSUse of energy by moving object

Solution Approach 1:

The system automatically detects sequential database keys and self-optimizes the partitioning strategy without requiring manual intervention, reducing the computational overhead associated with complex partition management while maintaining cost-effective horizontal scaling

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system changes the partitioning parameter from arbitrary or hash-based distribution to sequential key-based distribution, which reduces computational overhead by enabling more efficient data placement and retrieval operations across the distributed system

Inventive Principle:
Principle #35Parameter changes

3Productivity

If conventional partitioning is used to distribute data, then database operations can be spread over multiple systems, but network traffic increases due to data migration

Engineering Contradiction:
Improvedatabase operation distributionVSAvoidnetwork traffic
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs preliminary detection of sequential database keys before partitioning, allowing it to pre-organize data in a manner that minimizes future data migration needs, thereby reducing network traffic during database operations while maintaining effective distribution across multiple systems

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10740355B2System and method for optimizing data migration in a partitioned database
Publication Date: 2020.08.11 MONGODB INC
  • US10740355B2 patent drawing
  • US10740355B2 patent drawing
  • US10740355B2 patent drawing

AI summary

According to one aspect, provided is a horizontally scaled database architecture. Partition a database enables efficient distribution of data across a number of systems reducing processing costs associated with multiple machines. According to some aspects, the partitioned database can be managed as a single source interface to handle client requests. Further, it is realized that by identifying and testing key properties, horizontal scaling architectures can be implemented and operated with minimal overhead. In one embodiment, databases can be partitioned in an order preserving manner such that the overhead associated with moving the data for a given partition can be minimized during management of the data and/or database. In one embodiment, splits and migrations operations prioritize zero cost partitions, thereby, reducing computational burden associated with managing a partitioned database.