About Database Designer

Vertica Database Designer uses sophisticated strategies to create a design that provides excellent performance for ad-hoc queries and specific queries while using disk space efficiently.

During the design process, Database Designer analyzes the logical schema definition, sample data, and sample queries, and creates a physical schema (projections) in the form of a SQL script that you deploy automatically or manually. This script creates a minimal set of superprojections to ensure K-safety.

In most cases, the projections that Database Designer creates provide excellent query performance within physical constraints while using disk space efficiently.

General Design Options

When you run Database Designer, several general options are available:

  • Create a comprehensive or incremental design.
  • Optimize for query execution, load, or a balance of both.
  • Require K-safety.
  • Recommend unsegmented projections when feasible.
  • Analyze statistics before creating the design.

Design Input

Database Designer bases its design on the following information that you provide:

  • Design queries that you typically run during normal database operations.
  • Design tables that contain sample data.

Output

Database Designer yields the following output:

  • A design script that creates the projections for the design in a way that meets the optimization objectives and distributes data uniformly across the cluster.
  • A deployment script that creates and refreshes the projections for your design. For comprehensive designs, the deployment script contains commands that remove non-optimized projections. The deployment script includes the full design script.
  • A backup script that contains SQL statements to deploy the design that existed on the system before deployment. This file is useful in case you need to revert to the pre-deployment design.

Design Restrictions

Database Designer-generated designs:

Post-Design Options

While running Database Designer, you can choose to deploy your design automatically after the deployment script is created, or to deploy it manually, after you have reviewed and tested the design. Vertica recommends that you test the design on a non-production server before deploying the design to your production server.