SeeQR: Database and Query Design Optimized

SeeQR
4 min readAug 4, 2022

--

With great web traffic comes great responsibility to optimize for further web traffic. As any developer who’s worked with relational databases knows, intelligent database and query design is paramount when it comes to responsiveness and data integrity at scale. In turn a well-optimized data environment will help drive user adoption, optimize developer workflow, and yield a cornucopia of other benefits when developing with scalability in mind.

SeeQR is designed to empower developers to adhere to good database design principles while doing the heavy lifting when it comes to making decisions on how to efficiently design, tweak and optimize their SQL databases. It does so by providing a suite of analysis and visualization tools, including query runtime performance metrics, query execution plan visualization, and entity relationship diagramming.

Towards A More Dynamic SeeQR

SeeQR 8.0 brings mySQL support to SeeQR, dramatically expanding the breadth of projects that SeeQR can support. This update also adds a number of quality of life changes to SeeQR’s existing feature-set. Download the new update here, or keep reading for an overview of what’s changed!

MySQL server integration

SeeQR is now able to connect to both local PostgreSQL and MySQL server instances! To facilitate making this process as user-friendly as possible, we’ve also added a configuration panel, which allows a user to input their username and password for their MySQL and PostgreSQL servers, as well as choose their server port.

Creating A New Database

We’ve not only added the ability to create MySQL databases in SeeQR, but we’ve streamlined the database creation process. Previously when users went to the new database tab they were presented with options to initialize, edit, and update a database. Though this view was intended to allow users flexibility during the schema design process, we found that in practice it worked against and frustrated users who simply wanted to create a new database as a first step in their design process.

Keeping this in mind, the create new database view has been radically simplified, and now consists of a name field, and a dropdown from which the user can select either a MySQL or PostgreSQL database. The other functionality of updating and querying a new database is still present, but is now done solely from the database tabs in the sidebar. We believe that this change will result in less frustration and more productivity for users creating new database schemata using SeeQR.

Database Tags

Once a user has created a database, it will appear in the sidebar. With the implementation of MySQL we have added a tag to each database name which indicates its type.

Queries

The Query view remains largely unchanged, but now has a dropdown menu from which existing PosgreSQL and MySQL databases can be selected for querying.

ER diagram

We’ve made some changes to how the ER diagram displays schema information, which should allow for a better user experience when navigating and making changes. Previously though you could customize your table layout manually, schema data was rendered horizontally by default, making it difficult to navigate and organize mid-to-large-sized schemas. With this change, you can still tweak your layout to your liking, but schema tables now render in a grid by default, creating a more intuitive layout and better utilizing the ER viewing area. Additionally, to assist users navigating between schema tables, we’ve tweaked zoom functionality to support a much wider field of view.

The future of SeeQR… What’s next?

An exciting result of the changes we’ve made with SeeQR 8.0 is that they lay the groundwork for scaling database integration in the future. We hope to see this result in support for additional database management systems beyond MySQL and PostgreSQL in future releases.

Get Involved

Support for SeeQR comes from OSLabs, a tech incubator whose mission it is to support innovation, collaboration and iteration within the open source development community. If you would like to be a part of SeeQR’s development adventure visit our Github to learn more about how to contribute to our codebase.

The SeeQR 8.0 Team

Chris Fryer: Linkedin | Github

Fred Jeong: Linkedin | Github

Gabriel Kime: Linkedin | Github

Ian Grepo: Linkedin | Github

--

--