IP Library Granted Patent US 12,461,839
Granted Patent B1
US 12,461,839 · App. 18/652,597 · Granted Nov 4, 2025

Database instance clustering

Inventors: Jingun Hong (Seoul, KR); Dong Won Hwang (Seoul, KR); Sumi Yun (Seoul, KR); Won Joon Lee (Seoul, KR)
Assignee: SAP SE
G06F11/3414G06F11/1469G06F16/219G06F16/24542G06F16/256
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,461,839
App. No.
18/652,597
Granted
Nov 4, 2025
Kind
B1
Abstract

Database instances can be clustered using various attributes, such as attributes reflecting resources assigned to a database instance, attributes reflecting configuration or software version information, or attributes that reflect users or usage of a database instance. As it can be resource intensive to capture database workloads, one or more database instances can be selected from one or more of the clusters and workloads can be captured from such instances. In a similar manner, various attributes can be used to cluster database instances, and one or more instances can be selected from one or more of the clusters, and a captured workload can be replayed on such instances.

Claims (54)

1. A computing system comprising:

at least one hardware processor;

at least one memory coupled to the at least one hardware processor; and

one or more computer-readable storage media comprising computer-executable instructions that, when executed, cause the computing system to perform operations comprising:

for respective database instances of a plurality of database instances, receiving a respective set of attribute values for a defined set of attributes describing database instances of the plurality of database instances, wherein the defined set of attributes comprises values reflecting characteristics of database instances that are used to group the database instances into clusters for selecting representative instances to support workload capture and replay;

clustering the plurality of database instances into a plurality of clusters using the respective set of attribute values for the defined set of attributes for database instances of the plurality of database instances;

selecting at least one representative database instance from at least one cluster of the plurality of clusters using cluster definitions resulting from the clustering; and

capturing a workload executed on the at least one representative database instance, and fewer than database instances of the at least one cluster, to provide a captured workload, wherein capturing the workload comprises recording information describing database operations executed as part of the workload, the recorded information being sufficient to enable replay of the workload at another database instance of the plurality of database instances.

2. The computing system of claim 1 , the operations further comprising:

replaying the captured workload on a database instance.

3. The computing system of claim 2 , the operations further comprising:

capturing database performance metrics while replaying the captured workload on the database instance;

comparing the database performance metrics from replaying the captured workload with database performance metrics generated during capture of the workload; and

rendering for display on a user interface a report comparing database performance metrics from replaying the captured workload with the database performance metrics generated during capture of the workload.

4. The computing system of claim 2 , the operations further comprising:

capturing database query results while replaying the captured workload on the database instance;

comparing the database query results from replaying the captured workload with database query results generated during capture of the workload; and

rendering for display on a user interface a report comparing query results from replaying the captured workload with the query results generated during capture of the workload.

5. The computing system of claim 2 , the operations further comprising:

selecting the database instance, for replaying the captured workload, from the at least one cluster.

6. The computing system of claim 5 , wherein the selecting the database instance from the at least one cluster is based at least part on a set of defined criteria.

7. The computing system of claim 1 , the operations further comprising:

receiving values of the respective set of attribute values from multiple components of a cloud database system.

8. The computing system of claim 1 , wherein the defined set of attributes comprises at least one attribute reflecting an amount of a computer resource assigned to a database instance.

9. The computing system of claim 1 , wherein the defined set of attributes comprises at least one attribute representing a throughput metric of workload of a database instance.

10. The computing system of claim 1 , wherein the defined set of attributes comprises at least one attribute representing a number of times a feature of a database instance is used over a time period.

11. The computing system of claim 1 , wherein the defined set of attributes comprises at least one attribute representing activation of a feature of a database instance.

12. The computing system of claim 1 , wherein the defined set of attributes comprises crash information for a database instance.

13. The computing system of claim 1 , wherein the defined set of attributes comprises at least one attribute measuring query performance for queries executed on a database instance.

14. The computing system of claim 1 , wherein the defined set of attributes comprises an identifier of a software application with which a database instance is used.

15. A method, implemented in a computing system comprising at least one memory and at least one hardware processor coupled to the at least one memory, the method comprising:

for respective database instances of a plurality of database instances, receiving a respective set of attribute values for a defined set of attributes describing database instances of the plurality of database instances, wherein the defined set of attributes comprises values reflecting characteristics of database instances that are used to group the database instances into clusters for selecting representative instances to support workload capture and replay;

clustering the plurality of database instances into a plurality of clusters using the respective set of attribute values for the defined set of attributes for database instances of the plurality of database instances;

