Delphi MySQL Zeos Queda de Energia
Olá pessoal.
Desenvolvo meus sistemas em Delphi com banco de dados MySQL. Como metodologia de acesso a dados utilizo o ZeosLib. Possibilita uma estrutura muito rápida, estável.
Mas ultimamente tenho enfrentado muito problemas com queda de energia nas estações e as vezes nos servidores. No antigo paradox poderiamos colocar um DbiSaveChanges no afterpost e o problema de perda de registros seria resolvido...
A dúvida é o seguinte: desenvolver uma rotina que faça a gravação física dos dados no banco para em caso de queda não corrompa ou perca informações do banco (eu pensei em fazer um close e open sempre que der um post, mas não sei se adianta alguma coisa...)
Obs: Utilizo MySQL 4.0, Zeos 5.5, tabelas MyISAM sem transação
Agradeço a atenção dos colegas.
Grato.
Desenvolvo meus sistemas em Delphi com banco de dados MySQL. Como metodologia de acesso a dados utilizo o ZeosLib. Possibilita uma estrutura muito rápida, estável.
Mas ultimamente tenho enfrentado muito problemas com queda de energia nas estações e as vezes nos servidores. No antigo paradox poderiamos colocar um DbiSaveChanges no afterpost e o problema de perda de registros seria resolvido...
A dúvida é o seguinte: desenvolver uma rotina que faça a gravação física dos dados no banco para em caso de queda não corrompa ou perca informações do banco (eu pensei em fazer um close e open sempre que der um post, mas não sei se adianta alguma coisa...)
Obs: Utilizo MySQL 4.0, Zeos 5.5, tabelas MyISAM sem transação
Agradeço a atenção dos colegas.
Grato.
Netosdr
Curtidas 0
Respostas
Wiltonfenix
25/11/2005
Na minha opnião, o uso de transações resolve este problema. Nunca tive problema com queda de energia no MySQL.
GOSTEI 0
Netosdr
25/11/2005
Caro colega Wilton,
Sua sugestão é interessante e torna o sistema mais seguro, mas requer que ele seja reescrito para suportá-las.
Dúvida: qual tipo de tabela devo usar que dê suporte ao uso de transacoes?
Sua sugestão é interessante e torna o sistema mais seguro, mas requer que ele seja reescrito para suportá-las.
Dúvida: qual tipo de tabela devo usar que dê suporte ao uso de transacoes?
GOSTEI 0
Wiltonfenix
25/11/2005
No MySQL as tabelas do tipo InnoDB suportam transações. Elas perdem em performance para as tabelas MyISAM, mas vc ganha em transações e segurança tb.
GOSTEI 0
Netosdr
25/11/2005
Pelos testes que fiz com o InnoDB, ele grava as informações em um arquivo ibdata, e não nos arquivos de cada tabela, como é o caso do MyISAM. Com o tempo, devido a quantidade de informações, a perda de performace é relativamente alta.
Você tem sua estrutura utilizando InnoDB? Quantos registros tem seu sistema? E a performace?
Você tem sua estrutura utilizando InnoDB? Quantos registros tem seu sistema? E a performace?
GOSTEI 0
Wiltonfenix
25/11/2005
A perda de performance não acho grande. Na verdade isso depende muito do administrador do BD e do sistema que o acessa. A velocidade do MySQL, mesmo com InnoDB, não fica devendo ao Oracle.
Quanto ao ibdata, vc pode dividir ele em mais de um.
Quanto ao ibdata, vc pode dividir ele em mais de um.
GOSTEI 0