Software Engineer Internship — BEZNext
A full-stack Django web application built to support database performance tuning workflows. Connects to Snowflake, Teradata, and Oracle simultaneously — surfacing query execution history, compute metrics, and statistical analysis across multiple enterprise data warehouse platforms.
What it does
Connects simultaneously to Snowflake, Teradata, and Oracle using dedicated Python connectors — each with independent connection configuration and error handling.
Surfaces execution history with metrics like elapsed time, CPU time, bytes scanned, logical/physical I/O, compile time, and spill-to-storage — per platform.
For both the full result set and the filtered selection, calculates subtotal, average, and standard deviation — giving engineers a statistical view of workload variability.
Queries the BEZNext Oracle workload management system to look up system names, ruleset names, AppIDs, and usernames — enabling precise Teradata workload filtering.
Date range pickers, warehouse/system/ruleset dropdowns, sort column selector, and result count limiter — each dynamically populated from live database metadata.
Click any Query ID in the results table to fire an AJAX request that fetches and displays the full SQL text for that query live from the source database.
Snowflake
The Snowflake tab queries ACCOUNT_USAGE.QUERY_HISTORY to pull execution data filtered by date range, warehouse name, and result limit. Results are processed into a pandas DataFrame before statistics are computed and rendered.
Teradata
The Teradata tab adds an Oracle-backed workload layer: the app first queries the BEZNext Oracle system to identify the AppIDs and Usernames active during the selected window, then uses those to filter DBQLOGTBL_HST_V for matching queries.
Workflow
Selects date range, platform (Snowflake or Teradata), warehouse or system/ruleset, sort column, and result limit.
For Teradata, the app queries Oracle's model_session_metrics to find active AppIDs and Usernames in the time window.
The parameterized SQL query runs against Snowflake or Teradata with the user's filters applied, returning raw execution records.
Results are loaded into a pandas DataFrame. Subtotals, averages, and standard deviations are computed across the full set and the selected subset.
The processed DataFrame is rendered into an HTML response with clickable Query IDs that trigger AJAX calls for full SQL text retrieval.
Technology
Backend
Databases
Frontend
Ops