Olá

1- Trazer todos os registros para o cliente é suicídio. O que você deve 
fazer sempre é trazer apenas o necessário. Utilize telas de pesquisa e 
filtro para isso.

2- Independente do componente que você usar, você tem de pensar em como usar 
ele. Aí está a grande diferença. Uma aplicação desenvolvida com IBO - 
componente nativo de acesso ao FB - pode ser mais lenta que uma usando 
DBXpress, se mal programada. O DataSnap (ClientDataSet + DataSetProvider) 
permitem uma maior flexibilidade pra você, no caso de pensar em mudar de 
banco futuramente. E para por ae (no quesito "acesso a banco"). Como você 
irá utilizá-lo é que fará a diferença.

Olha, o PacketRecord e FetchOnDemand são mais ou menos o seguinte:
O Provider executa a pesquisa e manda para o CDS a quantidade de registros 
informados. Você pode configurar para trazer sozinho, ou a cada vez que você 
mandar.

O problema está que, caso você utilize servidor de aplicação, servidores 
stateless não estariam aptos a fazer esse controle para você. Existe uma 
"gambiarra" para isso no Help do Delphi... Mas ainda assim, eu não uso. 
Ainda não vi necessidade. Talvez num futuro próximo quem sabe.

Eu só não sei como o Provider faz esse pré-filtro de quantidade de 
registros. Alguém poderia nos explicar?

Partido da idéia de que ele faz um select, ele poderia fazer algo assim: 
"Select First 10 skip 0 * from tabela"
Mas como ele, o provider, saberia como fazer o mesmo select no Oracle, no 
SQLServer ou ainda, no Piradox??? Ou pior ainda, falei besteira?


Francisco Thiago de Almeida
Enter&Plug Informática
Divisão: Desenvolvimento e Banco de dados
MSN: [EMAIL PROTECTED]
Skype: enterplug_thiago








----- Original Message ----- 
From: "dprogrammer" <[EMAIL PROTECTED]>
To: <delphi-br@yahoogrupos.com.br>
Sent: Saturday, May 28, 2005 3:22 PM
Subject: [delphi-br] ClientDataSet, algum problema em adotá-lo ?


HI,

estou nos estudos do ClientDataSet, sempre trabalhei com BDE e os TTables
da vida. só que agora pretendo mudar

comecei a mudar um programa que tenho para utilizar DBExpress e 
ClientDataSet

estou com algumas dúvidas, não gostaria de ter que mudar tudo novamente 
depois

1 - Sei que o ClientDataSet trás os dados para a máquina cliente. O que
acontece no caso de uma tabela ter por exemplo 2.000.000 de registros, a
perfomance vai cair ? Terei que contornar essa situação só trazendo os
dados que interessam, tipo de determinada faixa de data ?

2 - Qual a forma ideal, se é que existe, de se desenvolver um sistema
Cliente/Servidor que atenda bancos robustos com grandes volumes de dados e
que também atenda o programa que roda em uma máquina apenas ? (tipo a forma
de se trabalhar, se existe outra forma além de usar ClientdataSet)

resumindo, como está apto a trabalhar de forma eficiente no modelo
Cliente/Servidor. tava vendo aqui na net sobre as propriedades
PacketRecords e FetchOnDemand. isso tem a ver como se trabalhar com grandes
volumes de dados ?

essa é uma das materia que tou lendo
http://www.distribucon.com/papers/midasintro/dl210.htm
foi aonde econtrei o lande de trabalhar com milhões de registros, fala do
remoteserver, etc.

toda dica sobre esse assunto é bem vinda. tou tentando entender essa
materia, mas o meu ingreis tecnico é limitado, hehehe

e também de sites aonde eu possa aprofundar meus estudos

desde já agradeço


Intel +

Paulo Alexsandro - Maceió/Alagoas
Programador - Delphi/NS Basic
http://dprogrammer.cjb.net - Exemplos, Dicas, Etc.

Particpante da Casa da Mãe Joana
http://www.cdmj.com.br
Fórum da Casa da mãe Joana, onde você pode tudo... Se limpar os pés antes
de entrar

[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]

Links do Yahoo! Grupos











        
        
                
____________________________________________________
Yahoo! Mail, cada vez melhor: agora com 1GB de espaço grátis! 
http://mail.yahoo.com.br


-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a