selecting at least one representative database instance from at least one cluster of the plurality of clusters using cluster definitions resulting from the clustering; and

replaying a captured workload on the at least one representative database instance, and fewer than all database instances of the at least one cluster, wherein the captured workload comprises information describing database operations executed as part of the captured workload at another database instance of the plurality of database instances, the information being sufficient to enable replay of the captured workload at the at least one representative database instances.

16. The method of claim 15 , further comprising:

capturing database performance metrics while replaying the captured workload on the at least one representative database instance;

comparing the database performance metrics from replaying the captured workload with database performance metrics generated during capture of the captured workload at another database instance of the plurality of database instances; and

rendering for display on a user interface a report comparing database performance metrics from replaying the captured workload with the database performance metrics generated during capture of the captured workload at the another database instance.

17. The method of claim 15 , the operations further comprising:

capturing database query results while replaying the captured workload on the database instance;

comparing the database query results from replaying the captured workload with database query results generated during capture of the captured workload at another database instance of the plurality of database instances; and

rendering for display on a user interface a report comparing query results from replaying the captured workload with the query results generated during capture of the captured workload at the another database instance.

18. One or more computer-readable storage media comprising:

computer-executable instructions that, when executed by a computing system comprising at least one hardware processor and at least one memory coupled to the at least one hardware processor, cause the computing system to, for respective database instances of a plurality of database instances, receive a respective set of attribute values for a defined set of attributes describing database instances of the plurality of database instances, wherein the defined set of attributes comprises values reflecting characteristics of database instances that are used to group the database instances into clusters for selecting representative instances to support workload capture and replay;

computer-executable instructions that, when executed by the computing system, cause the computing system to cluster the plurality of database instances into a plurality of clusters using the respective set of attribute values for the defined set of attributes for database instances of the plurality of database instances;

computer-executable instructions that, when executed by the computing system, cause the computing system to select at least one representative database instance from at least one cluster of the plurality of clusters using cluster definitions resulting from the clustering; and

computer-executable instructions that, when executed by the computing system, cause the computing system to capture a workload executed on the at least one representative database instance, and fewer than database instances of the at least one cluster, to provide a captured workload, wherein capturing the workload comprises recording information describing database operations executed as part of the workload, the recorded information being sufficient to enable replay of the workload at another database instance of the plurality of database instances.

19. The one or more computer-readable storage media of claim 18 , further comprising:

computer-executable instructions that, when executed by the computing system, cause the computing system to replay the captured workload on a database instance of the plurality of database instances other than the at least one representative database instance.

20. The one or more computer-readable storage media of claim 19 , further comprising:

computer-executable instructions that, when executed by the computing system, cause the computing system to capture database performance metrics or query execution results while replaying the captured workload on the database instance;

computer-executable instructions that, when executed by the computing system, cause the computing system to compare the database performance metrics or query execution results from replaying the captured workload with, respectively, database performance metrics or query execution results generated during capture of the workload; and

computer-executable instructions that, when executed by the computing system, cause the computing system to render for display on a user interface a report comparing database performance metrics or query execution results from replaying the captured workload with, respectively, the database performance metrics or query execution results generated during capture of the workload.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2024
From: HONG, JINGUN; HWANG, DONG WON; YUN, SUMI; LEE, WON JOON
To: SAP SE
Reel/Frame 067469/0206 →
References Cited (16)
US 9529846B2 · Wu · 2016 [cited by examiner]
US 9804666B2 · Jiao · 2017 [cited by examiner]
US 10043232B1 · Ramadoss · 2018 [cited by examiner]
US 10409319B2 · Rajwani · 2019 [cited by examiner]
US 10409571B1 · Targowski · 2019 [cited by examiner]
US 10528118B2 · Vembu · 2020 [cited by examiner]
US 11722573B2 · Shukla · 2023 [cited by examiner]
US 11848847B1 · Guo · 2023 [cited by examiner]
US 20020129146A1 · Aronoff · 2002 [cited by examiner]
US 20170132042A1 · Cherkasova · 2017 [cited by examiner]
US 20190294596A1 · Yan · 2019 [cited by examiner]
US 20190386889A1 · Noorshams · 2019 [cited by examiner]
US 20210096981A1 · Desikachari · 2021 [cited by examiner]
US 20210133186A1 · Jalali · 2021 [cited by examiner]
US 20220292112A1 · Tian · 2022 [cited by examiner]
US 20230325256A1 · Sun · 2023 [cited by examiner]