New Product Announcement: MAGNABase

MAGNABase Database Analysis and Tuning Tool

Having been originally conceived as “DBA-in-a-can” tool, this product quickly grew into an “IT-consulting-team-in-a-can” system. In a matter of seconds, it performs a wide array of functions that are time-consuming and are normally handled by expert DBAs, operations, and software developers. It can potentially save between hours and months of work, for small to medium IT teams that cannot afford full-time database experts on payroll. Here’s how it works.

Through its plugins, MAGNABase supports a growing number of database back-ends. Currently they are:

  • MS SQL Server
  • MySQL
  • Oracle
  • PostgreSQL

On each, it can perform a set of analytical operations. Support varies from engine to engine. Almost all of the analyses produce a script that can then be reviewed, adjusted, and applied in a controlled manner. No direct changes are immediately made to the database, and superuser access is not required by MAGNABase. Refer to the plugin feature matrix for the features supported by DB back-end plugins.

MS SQL MySQL Oracle PostgreSQL
Slow-running queries   
Storage overstatement      
Compression      
Insecure table access   
Table audit
Missing indices   
Unused indices         
Models            

Slow-running queries

This analysis uses several objects that MAGNABase creates in its own database on your server. At the center of it lies a variation of the famous Who Is Active stored procedure that runs on a specified schedule, in SQL Agent. The schedule interval alone defines how long is considered ‘long’. During its every iteration, the job collects information about the queries that are still running since the previous one. This information can then be visualized by MAGNABase in a user-friendly format. It is retained for a user-configurable number of days.

Compression

This analysis calculates statistics on the data in table columns and determines whether they can benefit from compression. It then generates a script that compresses columns that would compress considerably.

Storage overstatement

This analysis looks at column data types across your database and analyzes data stored in them. By comparing these two values, it determines by how much column data width or data type can be adjusted, in order to reduce table and index storage requirements while still preserving the integrity of the data. This analysis can be configured to pad character data by a desired value.

Insecure table access

This analysis uses the pattern of access to tables via stored procedures. It generates a script that creates CRUD stored procedures and revokes select/insert/update/delete permissions from users. By applying this script, the DBA can then expose the database to the outside world only through the stored-procedure-based API, preventing any user from directly accessing the data.

Table audit

This analysis creates audits for the tables in your database.

Missing indices

MAGNABase reviews history of query plans and determines which tables and columns can benefit from the creation of indices, then generates a script that creates them. This can dramatically improve performance of some of slower queries.

Unused indices

Opposite the Missing Indices analysis, MAGNABase determines which indices are not used by any queries and generates a script that drops them. This is beneficial to the reduction of extra storage space and improves performance.

Models

Common among all of the supported storage engines is the generation of high-level programming language models from tables. Currently, the following languages are supported:

  • C#
  • Java
  • PHP

For each language, MAGNABase can be configured to expose columns as public fields, getters, getters and setters, or getters and setters with property change notification. Minimal manual editing may be required, and it normally does not go beyond global search and replace.

Leave a Reply

Your email address will not be published. Required fields are marked *