gildot

Topo
Sobre
FAQ
Tópicos
Autores
Preferências
Artigos
Sondagens
Propor artigo


8/3
gildicas
9/30
jobs
10/9
perguntas
10/25
press

 
MySQL com... batatas??
Contribuído por AsHeS em 29-11-05 13:49
do departamento das questões
Bases de Dados Patafurdio escreve "Ola Pessoal do Gildot.
Gostaria de pedir aqui a opinião sobre uma solução que tenho que desenvolver durante os próximos 5 meses.
Tenho um cliente que pretende que lhe desenvolva um software para gestão da sua empresa que publica uma edição anual de uma Lista Telefónica e Páginas Amarelas." [Continua ...]

Basicamente esta solução destina-se a gestão de clientes/contactos (Call center/Vendedores), facturação (Dep. Gestão), listagem e exportação de contactos e arquivo das imagens Publicitarias que serão publicados na edição em papel (Dep. Edição Gráfica) . Na empresa existe um programa de contactos antigo a correr em DOS do qual já exportei os dados para o MySQL sem qualquer dificuldade. O cliente pretende também que lhe desenvolva um website tipo paginas amarelas on-line, no qual irei ter que usar os dados da mesma BD dos clientes do programa de gestão.

A minha ideia, tendo em conta as ferramentas/conhecimento que possuo seria usar para a base de dados um servidor Linux local a correr MySQL, e desenvolver um programa em VB para os postos de trabalho para aceder a base de dados usando o VBMySQLDirect API que já há algum tempo atras experimentei a parece ser eficiente. Outra solução possivel seria instalar tambem Apache e PHP no servidor e desenvolver o programa de acesso em PHP com o qual também me desenrasco. Neste caso seria excelente usar também AJAX, mas este ainda nem sei por onde lhe pegar e o tempo que tenho disponivel para aprendizagem tambem é pouco.

O servidor web para o website de Paginas Amarelas On-Line seria um servidor remoto num Datacenter, pois o cliente não pretende dispender dinheiro numa linha dedicada para servidores de Internet. Assim, o servidor local periodicamente actualizaria a BD MySQL do servidor On-Line que corre o site em PHP, assim como futuramente caso seja pretendido, exportaria as imagens publicitárias arquivadas para poderem também ser visualizadas no site.

Assim, agradecia que me dessem a vossa opinião principalmente nos seguintes aspectos:
- Tendo em conta que VB ou PHP sao as linguagens que não preciso perder grande tempo com aprendizagem na vossa opinião qual usariam e porquê?

- Que outro metodo/linguagem aconselhariam usar caso houvesse mais tempo??

- Li algures sobre a criação de um sistema de ficheiros usando Postgres, isto faz-me colocar a hipotese de guardar as imagens tambem na BD. Como ser portaria o MySQL? Qual seriam os pros e contras? Guardar apenas o path da imagem e usar rsync para actualizar o servidor web nao iria ser muito menos carga para o servidor?

- Outras cenas...


Digam a vossa justiça, e desde já obrigado pela ajuda.


...um Patafurdio qualquer.... "

O Gildot agora pode ser incluido com o Firefox! | Trojans Pre-Instalados: Alguem é Servido?  >

 

gildot Login
Login:

Password:

Referências
  • Linux
  • VBMySQLDirect API
  • Mais acerca Bases de Dados
  • Também por AsHeS
  • Esta discussão foi arquivada. Não se pode acrescentar nenhum comentário.
    Apache (Pontos:1)
    por bk em 29-11-05 14:27 GMT (#1)
    (Utilizador Info) http://preto.pt.vu
    Se ja tens a base de dados em Mysql, 5 meses é mais que suficiente para criar as tais paginas amarelas em php, basta um formulario e depois fazeres um query...vá digamos uma procura..
    Mas isto sou eu..

    aqui no Gildot, Erros havér Num Pode
    Re:Apache (Pontos:1)
    por BEOWULF em 29-11-05 15:01 GMT (#3)
    (Utilizador Info) http://filipe.eclipsis.ca
    Bem... pelo que li, o problema dele não é propriamente o website...
    Eu usaria cakephp e realbasic (Pontos:1)
    por Uranus em 29-11-05 14:46 GMT (#2)
    (Utilizador Info) http://www.wikify.net
    Mas isso sou eu... se so tens 5 meses se calhar é melhor fazeres as coisas à tua maneira. Não percas muito tempo a tentar descobrir outras tecnologias que te roubem metade desse tempo só a descobrir como funcionam.

    Resumindo, usaria CakePHP para a web front-end. Se já trabalhaste com este modelo consegue-se fazer o que queres em 30 minutos.

    Para o software das workstations talvez o realbasic. Tenho tido muito boas experiencias com ele e compila pra Windows, Mac OS X e Linux. (até tem um wizard pra converteres projectos de VB6 para realbasic!)
    php (Pontos:1)
    por radaway em 29-11-05 17:36 GMT (#4)
    (Utilizador Info) http://radaway.no-ip.com
    Sem dúvida ia para solução php que evitaria estar a instalar software nas workstations todas.

    A ideia de usar postgres em vez de mysql parece-me boa, já o guardar imagens na base de dados não percebo a vantagem, o sistema de ficheiros já faz isso muito melhor que qualquer base de dados.

    O Windows tem um problema de design, é como umas calças com a breguilha na parte de trás, por muitos cintos que metam nunca ficam seguras. - radaway
    Opções (Pontos:2)
    por Ancestor em 29-11-05 21:49 GMT (#5)
    (Utilizador Info) http://www.norteglobal.com
    Pela descrição que fizeste, a solução mais simples será sem dúvida a utilização de uma linguagem como o php ou python para desenvolveres a aplicação, benificiando ainda das múltiplas bibliotecas disponíveis.

    Penso que a feature do PostgreSQL a que te referias são a utilização de tablespaces, mas a sua funcionalidade é bastante diferente do que descreveste. Mais informações aqui.

    Quanto a outras hipóteses de desenvolvimento, é mais uma questão de preferência de linguagem. Cada solução apresentará as suas vantagens ou desvantagens. Por exemplo, para desenvolvimento RAD em Win32 prefiro de longe o Delphi a qualquer outra solução existente. É extremamente rápido, e a interligação com Postgres/Mysql/Firebird pode ser feita recorrendo à biblioteca ZEOSLib. Para quem prefere C++ o C++ Builder providencia um sistema equivalente, mas para C++. Existem também alguns projectos extremamente interessantes em torno do FreePascal, como por exemplo o Lazarus.

    Para SGBD, a minha escolha recai exclusivamente sobre PostgreSQL. É rápido, escalável, possui características interessantes (como a criação de tipos, por exemplo) e é possível utilizar múltiplas linguagens, desde PHP a Java (disponíveis sob plugins) para a criação de stored procedures. Além disso, está disponível uma ferramenta de administração (pgAdmin) que realmente funciona, ao contrário do que acontece com o MySQL.

    Resumindo, após escolheres a plataforma ou plataformas que pretendes, e utilizando um bom SGBD (Postgres! :D), penso que o ideal é utilizares algo que domines e com que te sintas confortável.

    Já agora, se gostares de C++, o Ultimate++ parece promissor.


    Why do you Linux and drive when you can BSD and fly?
    Re:Opções (Pontos:2)
    por Ancestor em 29-11-05 21:51 GMT (#6)
    (Utilizador Info) http://www.norteglobal.com
    Ouch... onde se lê "benificiando" dever-se-ia ler beneficiando :P


    Why do you Linux and drive when you can BSD and fly?
    Re:Opções (Pontos:2)
    por raxx7 em 29-11-05 21:54 GMT (#7)
    (Utilizador Info)
    Penso que a feature do PostgreSQL a que te referias são a utilização de tablespaces, mas a sua funcionalidade é bastante diferente do que descreveste.

    Já agora, o PostgreSQL armazena campos do tipo BLOB em ficheiros separados. Há quem aproveite isto para armazenar ficheiros relativamente grandes na DB. Talvez fosse a isso que ele se estava a referir.


    Re:Opções (Pontos:2)
    por raxx7 em 29-11-05 22:01 GMT (#8)
    (Utilizador Info)
    s/BLOB/large binary objects :)

    Re:Opções (Pontos:2)
    por DomusOnline em 30-11-05 9:41 GMT (#9)
    (Utilizador Info) http://bandalarga.domus.online.pt/
    O uso disso provoca normalmente guerras santas... As vantagens são:

    - Garantes a integridade desses objectos no âmbito da BD (uma transação pode incluir acções sobre eles)
    - Podes tirar partido de funcionalidades extra da BD para manuseamento desses objectos (BDs extensiveis, em que podes por exemplo manusear imagens, documentos etc. no SQL directamente)


    As desvantagens:

    - Normalmente há formas mais eficientes de guardar os objectos
    - Normalmente se os objectos estiverem em file system é mais fácil integrar com outras coisas (web servers, application servers) - A cache fora da BD pode ser mais eficiente que dentro da BD


    Pessoalmente penso que é uma questão de peso das vantagens sobre as desvantagens e em particular do tamanho e número dos objectos.

    Cumprimentos.

     

     

    [ Topo | FAQ | Editores | Contacto ]