Skip to content

A Real-Time PostgreSQL Monitoring, Analysis, and Visualization Developer Tool

License

Notifications You must be signed in to change notification settings

oslabs-beta/ScanQL

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo
https://scanql.dev/

ScanQL is an elegant and effective tool designed to empower developers aiming for database and query optimization to ensure their operations run smoothly and efficiently. Beyond optimization, ScanQL offers a holistic view of a database, empowering one to understand the intricate details and interrelations within their database.

About The Project

TypeScript Javascript React React Router Postgres TailwindCSS Jest cypress Testing Library Docker Git NodeJS Express.js Vite Vitest HTML5 CSS3 RadixUI Chart.js

Features:

  • Database Visualization: Get a holistic view of your entire database schema, allowing for a better understanding of relations, data distribution, and table structures.

  • Query Performance Analysis: With ScanQL's testing mechanism, analyze the planning and execution times of generic SELECT and UPDATE queries, pinpointing potential bottlenecks and inefficiencies.

  • ER Diagram: Visualize intricacies of your database structure with our enhanced ER Diagram. Experience an interactive representation of your database's relationships and dependencies, making comprehension and optimization more intuitive than ever.

Why ScanQL?

  • Holistic View: Go beyond traditional data views and understand your database from a macro and micro perspective.

  • Empowered Decision Making: Make informed decisions about schema changes, indexing, and more based on the insights ScanQL offers.

  • Automated Tests: Without writing a single line of SQL, get performance metrics on commonly used SELECT and UPDATE queries as soon as you connect your database

How ScanQL Works

  • Visualizing the Database: Simply connect to your database by submitting your URI connection string for your Postgres database, and our tool will automatically provide you with an overview of the composition of your database, a detailed analysis of its size through various metrics, past performance analysis of quiries run on your database (Note: limited for unpaid versions of postgres databases), and also map out the database structure in the ERD tab, providing a visual representation of tables, relations, and more.

animated

  • Performing Query Tests: ScanQL will run a series of generic SELECT and UPDATE queries on each table in your database to determine planning and execution times. This provides a baseline understanding of how optimized your current setup is.

animated

  • Custom Query Testing: Input any query of your choice and get a comprehensive analysis of the performance of running that query. Understand metrics such as time taken, caching details, the type of scan used, and the number of rows hit. This deep dive enables fine-tuning and precise optimization of your database queries

animated

**Note**

  • PostgreSQL Database Provider Access: Ensure you have the appropriate permissions with your PostgreSQL database provider. Some metrics might be restricted depending on the access level you have.

  • pg_stats: If you are leveraging pg_stats for metrics, you may need additional privileges or access rights. Check with your PostgreSQL database provider or your system administrator for assistance.

If you encounter any issues or need more information, consult your PostgreSQL documentation or feel free to reach out to us!

Privacy & Security

At ScanQL, your privacy and security are paramount:

  • No Storage of URI Strings: We understand the significance of database URIs. ScanQL is designed to never store or cache your database URI strings, ensuring they remain confidential.

  • Data Privacy: Personal data and database contents remain entirely within your domain. ScanQL does not store, share, or transmit your data.

  • Secure Analysis: The metrics and insights provided by ScanQL are processed securely without any external sharing or storage. Our commitment is to offer optimization insights without compromising on security.

Contributing

We welcome contributions! If you find a bug or want to propose a feature, feel free to open an issue or create a pull request.

License

ScanQL is licensed under the MIT License. See LICENSE.md for more details.

Authors

Developed By Github
Daniel Kim Github
Sam Heck Github
Yahya Talab Github
Danny Murcia Github
Kurt Bulau Github