Database Table Access with Record-Count API Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face challenges in optimizing system performance and managing API usage costs while accommodating usage restrictions for accessing data from databases, particularly in systems like Salesforce, where different API calls have varying efficiencies and quotas.

Innovation Solution

A method is implemented to identify subsets of database tables based on record counts and assign different API calls (e.g., REST and Bulk API) dynamically to optimize performance and adhere to usage limits, generating backup files like CSV files and managing them efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If different API calls are used to access database tables, then access performance and efficiency vary, but API usage quotas and costs increase

Engineering Contradiction:
Improvedata access efficiencyVSAvoidAPI call volume
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments database tables into different categories based on their record counts and assigns different API call types to each segment. Tables with fewer records use REST API calls while tables with more records use Bulk API calls, optimizing both performance and quota utilization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically changes the API call parameter selection based on table properties (record count thresholds). By adjusting which API type is used for different table segments, the system optimizes performance while managing quota consumption efficiently.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If API calls are made without considering table record counts, then simplicity is maintained, but system performance and cost optimization are compromised

Engineering Contradiction:
ImproveAPI selection simplicityVSAvoiddata access performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system performs preliminary classification of database tables into segments based on record counts before API calls are made. This pre-processing step automatically determines the optimal API type for each table, eliminating the need for manual selection while ensuring optimal performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system automatically selects the appropriate API call type based on table properties without requiring manual intervention. The classification and selection process is self-executing, maintaining ease of operation while achieving optimization.

Inventive Principle:
Principle #25Self-service

3Device complexity

If all tables are accessed using the same API call type, then implementation complexity is reduced, but API quota efficiency and cost management deteriorate

Engineering Contradiction:
ImproveAPI selection mechanismVSAvoidAPI call quota utilization
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The patent divides tables into segments based on record count thresholds and applies different API call types to each segment. This segmentation enables differentiated API usage strategies that optimize quota efficiency while managing implementation complexity through automated classification.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250231944A1Criteria-based API selection for data access
Publication Date: 2025.07.17 SALESFORCE INC
  • US20250231944A1 patent drawing
  • US20250231944A1 patent drawing
  • US20250231944A1 patent drawing

AI summary

Methods, storage systems and computer program products implement embodiments of the present invention for data access that include identifying a set of tables in a database to be accessed by an application, and identifying first and second application programming interface (API) calls having different, respective access properties for accessing records in the tables via an API. Respective numbers of the records in the tables are counted by a processor, and the set of tables are partitioned into first and second subsets responsively to the respective numbers. The records in the first subset of the tables are accessed by having the application convey the first API call to the API, and the records in the second subset of the tables are accessed by having the application convey the second API call to the API.