K-means Clustering via SQL Statements for Database Implementation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Implementing K-means clustering algorithms in database management systems is complex due to issues like storage management, concurrent access, memory leaks, and security concerns, making development lengthy and difficult, especially when using generic programming languages like C++ or Java.

Innovation Solution

The use of Structured Query Language (SQL) statements to perform K-means clustering simplifies the implementation by generating SQL code for clustering actions, eliminating the need to modify the relational database structure and avoiding the definition of new SQL extensions, thus addressing system hardware and software issues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If K-means clustering is implemented using generic programming languages like C++ or Java, then clustering functionality can be achieved, but development time increases and implementation complexity increases due to storage management, concurrent access, memory leaks, and security concerns

Engineering Contradiction:
Improveease of implementationVSAvoiddevelopment time
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The patent replaces generic programming language implementations with SQL-based clustering. Instead of using C++ or Java code that requires manual handling of storage management, concurrent access, memory leaks, and security concerns, the invention uses SQL statements to perform clustering operations. This substitution of mechanical programming with SQL methodology eliminates the need to address low-level system issues while achieving the same clustering functionality.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent introduces SQL as an intermediary layer between the clustering algorithm and the database system. By using SQL statements as the medium to implement clustering, the system avoids direct interaction with complex programming language intricacies. The SQL language serves as a mediator that handles data manipulation, storage, and processing in a way that automatically manages the complexity of storage management, concurrent access, and memory allocation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If K-means clustering is implemented using generic programming languages, then clustering can be performed, but the code becomes lengthy and complex due to need to address storage management, concurrent access, memory leaks, false alarms, and security concerns

Engineering Contradiction:
Improveease of implementationVSAvoidcode complexity
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The patent replaces complex generic programming language code with SQL statements. This substitution eliminates the need to manually address storage management, concurrent access, memory leaks, false alarms, and security concerns that plague C++ or Java implementations. The SQL language provides a simplified, declarative approach that handles these complexities internally.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent makes the database system universal by using SQL, a standardized language that handles multiple functions simultaneously. SQL statements can perform data retrieval, manipulation, aggregation, and clustering operations in a unified manner. This multi-functionality of SQL eliminates the need for separate code modules for each concern (storage management, concurrent access, security), thereby reducing overall code complexity.

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

3Loss of time

If existing SQL syntax is used for clustering, then development time is reduced and implementation is simplified, but the clustering functionality must be achieved through SQL statements rather than direct programming

Engineering Contradiction:
Improvedevelopment timeVSAvoidease of implementation
Core Design Contradiction:
Loss of timeVSEase of operation

Solution Approach 1:

The patent substitutes direct programming with SQL statement execution. By using existing SQL syntax, the system leverages the maturity and optimization of SQL processing in database systems. This approach reduces development time because SQL is a well-understood language with established performance characteristics, avoiding the need to write and debug complex programming code while maintaining ease of implementation through standardized syntax.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS7359913B1K-means clustering using structured query language (SQL) statements and sufficient statistics
Publication Date: 2008.04.15 TERADATA US INC
  • US7359913B1 patent drawing
  • US7359913B1 patent drawing
  • US7359913B1 patent drawing

AI summary

A database includes a storage to store a data set and a controller to use one or more SQL (Structured Query Language) statements to perform computations associated with a clustering algorithm e.g., a K-means clustering algorithm).