IP Library Granted Patent US 9,779,117
Granted Patent B1
US 9,779,117 · App. 14/501,531 · Granted Oct 3, 2017

Database partitioning scheme evaluation and comparison

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 9,779,117
App. No.
14/501,531
Granted
Oct 3, 2017
Kind
B1
Abstract

A database benchmark configuration is selected via an interface. At least one database partitioning scheme from a plurality of database partitioning schemes is selected via the interface. The selected database partitioning scheme is configured through the interface. The selected database partitioning scheme is evaluated based on the configuring step and the selected database benchmark configuration, and evaluation results are generated. A presentation is generated for the interface based on at least a portion of the evaluation results, wherein the presentation is configured to provide at least an indication of a performance of the selected database partitioning scheme given the configuring step and the selected database benchmark configuration.

Claims (46)

1. A computer-implemented method comprising:

selecting, via a graphical user interface, a database benchmark configuration of a database management system, wherein selecting the database benchmark configuration further comprises configuring: a size of a dataset; a workload to be used in the evaluation; and a number of distributed nodes in the database management system;

selecting, via the graphical user interface, at least one database partitioning scheme from a plurality of database partitioning schemes for the database management system;

configuring the selected database partitioning scheme through the graphical user interface comprising selectable features to: select one or more partitioning keys; partition and distribute data; route one or more queries; and re-partition the database in response to a change to the number of distributed nodes of the database;

evaluating the selected database partitioning scheme based on the configuring step and the selected database benchmark configuration, and generating evaluation results, wherein the evaluating step further comprises:

applying the selected database partitioning scheme to perform one of a real workload execution and a simulated workload execution; and

obtaining a performance metric resulting from the application of the selected database partitioning scheme to one of the real workload execution and the simulated workload execution; and

generating a presentation for the graphical user interface based on at least a portion of the evaluation results, wherein the presentation is configured to provide at least an indication of a performance of the selected database partitioning scheme given the configuring step and the selected database benchmark configuration;

wherein the above steps are executed in accordance with one or more processing devices, and wherein the graphical user interface is rendered via the one or more processing devices.

2. The method of claim 1 , wherein selecting the database partitioning scheme further comprises importing a given configuration for the database partitioning scheme.

3. The method of claim 1 , wherein evaluating the selected database partitioning scheme further comprises interpreting the selected database partitioning scheme.

4. The method of claim 3 , wherein interpreting the selected database partitioning scheme further comprises determining whether and how one or more data structures are partitioned for the evaluation.

5. The method of claim 3 , wherein interpreting the selected database partitioning scheme further comprises generating a lookup table which records to which node of the distributed nodes specific data is distributed.

6. The method of claim 3 , wherein interpreting the selected database partitioning scheme further comprises generating at least one of metadata and statistics on the dataset.

7. The method of claim 3 , wherein evaluating the selected database partitioning scheme further comprises performing the real workload execution by loading the dataset into the database management system.

8. The method of claim 7 , wherein evaluating the selected database partitioning scheme further comprises compressing at least one of the dataset and the workload prior to performing the real workload execution.

9. The method of claim 3 , wherein evaluating the selected database partitioning scheme further comprises performing the simulated workload execution by loading at least one of metadata and statistics on the dataset into the database management system rather than the dataset itself.

10. The method of claim 9 , wherein performing the simulated workload execution further comprises using a query optimizer to generate an execution plan and estimate a plan cost for each query statement in the workload.

11. The method of claim 1 , wherein generating the presentation on the graphical user interface further comprises visually presenting one or more descriptive evaluation representations regarding the selected database partitioning scheme.

12. The method of claim 1 , further comprising selecting, configuring and evaluating another database partitioning scheme.

13. The method of claim 12 , wherein generating the presentation on the graphical user interface based further comprises visually presenting one or more descriptive evaluation representations regarding a comparison between the selected database partitioning scheme and the other selected database partitioning scheme.

14. The method of claim 13 , wherein the comparison is based on the same settings for the selected database partitioning scheme and the other selected database partitioning scheme.

15. The method of claim 13 , wherein the comparison is based on different settings for the selected database partitioning scheme and the other selected database partitioning scheme.

16. An article of manufacture comprising a processor-readable storage medium having encoded therein executable code of one or more software programs, wherein the one or more software programs when executed by at least one processing device implement the steps of:

selecting, via a graphical user interface, a database benchmark configuration of a database management system, wherein selecting the database benchmark configuration further comprises configuring: a size of a dataset; a workload to be used in the evaluation; and a number of distributed nodes in the database;

selecting, via the graphical user interface, at least one database partitioning scheme from a plurality of database partitioning schemes for the database management system;

configuring the selected database partitioning scheme through the graphical user interface comprising selectable features to: select one or more partitioning keys; partition and distribute data; route one or more queries; and re-partition the database in response to a change to the number of distributed nodes of the database;

evaluating the selected database partitioning scheme based on the configuring step and the selected database benchmark configuration, and generating evaluation results, wherein the evaluating step further comprises:

applying the selected database partitioning scheme to perform one of a real workload execution and a simulated workload execution; and

obtaining a performance metric resulting from the application of the selected database partitioning scheme to one of the real workload execution and the simulated workload execution; and

generating a presentation for the graphical user interface based on at least a portion of the evaluation results, wherein the presentation is configured to provide at least an indication of a performance of the selected database partitioning scheme given the configuring step and the selected database benchmark configuration.

17. The article of claim 16 , wherein evaluating the selected database partitioning scheme further comprises interpreting the selected database partitioning scheme, and wherein interpreting the selected database partitioning schemes comprises performing one or more of:

determining whether and how one or more data structures are partitioned for the evaluation;

generating a lookup table which records to which node of the distributed nodes specific data is distributed; and

generating at least one of metadata and statistics on the dataset.

18. The article of claim 17 , wherein evaluating the selected database partitioning scheme further comprises performing at least one of the real workload execution by loading the dataset into the database management system and the simulated workload execution by loading at least one of metadata and statistics on the dataset into the database management system rather than the dataset itself.

19. An apparatus comprising:

a memory; and

a processor operatively coupled to the memory and configured to:

select, via a graphical user interface, a database benchmark configuration of a database management system, wherein the selecting of the database benchmark configuration further comprises a configuration of: a size of a dataset; a workload to be used in the evaluation; and a number of distributed nodes in the database;

select, via the graphical user interface, at least one database partitioning scheme from a plurality of database partitioning schemes for the database management system;

configure the selected database partitioning scheme through the graphical user interface comprising selectable features to: select one or more partitioning keys; partition and distribute data; route one or more queries; and re-partition the database in response to a change to the number of distributed nodes of the database;

evaluate the selected database partitioning scheme based on the configuring step and the selected database benchmark configuration, and generating evaluation results, wherein, in evaluating the selected database partitioning scheme, the processor is further configured to:

apply the selected database partitioning scheme to perform one of a real workload execution and a simulated workload execution; and

obtain a performance metric resulting from the application of the selected database partitioning scheme to one of the real workload execution and the simulated workload execution; and

generate a presentation for the graphical user interface based on at least a portion of the evaluation results, wherein the presentation is configured to provide at least an indication of a performance of the selected database partitioning scheme given the configuring step and the selected database benchmark configuration.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2014
From: GUO, XIAOYAN; CAO, YU; TODD, STEPHEN
To: EMC CORPORATION
Reel/Frame 033944/0534 →