Currently we are in development of a SaaS application and we need a MySQL database expert.
The person that I am looking for should live and breathe database design, performance and optimization.
Your task will be to work periodically as a consultant with the development team who are currently building the application. We are at the development stage at the moment so designing for database performance is absolutely crucial. You will need to give your expert opinion regarding database design and optimisation.
I need someone with a thorough in depth knowledge of optimizing MySQL databases for performance using an Enterprise level approach with the following in mind:
- Design for performance
o Database admin configuration for performance
o Table Design (Normalisation, Cardinality, Choice of data types)
o Data storage (Disk foot printing)
o Correct indexing
o Query Caching etc…
- A knowledge of multi-tenant architectures
- Storing user defined values
- Alternatives to EAV to store user defined values
• Ability to communicate in clear English is required.
• Experience in SaaS applications is highly desirable.
• Solid PHP experience is highly desirable.
- Please state your experience clearly
- Please answer the screening questions below
For me to consider you, please answer the following two questions:
1. If you were to design a SaaS application on a LAMP stack, which multi-tenant architecture would you use and why?
2. Assuming your multi-tenant architecture was based on a single database design and you had a TASK table which stores tasks (you’ll need to think for yourself about what a ‘task’ is), how would you store the data with performance in mind? Every tenant might end up having between 5000-25000 tasks... Would this change your approach?