O MySQL5 representa um enorme passo adiante em relação ao MySQL4, ao disponibilizar as prepared statements, com funcionalidades como functions e stored procedures. Passar a business logic para a Base de Dados (BD) foi um passo que demorou a acontecer e foi bastante reflectido. E que fez todo o sentido na ocasião presente.
A Casavalor é um projecto, em desenvolvimento, que coloca ao dispor dos utilizadores que procuram casa algoritmos avançados de pesquisa. Na base da bateria de cálculos está o FIT: uma medida que calcula a proximidade entre as preferências do Utilizador e as caracteristicas do imóvel em 22 parâmetros tão abrangentes como a localização, a qualidade da zona envolvente, proximidade de escolas, a eficiência energética do edifício, etc...
Sendo o número expectável de imóveis activos na BD na ordem das varias centenas e os Utilizadores na ordem dos milhares, desde o início pensámos num sistema de informação focado na eficiência e rapidez no tratamento dos dados em tempo real.
As prepared statements permitem transpor para a BD o processamento dos complexos cálculos a realizar, reduzindo ao mínimo o número de acessos à BD por cada tarefa executada. Tendo em atenção o número de parâmetros e registos a transitar entre as duas camadas da aplicação, poupamos recursos (CPU) e tempo aos Utilizadores, trazendo satisfação ao Cliente.
Dum ponto de vista mais técnico, é importante referir que o PHP e MySQL5 ainda deverão ser melhorados nalguns aspectos. Refiro apenas dois pontos, bastante práticos:
PROCEDURE MyStoredProcedure can't return a result set in the given context»), a não ser usada a extensão MySQLi do PHP;Apesar destes aspectos que concerteza serão revistos em próximas versões, que prejudicam o desenvolvimento, as melhorias a nível de desempenho da aplicação fazem toda a diferença e tornam esta tecnologia habilitada para aplicações de alto nível de exigência em termos de complexidade e desempenho.