Database Design and Performance

Why is database design important?

A well implemented database is reliable, accurate and efficient. It also supports analysis, reporting and management. This is critical for business as it:

  • Is a source of business information
  • Underpins many business functions
  • Provides data to staff and customers
  • Supports the freedom to spend more time using the data and less time maintaining the data

We’ve helped our customers with a wide variety of database projects including data cleansing, import, database design and database performance.

Database design Principles

The process of database design requires understanding how a business works and how it generates, consumes and stores its data. Often the business will have a common language that defines what it does and gives an insight into how it operates. We can make a start on designing a database after.  This lets us make a start by asking a set of very simple questions:

  • Where does the data come from?
  • What counts as valid?
  • And what counts as invalid?
  • How do you need to manage it?
  • Any special conditions, requirements and constraints?

Of course it’s also true that a company may already have a data system in place. These questions may have already been answered during the original project but asking them again sets the scene for new work, changes and improvements.

Good database design translates all of this (and more) into a design that maps how the business thinks and works and from there into a physical database.

Database performance monitoring and maintenance

Database performance testing is more than adding a few indexes. Whilst it’s possible to have too few, it’s also possible to have too many. Or more simply that they need maintenance.  The design, where it’s hosted and on how powerful a computer also play a role and this is why you need an expert database designer. After all why pay for more computing power if you can restructure your queries and remove unnecessary maintenance tasks?

However, it’s not always apparent where future database performance issues and maintenance issues can come from. Many database products will perform quite adequately, even with a badly designed database, until the volume of data and queries reaches some critical mass. As requirements change and data volumes grow, it’s necessary to improve on, extend or even rebuild what you have. This is known as database performance tuning.

Conversely you may need to review how data gets into the system.

Regardless, slow processes result in slow teams and a slow business.

A well designed database is performant, easy to maintain and easy to plan for scale. This allows a business to access accurate data information, to respond quickly to the market and take advantage of faster reporting and analysis. It makes better, more informed decisions.