Presentation is loading. Please wait.

Presentation is loading. Please wait.

Visual Database Optimization Team Clint Johnson, Sunpreet Jassal, Thanh Nguyen-Huynh & Masamichi Sugihara. Oct. 17, 2006.

Similar presentations


Presentation on theme: "Visual Database Optimization Team Clint Johnson, Sunpreet Jassal, Thanh Nguyen-Huynh & Masamichi Sugihara. Oct. 17, 2006."— Presentation transcript:

1 Visual Database Optimization Team Clint Johnson, Sunpreet Jassal, Thanh Nguyen-Huynh & Masamichi Sugihara. Oct. 17, 2006

2 Problem Scenario 1 Jeff is a database administrator of a PostgreSQL database with around 10 tables. He has a list of new SQL queries to test and needs to see the structure of tables with respect to the indexes to determine if the search would use an index, whether an index is warranted and on which column.

3 Problem Scenario 1 To get an optimal performance, Jeff needs to know the following: Which tables have and do not have indexes? Which columns the indexes are associated with? Which type of index is applied to a particular column, if any? What is the approximate size (number of rows) of each table in the database?

4 Problem Scenario 2 Jones is a database administrator of a PostgreSQL database with around 12 tables. His database has been running with "logging enabled" for the purpose of collecting query information. Jones needs to determine whether the SQL queries taking a long time are using an index and its use is warranted. Jones also needs to distinguish between queries that change state and those that do not.

5 Problem Scenario 2 Specifically, Which queries have gone beyond a threshold of time? How many of such queries are being done upon a particular table? Whether that table has an index and of which type? Whether that table's index is being used in the query? How many queries change data in the table and how many do not?

6 Proposed Solution A combination of bar graph and table where the table contains the overview information: table name, size (number of rows) indexes applied with color-coded type Bar graph displays the SQL queries (after “logging enabled”) as it allows for easy comparison Table and index details appear on-demand, when the user selects a particular table, to reduce information overload A filtering option to select fewer tables

7 NameTable 1Table 2Table 3Table 4Table 5 Index type ■ ■ ■ ■■ ■ ■ ■■ ■■ ■■■ ■ ■■ ■ ■■ ■■ ■ Queries10080209050 Time (ms)2.001.200.201.401.00 Size1000800200900500 Table property Name: Table 1 Indexes: Columns: Column 1, Column2, Column 3 B-tree Hash GIN GIST Filter Name:________ ~ ________ Index type: ■ ■ ■ ■ Queries:________ ~ ________ Time :________ ~ ________ Size :________ ~ ________

8 Implementation Java (Java2D and Swing) for application development Toolkits/frameworks for graphics: Ptplot Prefuse Perl module for SQL statement parsing SQL::Statement

9 Milestones Oct 19 Finalize toolkits/frameworks Nov 2 Implement the overview db table view using Java Swing (Sunpreet) Integrate bar graph and table using Ptplot/Prefuse (Clint & Thanh) Implement on-demand box and table using Java 2D/Swing (Masamichi) Nov 8 Create test db schema or find open source ones (Sunpreet, Clint) Find/write sample SQL queries (Clint, Masamichi) Do proof of concept parsing on db log file with Perl (Sunpreet)

10 Milestones Nov 10 Update presentation file (Sunpreet) Nov 16 Complete visualization aspect (everyone) Complete db log parsing work (Sunpreet) Nov 18 Write final presentation (everyone) Time permitting: Filter functionality

11 Q & A


Download ppt "Visual Database Optimization Team Clint Johnson, Sunpreet Jassal, Thanh Nguyen-Huynh & Masamichi Sugihara. Oct. 17, 2006."

Similar presentations


Ads by Google