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 projects including data cleansing, import, database design and database performance.

Database design

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. 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 its 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 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 and maintenance

Performance in a database 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 experts. 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 performance 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. 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.