Ola Amigo, ja tenho programa CGI com xHarbour a 3 anos, so agora to documentando meus trabalhos e experiencias com o mesmo.
No meu site tem um projeto chamado CGILIB, que ainda não é o nome oficial, estava para lançar toda documentação rerlativa a xHarbour para Web esta semana passada, mas devido a correria para finalizar nosso PDV nao coloquei no ar por falta de tempo para dar um suporte.
No meu site tem link para diversos exemplos.
São CGIs nativas para servidores windows e linux acessando o banco de dados que você quiser, pois ai demanda o uso de RDDs ou componentes de acesso.
O certo é que, um cliente que usa a CGILIB que criei a 2 anos tem toda a estrutura do seu site em DBF/CDX, o site é:
www.mst.com.br
Em login entro com: 01
senha: mst
A partir dai, tudo é DBF com CDX.
A empresa que usou fez testes, comparam com MySQL para poder boicotar o uso da lib, me falaram, quando estive lá, que o site com DBF ficou cerca de 10 vezes mais rapido que MySQL e mais seguro, que só o fato do usuario não imaginar que é um banco de dados de acesso "direto", ja faz com que possiveis invasores fiquem dias tentando se conectar o MySQL online sem sucesso.
O fato é que, o MySQL seleciona os dados para enviar pros clientes, em si, o servidor MySQL faz o serviço sujo e tudo só é processado no servidor, é exatamente o que acontece quando usamos o xHarbour para programar CGI, tudo é processado no servidor, sem risco.
MySQL não é garantia de fim de problemas, mas de redução dos mesmos, mas continuo pregando que, se não tiver um grande volume de informações, melhor usar o DBF mesmo, que é seguro e se apresenta para aplicações WEB mais rapido que o MySQL, teste que não foi eu quem fiz, até a CONAB queria por tudo em Postgres, mas não tinham um volume fisico para isto, iam perder em desempenho, devido ao pequeno volume e muitas funcionalidades que com DBF teriamos. Então, ficou tudo em DBF mesmo, com servidor de aplicação, sem problemas de quebra de indices e muito menos de acesso de pessoas não altorizadas.
Minha opnião é, se todo o dia, seu cliente armazena mais de 50 mil registros (somando de todas as bases de dados) o caso é para banco relacional, se nao chegar a isto, for um volume menor, prefiro continuar com DBF mas sempre dando a opção para o cliente usar quando precisar.