Qual a melhor maneira de montar um servidor FIREBIRD via int
Qual a melhor maneira de montar um servidor FIREBIRD via internet ?
Preciso ter um servidor com banco de dados FIREBIRD, que vai ser acessado localmente, e por outros pontos atraves da internet...
Tem como eu hospedar meu banco de dados firebird, em algum desses servidores que tem na internet, para acessa-lo via Delphi?
Qual a melhor opcao....? que não fique tao lento... ? Pois testei acessando diretamente via internet, informando apenas o IP do servidor, ficou muito lento....
Preciso ter um servidor com banco de dados FIREBIRD, que vai ser acessado localmente, e por outros pontos atraves da internet...
Tem como eu hospedar meu banco de dados firebird, em algum desses servidores que tem na internet, para acessa-lo via Delphi?
Qual a melhor opcao....? que não fique tao lento... ? Pois testei acessando diretamente via internet, informando apenas o IP do servidor, ficou muito lento....
Sistemp
Curtidas 0
Respostas
Denis
13/04/2006
use o Delphi com clientdatasets, e remotedatamodule.
No delphi 5 estavam na paleta Midas, e do 6 em diante na paleta datasnap. Funciona muito bem. Incluse tenho sistemas bem grandes rodando assim sem problema algum. Ah... e bem rápido.
Procure alguma coisa na net sobre Delphi com programação 3 camadas ou MultiTier.
No delphi 5 estavam na paleta Midas, e do 6 em diante na paleta datasnap. Funciona muito bem. Incluse tenho sistemas bem grandes rodando assim sem problema algum. Ah... e bem rápido.
Procure alguma coisa na net sobre Delphi com programação 3 camadas ou MultiTier.
GOSTEI 0
Camilo
13/04/2006
tb estou desenvolvendo um sistema q rode via net e rede local, tive varios problemas de lentidão via net.. vou citar e o q fiz pra resolver alguns...
meu maior problema foi trafego na rede... tipo,
quando entro na tela de clientes na rede local eu mostrava todos, na net só por demanda, e assim em todas as telas de consultas, o q tive q fazer foi transferir varios processos do delphi para o banco, tipo na h da venda tenho q gravar:
baixar o produto
gravar em produtos vendidos
se teve entrada gravar caixa
gravar faturas recebidas de clientes
se teve cheque gravar cheque recebido
se teve fat a receber gravar cada parcela em contas a receber, isso eu fazia via delphi, todos os testes, whiles e inserts, isso numa venda de 5 rpodutos em 10x demorava uns 4 minutos com uma velocidade do server 256k e do terminal 128k isso limpo essa velocidade, com uso apenas pra essas duas maquinas, quando mudei ´tudo´ pra SP no banco está cerca de 20 segundos, mais ainda naum está pronto, pois naum manjava nada nada de SP, e com a ajuda de alguns colegas no msn consegui fazer muita coisa... um cara q me ajudou bastante foi Emersonen... me ajudou muito... mais ainda está umpuco lento pois naum domino 100¬ de SP... estou estudando muito sobre o assunto e estou aprendendo e mudando meu sistema,... está ficando bom...
então naum sei se vc jah usa SP e triggers na sua aplicação, mais o q quiz dizer q esse eh o caminho, além de ter um ip fixo ou no-ip, mais q tenha um ip válido...
espero ter ajudado
meu maior problema foi trafego na rede... tipo,
quando entro na tela de clientes na rede local eu mostrava todos, na net só por demanda, e assim em todas as telas de consultas, o q tive q fazer foi transferir varios processos do delphi para o banco, tipo na h da venda tenho q gravar:
baixar o produto
gravar em produtos vendidos
se teve entrada gravar caixa
gravar faturas recebidas de clientes
se teve cheque gravar cheque recebido
se teve fat a receber gravar cada parcela em contas a receber, isso eu fazia via delphi, todos os testes, whiles e inserts, isso numa venda de 5 rpodutos em 10x demorava uns 4 minutos com uma velocidade do server 256k e do terminal 128k isso limpo essa velocidade, com uso apenas pra essas duas maquinas, quando mudei ´tudo´ pra SP no banco está cerca de 20 segundos, mais ainda naum está pronto, pois naum manjava nada nada de SP, e com a ajuda de alguns colegas no msn consegui fazer muita coisa... um cara q me ajudou bastante foi Emersonen... me ajudou muito... mais ainda está umpuco lento pois naum domino 100¬ de SP... estou estudando muito sobre o assunto e estou aprendendo e mudando meu sistema,... está ficando bom...
então naum sei se vc jah usa SP e triggers na sua aplicação, mais o q quiz dizer q esse eh o caminho, além de ter um ip fixo ou no-ip, mais q tenha um ip válido...
espero ter ajudado
GOSTEI 0
Denis
13/04/2006
Boa tarde,
Use o componente clientdataset. Neste componente tem uma propriedade packetRecords. Neste componente vc define a quantidade de registros o servidor irá retornar. Ele faz um controle melhor de ´Fetchs´ do banco de dados. Por exemplo :
Se vc fizer a instrução em uma tabela com 1 milhão de registros. ( Select * from tabelaGrande). Setando a propriedade packetRecords = 40, então o sistema cliente irá apenas receber 40 registros e depois mais 40 se o ponteiro for mudado. Neste caso vc pode jogar esta tabela para ser exibida num grid, e não vai ficar lenta. Pois o sistema cliente não irá trafegar todos os registros e apenas 40. Claro que esta select é apenas ilustrativa. Mas já da para ter uma idéia de como o sistema pode ficar mais rápido.
O uso de clientdatasets melhor bastante o seu sistema com relação a performance. Sem contar que com ele tem a possibilidade de criar datasets em memória, salvar em xml etc...
Estude ele. É um componente muito bom e vai te ajudar muito com um sistema via net.
Use o componente clientdataset. Neste componente tem uma propriedade packetRecords. Neste componente vc define a quantidade de registros o servidor irá retornar. Ele faz um controle melhor de ´Fetchs´ do banco de dados. Por exemplo :
Se vc fizer a instrução em uma tabela com 1 milhão de registros. ( Select * from tabelaGrande). Setando a propriedade packetRecords = 40, então o sistema cliente irá apenas receber 40 registros e depois mais 40 se o ponteiro for mudado. Neste caso vc pode jogar esta tabela para ser exibida num grid, e não vai ficar lenta. Pois o sistema cliente não irá trafegar todos os registros e apenas 40. Claro que esta select é apenas ilustrativa. Mas já da para ter uma idéia de como o sistema pode ficar mais rápido.
O uso de clientdatasets melhor bastante o seu sistema com relação a performance. Sem contar que com ele tem a possibilidade de criar datasets em memória, salvar em xml etc...
Estude ele. É um componente muito bom e vai te ajudar muito com um sistema via net.
GOSTEI 0
Cabelo
13/04/2006
Colegas...
Como eu devo proceder para melhorar a performance do sistema, usando .CLX...
Não existe a opção do RemoteDataModule... e o PacketRecords não alterou a velocidade em nada...
Como devor proceder em .CLX ??????
Como eu devo proceder para melhorar a performance do sistema, usando .CLX...
Não existe a opção do RemoteDataModule... e o PacketRecords não alterou a velocidade em nada...
Como devor proceder em .CLX ??????
GOSTEI 0
Denis
13/04/2006
Olá,
Eu não sei como funciona direito programas com a CLX. ( nunca usei ). Mas tem o componente soap. Tente procurar alguma coisa. Parece que dá para fazer parecido com o Socket Server do windows.
Eu não sei como funciona direito programas com a CLX. ( nunca usei ). Mas tem o componente soap. Tente procurar alguma coisa. Parece que dá para fazer parecido com o Socket Server do windows.
GOSTEI 0
Cabelo
13/04/2006
Colega...
.CLX é uma forma de programar, utilizando os recursos do compilador, para que vc possa portar um sistema em Delphi 7 para Kylyx 3 por exemplo... então não posso usar os recursos do Windows, preciso de usar os recursos que o delphi me disponibiliza, em .CLX...
Será que existe um outro componente para substituir o remotedatamodule??
Onde fica o componente SOAP????? não conseguí achar...
.CLX é uma forma de programar, utilizando os recursos do compilador, para que vc possa portar um sistema em Delphi 7 para Kylyx 3 por exemplo... então não posso usar os recursos do Windows, preciso de usar os recursos que o delphi me disponibiliza, em .CLX...
Será que existe um outro componente para substituir o remotedatamodule??
Onde fica o componente SOAP????? não conseguí achar...
GOSTEI 0
Denis
13/04/2006
Olá,
Os componentes ´SOAP´ ficam na paleta Web Services. Eu li em algum canto que ele faz algo parecido com o Socket Server. Se não me engano foi na revista clube delphi.
Os componentes ´SOAP´ ficam na paleta Web Services. Eu li em algum canto que ele faz algo parecido com o Socket Server. Se não me engano foi na revista clube delphi.
GOSTEI 0
Cabelo
13/04/2006
Obrigado pela resposta Denis...
Eu achei os componentes e pesquisei sobre o assunto... mas o que estes componentes especificamente podem melhorar a performance do meu sistema ´On-Line´, e como utilizar estes componentes????
Tentei utilizá-los... mas não obtive nenhuma melhora..
Eu achei os componentes e pesquisei sobre o assunto... mas o que estes componentes especificamente podem melhorar a performance do meu sistema ´On-Line´, e como utilizar estes componentes????
Tentei utilizá-los... mas não obtive nenhuma melhora..
GOSTEI 0
Armando.boza
13/04/2006
Obrigado pela resposta Denis...
Eu achei os componentes e pesquisei sobre o assunto... mas o que estes componentes especificamente podem melhorar a performance do meu sistema ´On-Line´, e como utilizar estes componentes????
Tentei utilizá-los... mas não obtive nenhuma melhora..
Assinantes da ClubeDelphi podem acessar o site e baixar as video-aulas do Guinter Pauli sobre servidor de aplicação SOAP ... eu ja assisti e recomendo a todos, só que infelizmente o sistema tem que ser totalmente refeito para rodar com tal tecnologia pois todas as regras de negocio do sistema ficam na camada do servidor de aplicação e não no aplicativo ou banco.
GOSTEI 0
Cabelo
13/04/2006
[quote=´armando.boza]
Assinantes da ClubeDelphi podem acessar o site e baixar as video-aulas do Guinter Pauli sobre servidor de aplicação SOAP ... eu ja assisti e recomendo a todos, só que infelizmente o sistema tem que ser totalmente refeito para rodar com tal tecnologia pois todas as regras de negocio do sistema ficam na camada do servidor de aplicação e não no aplicativo ou banco.
Assinantes da ClubeDelphi podem acessar o site e baixar as video-aulas do Guinter Pauli sobre servidor de aplicação SOAP ... eu ja assisti e recomendo a todos, só que infelizmente o sistema tem que ser totalmente refeito para rodar com tal tecnologia pois todas as regras de negocio do sistema ficam na camada do servidor de aplicação e não no aplicativo ou banco.
Perfeito... mas então quer dizer que terei um .exe rodando no servidor????
mas meu servidor é Linux... como farei isso????? outra coisa... então... qual o motivo de se ter um túnel VPN para este tipo de aplicação????
GOSTEI 0
Armando.boza
13/04/2006
Perfeito... mas então quer dizer que terei um .exe rodando no servidor????
mas meu servidor é Linux... como farei isso????? outra coisa... então... qual o motivo de se ter um túnel VPN para este tipo de aplicação????
na verdade não é um .exe e sim uma dll compilada pelo delphi rodando no serviço do windows .. e realmente, é para WINDOWS, na video-aula ele explica que é possivel fazer um pra rodar no linux mas é um pouco diferente.
agora, se vc ja possui uma VPN ou um tunel como o Zebedee rodando eu aconselho a deixar como está que é mais simples e fora que oferece mais recursos pois estão interligadas as intranets.
nos meus clientes que querem acessar a base de dados pela internet eu dou esses dois tipos de conexão como opção (VPN ou Zebedee), ai fica a gosto deles.
GOSTEI 0
Cabelo
13/04/2006
Já tenho uma VPN...
O problema é que um selecy simples no meu sistema... demora muito... cerca de 1 minuto cada select... fica totalmente inviável a operação...
como faço para resolver o problema então?
O problema é que um selecy simples no meu sistema... demora muito... cerca de 1 minuto cada select... fica totalmente inviável a operação...
como faço para resolver o problema então?
GOSTEI 0
Armando.boza
13/04/2006
Já tenho uma VPN...
O problema é que um selecy simples no meu sistema... demora muito... cerca de 1 minuto cada select... fica totalmente inviável a operação...
como faço para resolver o problema então?
Bom, primeiramente deve ser levado em conta qual o serviço de internet que vc utiliza e como foi montada sua VPN, aqui em Londrina - PR a maior parte das ADSLs são da sercomtel que por sinal é muito boa.
Por exemplo, tenho um cliente que possui uma adsl da sercomtel de 320 kbps, utilizando o Zebedee ou uma VPN pelo windows xp consigo dar um select * para consultar todos os clientes, cerca de 300 registros, e me retorna o resultado em algo em torno de 7 a 9 segundos.
Não é como uma Intranet mas está bem aceitavel.
Deve-se levar em conta tb a forma de programação utilizada, por exemplo, a utilização de componentes IBTable deixa a aplicação muito lenta. O bom mesmo é forçar o usuario a refinar sempre as consultas para retornar o minimo de registros possíveis para ampliar o desempenho e sempre que possível utilizar Stored Procedures para consultas mais detalhadas.
GOSTEI 0
Cabelo
13/04/2006
Eu uso na Matriz uma conexão ADSL speedy telefônica de 800 KBPS e na filial um ADSL speedy telefônica de 256 KBPS....
Não uso componentes Tables...
Usos DBExpress + clientdataSet..
Tudo cliente/servidor... mas mesmo assim... está muito lento.. inaceitável...
Estou programando .CLX... portanto não posso utilizar os recursos do Wndows... O que pode melhorar então a performance do sistema On-Line... já que o sistema local roda perfeitamente bem..?
Não uso componentes Tables...
Usos DBExpress + clientdataSet..
Tudo cliente/servidor... mas mesmo assim... está muito lento.. inaceitável...
Estou programando .CLX... portanto não posso utilizar os recursos do Wndows... O que pode melhorar então a performance do sistema On-Line... já que o sistema local roda perfeitamente bem..?
GOSTEI 0
Armando.boza
13/04/2006
Eu uso na Matriz uma conexão ADSL speedy telefônica de 800 KBPS e na filial um ADSL speedy telefônica de 256 KBPS....
Não uso componentes Tables...
Usos DBExpress + clientdataSet..
Tudo cliente/servidor... mas mesmo assim... está muito lento.. inaceitável...
Estou programando .CLX... portanto não posso utilizar os recursos do Wndows... O que pode melhorar então a performance do sistema On-Line... já que o sistema local roda perfeitamente bem..?
Nossa carinha, realmente de internet vc está bem. :D
A programação tb está certa.
Não tem explicação para a lentidão do seu sistema, era pra estar rodando rapidinho.
Qual Firebird vc está utilizando?
Quando vc tenta copiar algum arquivo pela rede da vpn a transferencia é rapida ou lenta?
As vezes não é o sistema e o firebird e sim a vpn.
GOSTEI 0
Cabelo
13/04/2006
Colega... eu uso o VNC para acessar remotamente os micros na Filial... e roda muito rápido... a taxa de tranferência no túnel na cópia de arquivos é excelente... tudo roda blz... a única coisa que ´emperra´ é o sistema..
afffffff.... já ví que nem tem jeito... se bem... que tenho alguns selects monstros... mas necessários... mas até a conexão com o banco é lenta... demora uns 20 segundos para estabelecê-la..
vc tem idéia de como resolver este problema?????
me falaram sobre SOAP... mas o material do fórum é muito básico... e não conseguí realizar nenhuma melhora... como funciona este SOAP?????
OBS : programo .CLX
afffffff.... já ví que nem tem jeito... se bem... que tenho alguns selects monstros... mas necessários... mas até a conexão com o banco é lenta... demora uns 20 segundos para estabelecê-la..
vc tem idéia de como resolver este problema?????
me falaram sobre SOAP... mas o material do fórum é muito básico... e não conseguí realizar nenhuma melhora... como funciona este SOAP?????
OBS : programo .CLX
GOSTEI 0
Armando.boza
13/04/2006
Colega... eu uso o VNC para acessar remotamente os micros na Filial... e roda muito rápido... a taxa de tranferência no túnel na cópia de arquivos é excelente... tudo roda blz... a única coisa que ´emperra´ é o sistema..
afffffff.... já ví que nem tem jeito... se bem... que tenho alguns selects monstros... mas necessários... mas até a conexão com o banco é lenta... demora uns 20 segundos para estabelecê-la..
vc tem idéia de como resolver este problema?????
me falaram sobre SOAP... mas o material do fórum é muito básico... e não conseguí realizar nenhuma melhora... como funciona este SOAP?????
OBS : programo .CLX
Partindo do principio, qual Firebird vc usa?
Qual o sistema operacional do servidor?
Firewall?
Vc poderia montar essas consultas MONSTROS em uma SP pra ficar mais rapido.
GOSTEI 0
Cabelo
13/04/2006
Partindo do principio, qual Firebird vc usa?
Eu utilizo Firebird 1.5.3
Qual o sistema operacional do servidor?
Linux versão Kurumin 5.0
Firewall?
Firewall somente o próprio servidor......
Vc poderia montar essas consultas MONSTROS em uma SP pra ficar mais rapido.
Como posso fazer isso??????
Não manjo nada de Stored Procedures... não sei como usá-las no banco e nem como chamá - las no programa...
Como isso poderia aumentar a performance do Banco????
GOSTEI 0
Armando.boza
13/04/2006
[quote:045397ba51=´armando.boza´]
Partindo do principio, qual Firebird vc usa?
Eu utilizo Firebird 1.5.3
Qual o sistema operacional do servidor?
Linux versão Kurumin 5.0
Firewall?
Firewall somente o próprio servidor......
Vc poderia montar essas consultas MONSTROS em uma SP pra ficar mais rapido.
Como posso fazer isso??????
Não manjo nada de Stored Procedures... não sei como usá-las no banco e nem como chamá - las no programa...
Como isso poderia aumentar a performance do Banco????[/quote:045397ba51]
Bom, eu ja estou usando o Firebird 2.0 RC2 e estou muito contente com ele, vc deveria pensar sobre isso.
O Kurumin uma vez usei como servidor e não gostei muito pois a conexão ficava caindo e tinha um esquema de configuração para multiplas conexões.
Ja esperimentou desativar o Firewall do Kurumin pra testar? Vai no painel Clika-aqui e desativa ele só pra testar.
Agora, Stored Procedures não são coisas de 7 cabeças, eu mesmo aprendi muito sobre elas aqui mesmo no forum garimpando os posts.
Para usalas no delphi basta usar uma query comum tipo assim:
SELECT * FROM SUASTOREDPROCEDURE
Se a SP tiver parametros de entrada usa-se:
SELECT * FROM SUASTOREDPROCEDURE(:PARAM1,:PARAM2)
Todo o processamento é feito no banco de dados, com isso vc ganha em desempenho do sistema e em tráfego de dados na rede.
GOSTEI 0
Armando.boza
13/04/2006
de .CLX não manjo nada, as vezes tem alguma coisa a ver nisso ai.
GOSTEI 0
Cabelo
13/04/2006
Mas.... e para criá-las....?????? no BD
como faço???????
OBS : .CLX é o VCL sem as API´s do Windows... isto é... os componentes que usam a UNit Windows não são disponíveis em .CLX... é só isso que muda... o resto é tudo igual...
como faço???????
OBS : .CLX é o VCL sem as API´s do Windows... isto é... os componentes que usam a UNit Windows não são disponíveis em .CLX... é só isso que muda... o resto é tudo igual...
GOSTEI 0
Armando.boza
13/04/2006
Mas.... e para criá-las....?????? no BD
Isso mesmo, elas vão direto no banco de dados.
Procura aqui no forum que tem de monte .... nosso amigo [b:97a77576cd]emerson.en[/b:97a77576cd] aqui do fórum manja muito.
GOSTEI 0
Cabelo
13/04/2006
[quote:6c41fb038b=´Cabelo´]Mas.... e para criá-las....?????? no BD
Isso mesmo, elas vão direto no banco de dados.
Procura aqui no forum que tem de monte .... nosso amigo [b:6c41fb038b]emerson.en[/b:6c41fb038b] aqui do fórum manja muito.[/quote:6c41fb038b]
armando.boza....
muito obrigado pela ajuda...!!!!!!
GOSTEI 0