Pessoal, seguinte: Como alguns têm acompanhado, estive desenvolvendo uma extensão para o Postgres. Após grande esforço a mesma encontra-se concluída (versão 0.0.0.0.1 hehehe). Estou providenciando a publicação do projeto e dos códigos fontes para a comunidade e brevemente estarei informando aqui onde estes podem ser encontrados.
Antes disso, gostaria de discutir sobre as funcionalidades que ela (extensão) pretende atender. De início, trata-se de uma implementação de um algoritmo genético (http://www.obitko.com/tutorials/genetic-algorithms/) para ser utilizado dentro do postgres. As aplicações podem ser as seguintes: Otimização de consultas – Consultas de avaliação de grandes massas podem ser otimizadas, para terem um tempo de resposta menor. Mineração de dados – Dados podem ser minerados utilizando-se de heurísticas específica. Automação de processos de decisões – Este é o foco! Fazer com que decisões sejam sugeridas com base em alguns critérios (mais informações serão dadas posteriormente); Dentre outras possibilidades. Como funciona: A extensão já possui a implementação básica do algoritmo, bastando apenas que o usuário informe algumas operações básicas (criação, mutação, cruzamento e avaliação de uma solução) em qualquer linguagem suportada pelo postgres, as demais etapas já estão implementadas. Os tipos de dados podem ser os mais diversos, desde tipos primitivos a tipos definidos pelo usuário, dependendo da necessidade. Testes: Foram realizados alguns testes e constatado que a funcionalidade pode ser bem aproveitada. Uma consulta que durava cerca de 3 horas para ser executada pode ser realizada em 20 segundos. O tempo de resposta pode ser ainda aprimorado, dependendo da necessidade. A margem de acerto (média) ficou em torno dos 80%, já que a consulta genética não é determinística e sim, probabilística. Pode-se afirmar que em determinadas situações, com maior massa de dados e em um ambiente de produção em que os critérios de avaliação podem ser os mais diversos esse tempo de 3 horas poderia ser muito maior, talvez dias!! Com a extensão o tempo de resposta pode ser controlado de modo a retornar, em curto tempo, uma resposta cerca de 80% verdadeira. Em uma organização começar a lucrar hoje 80% do que seria lucrado em dias à frente pode fazer toda diferença. A proposta ainda está meio teórica e ainda tem grande caminho a percorrer rumo ao cliente final, mas comprovadamente a aplicabilidade existe e faz sentido (ao menos para mim :-). No futuro serão implementadas outras metaheurísticas (ant, vns e outras). Vantagens: Controle de tempo de resposta em determinadas consultas; Funcionalidade genética incorporada ao postgres. Isso contribui para que a base de dados avance para base de informações e até decisões; Implementação simples – as implementações das operações necessárias são focadas no problema, abstraindo-se da manipulação genética propriamente dita; Estou aberto para discutirmos o assunto. Sei que a explicação não foi suficiente mas as dúvidas sobre a ferramenta serão sanadas à medida que surgirem. As principais perguntas são: Qual a opinião de vocês sobre essa funcionalidade? Alguém consegue vislumbrar uma aplicação desta para seu negócio? Quais pontos fracos podem ser apontados? Críticas são muito bem-vindas. Grande abraço a todos!!
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
