Skip to content

v1.0.0

Latest
Compare
Choose a tag to compare
@connoro7 connoro7 released this 04 Dec 22:43
· 2 commits to main since this release
31e4aa2

We are proud to present Query IQ (QuIQ), a powerful tool that empowers developers to take control of their PostgreSQL databases. Whether you are an experienced developer looking to optimize performance or a novice seeking guidance, Query IQ is here to simplify the process and enhance your development experience.

The main goal of Query IQ is to provide a one-stop-shop for developers who seek to fine-tune their application’s interactions with a SQL database. By connecting their database, Query IQ enables developers to gain valuable insights on their database from a holistic standpoint, and to receive performance data through live query execution directly to their database.

🏥 Overall Database Health Metrics 🏥
One of the key reasons why Query IQ’s features are essential lies in the importance of monitoring the overall performance of a database. By keeping track of crucial metrics such as query execution time, memory usage, and cache-hit ratio, developers can identify and address performance bottlenecks. Query IQ’s intuitive interface allows users to visualize these metrics in helpful graphs and gain valuable insights into their application’s efficiency.

Furthermore, Query IQ goes beyond basic monitoring by providing actionable information on areas that require optimization. Whether it’s identifying inefficient queries, analyzing data distribution through row counts and index scans, or evaluating the size of tables and indexes for capacity planning, Query IQ equips developers with the necessary tools to fine-tune their databases for optimal performance.

By monitoring the overall health of the database, Query IQ helps developers manage server capacity, detect connection leaks, and ensure a smooth and efficient operation. These insights enable proactive optimization, enhancing the user experience and maintaining a robust and scalable system.

📸 Snapshot Query Performance 📸
Query IQ provides developers with a snapshot view of how individual queries perform within their database. This granular level of analysis allows developers to dive deeper into query performance and optimize their database interactions effectively.

Query IQ offers insights into query plans by aggregating actual time, rows, and width. This information provides a clear understanding of how the query planner operates and helps identify potential areas for improvement. Additionally, Query IQ tracks planning time and execution time for queries. Monitoring these metrics aids in identifying queries that may have excessive planning time or lengthy execution time.

To facilitate easy query comparison, Query IQ maintains a query log that records the order in which queries are made. Developers can assign customizable labels to specific queries and conveniently add or remove queries as needed. This flexibility allows developers to organize and manage their queries effectively, streamlining the optimization process.

❓How it works❓
Query IQ was designed as a simple solution for receiving database performance metrics with only a few simple inputs. Users navigate to the landing page where they can create a secure account through GitHub OAuth. Once the account is created, the user can input their Grafana and database information, and instantly receive several graphs detailing advanced metrics of their database.

Individual queries can also be added in the query input at the top of the page, returning specific graphs related directly to the performance of that query in the database. To facilitate easy query comparison, Query IQ maintains a query log that records the order in which queries are made. The user can save and label that query for later reference, and conveniently add or remove queries as needed. The application supports the addition of many individual queries, and allows developers to organize and manage their queries effectively, streamlining the optimization process.

🔧 Under the hood 🔧
Query IQ utilizes Grafana, an open-source data visualization and monitoring platform, to manage the database connections, performance metrics, and integration of customized graphs within the application. Upon entering Grafana and user database credentials, Query IQ sends custom requests to the Grafana API to establish a valid datasource. This datasource enables Query IQ to retrieve real-time data from the user’s database.

After establishing a valid datasource, Query IQ leverages Grafana’s API to create a custom dashboard containing all the panels necessary to track the overall health and performance of the database. The graphs and metrics are then rendered on the main page for users to easily access and view.

When the user inputs custom queries, an additional request is sent to the Grafana API to build a custom query dashboard for displaying the specific query metrics within the database. Disconnecting the database or deleting custom queries will remove those sources from the Grafana instance to clear connections and avoid overpopulating the instance.

🔒Security🔒
At Query IQ, we believe that the best way to protect user information is to not collect it. We also believe that users should have full access and ownership over how their data is used. Query IQ does not store any user database or Grafana credential information at all — that information is only ever stored locally on the client machine. The only information that Query IQ persists is your Github OAuth session, and all user information is destroyed after expiration of a user session. Even the most well-built applications are at risk of undiscovered exploits, and so we found it paramount to choose an architecture that air-gaps sensitive client information, eliminating any threat of data-breach.

🏇Make your database QuIQer! 🏇
Take your database performance to the next level with Query IQ! Visit our GitHub repository and try out our application to experience the power of optimized database interactions. Make your database QuIQer and unlock the full potential of your applications. Get started today with Query IQ and your database will thank you!