Database Design & Optimisation

The unfortunate reality is that many web developers neglect to spend adequate time on database design/modelling, assuming that a database is only used as a data store.
Poor database design, choice of database vendor and/or database engine along with inefficient SQL queries can lead to many problems:

  •  Data loss.
  • Data integrity violations – causing skewed, ambiguous, unusable data.
  • Slow SQL queries – will also slow down your web application/website and negatively affect your visitor’s experience and retention.
  • Expensive data mining – More time and effort is required with cost implications.

 

This can all be avoided by properly planning the database model, based on the technical specification, and following good database design practices in terms of normalisation, constraints, indexes etc. – ACID compliance where applicable.

It becomes significantly more difficult to correct a poorly designed database after it has gone into production and has started collecting data (dependant on data volume) -its a good idea to get it right the first time!

I’ve been working extensively with MySQL databases and variants and have modelled relational databases with up to 200 tables, partitioning of 100mill+ records, normalised and tuned for performance. I also have good experience with facades and the EAV model as used by Magento commerce.

Some database services I offer:

  • Custom Database design.
  • Altering of existing databases.
  • Data mining.
  • Database & query optimisation and profiling.
  • Cloud databases.