Cara... como eu odeio Sybase!

Galera,

 cada dia que passa eu fico mais impressionado como um banco poder ser tão ruim, nem o identity dele não funciona corretamente, tô quase preferindo usar Access ou salvar tudo em TXT, e o duro é q para migrar de banco de dados...... já imaginam né!!!, como é trocar a roda do carro com ele andando, alguem aki trabalha com Sybase? tem tido problemas também????

Não conheço o Sybase não, mas ele é muito bem visto nas empresas…
Por exemplo, aqui no cliente onde estou agora tem aqueles gráficos de performance… a do Sybase é a melhor de todas… deve ser por isso…
Existem bancos que são assim mesmo e o pessoal ainda tem costume de usar, como o Ingress (acho que é assim q se escreve) e os antigos DB2 pra Z/OS, que os caras não evoluem por nada…

[quote=rodrigoallemand]Não conheço o Sybase não, mas ele é muito bem visto nas empresas…
Por exemplo, aqui no cliente onde estou agora tem aqueles gráficos de performance… a do Sybase é a melhor de todas… deve ser por isso…
Existem bancos que são assim mesmo e o pessoal ainda tem costume de usar, como o Ingress (acho que é assim q se escreve) e os antigos DB2 pra Z/OS, que os caras não evoluem por nada…[/quote]

Depende muito da versão, existem versões do Sybase por exemplo q abandonaram todo o código e começaram dinovo, mas vc é uma das primeiras pessoas q vejo elogiando o banco.

Sybase Inc.

A Sybase é uma empresa muito forte no mercado financeiro americano WallStreet, eles não fazem propaganda pro povão, somente para Empresários e procura desvincular a sua imagem do seu CEO.

Oq tem de base Sybase por ae e a gente nem faz idéia.

Eu gosto do Sybase é um bom banco de dados.

[quote=java-lee]
Depende muito da versão, existem versões do Sybase por exemplo q abandonaram todo o código e começaram dinovo, mas vc é uma das primeiras pessoas q vejo elogiando o banco.[/quote]

Mas eu não estou elogiando… eu não conheço, nunca trabalhei com ele…
Mas nas empresas que eu “passei” e ele estava presente, sempre falaram bem…
Por exemplo, na empresa onde estou hoje em dia, o faturamento roda no Sybase e não dá nenhuma “kréka”!

Alias, eu só conheço Oracle e DB2…

Olá, você poderia dar mais detalhes sobre o problema do indentity e também falar dos outros problemas? É que eu já usei o Sybase em ultra-missão crítica (ele é o banco de dados da plataforma Tecnomen Prepaid, usada por várias operadoras de celular para gerenciar celulares pré-pago) e nunca vi o bicho dar problemas. E a gente acessava os dados concorrentemente com milhares de threads de tarifação da Tecnomen fazendo inserts, updates, etc (em pré-pago, tudo tem que ser online). Era 24x7, mesmo. E a linguagem é o Transact-SQL, o mesmo do MSSQL.

Por isso fiquei curioso para ter mais detalhes dos problemas.

Novamente… depende muito da sua versão, a ultima versão athé q tah melhorzinha, mas na que eu uso ele tem sérios problemas de rollback, o identity por exemplo, eu já percebi q toda vez q agente reinicia o banco de dados por exemplo, a contagem deixa um grande espaço vazio, aki mesmo na empresa, q atua na area de comércio, o id da tabela estava no 12 329, só de reiniciarmos o servidor aonde fica a base, por causa de manutençoes nele, a próximo id gerado foi 20 185. O q gerou um puta problema pra gente pra poder explicar pra auditores q essas linhas faltantes não foram apagadas, simplesmente numca exstiram… e por ai vai.

Problemas com RollBack?

Opa isso é sério, o Sybase existe um “problema” Situação no Segmento de Log, ao gerar tabelas temporárias o com select into, o segmento fica comprometido e vai inflando até ficar sem espaço normalizando apenas com um Backup Full. Que foi resolvido na versão 15, outro detalhe essas tabelas tambem afetam o controle transacional.

Põe a situação ae!

Esse problema como do Identity tambem ocorre com as sequences no Oracle 10g pelo menos até ele era assim, mas para resolver é necessário alterações na Configuração do SGBD.

Abraço.

Pessoal, qual exatamente é o problema com as sequences do Oracle 10g e do Sybase? Será que vocês não estão usando errôneamente esse recurso? A função das sequences e identity é gerar chaves únicas e não chaves sequenciais. Até porquê podem estar ocorrendo várias transações simultâneas, cada uma gerando sequences, e se algumas forem desfeitas (via rollback), vão ficar buracos na sequência dos números.

Eu mesmo tenho aplicativos que geram centenas de inserts simultâneos por minuto usando sequences, e nunca tive problemas. Mas, se eu fizer um select order by pela data de inserção, vou perceber que alguns inserts com id menores foram comitados depois de algum maior, porquê a transação demorou mais.

Se vocês precisam gerar chaves sequenciais, o melhor seria uma função que controla através de uma tabela o último id gerado, usando “select…for update” para locar a tabela e pegar o próximo. Fazemos assim aqui para números de notas fiscais.

Muitas vezes usar arquivos testos com ‘sort | uniq’ para indexar e ‘grep’ para consultar é muito mais escalavel e performático que esses bancos zuados.

Caro, Java-lee…

É engraçado odiar as coisas sem conhecer!!!
No caso do seu problema “gap muito grande no campo identity” existem VÁRIOS tipos de mecanismos que podem contornar essa situação. Vou dar o exemplo de 2 casos (mais importantes)

1 - JAMAIS realizar “shutdown with nowait” no ASE, que tenho quase certeza que foi dessa forma que você reiniciou o Sybase ASE, senão não ocorreria esse salto gigante do identity.
Quando se roda um “shutdown with nowait”, o Sybase ASE realiza o processo de shutdown SEM qualquer validação das transações abertas, etc. Quando ele sobe novamente, ele gera uma lista de rollbacks das transações que não foram validadas pelo" shutdown with nowait" e por esse motivo, pode te gerar esse salto gigante.
Das próximas vezes, use “checkpoint all” e depois “shutdown” (somente ‘shutdown’).

2 - Toda a tabela que tem campo “identity” deve ser criada (ou alterada) colocando a feature “with identity_gap = 10” (ou algo em torno desse valor). Com isso, ele restringe o tamanho do gap a, no máximo, 10 e não mais a quase 10.000 que foi o seu caso. Esse segundo item, previne você caso faça a burrada de reiniciar de novo o Sybase ASE com “shutdown with nowait”.

OBS: O “identity gap” é um problema conhecido pela Sybase e ela disponibilizou vários mecanismos para contorná-los desde a versão 12.0. Portanto não se trata de bug ou algo desconhecido.

Portanto, mais uma vez eu digo… odiar sem conhecer é puta ignorância…

Ditado popular: “Não sabe? Não mexe!”

Jorge
DBA Sybase Certified 12.5

hahaha… já cheguei a dizer isso tb, mas como o jlsilva01 disse esse banco se mal utilizado acaba dando muita dor de cabeça.

Tb já passei por esse problema do identity.

Na última empresa que passei era uma briga com o BD todo dia, mas depois que contrataram um DBA que manjava de Sybase as coisas ficaram muito mais suaves. Outro problema do Sybase é a falta de popularidade. Como ele é um banco que pouca gente conhece existe baixa compatibilidade com aplicações, por exemplo, opensource e vc acaba deixando de usar ou tendo que adaptá-las para o banco de dados.

Procure um DBA para resolver esses problemas!

Abraço,

"

[quote=marcosalex]O banco Loyds, um dos 5 maiores bancos do mundo usa todas as operações no Sybase. Ele é dono da Losango, só por aí dá pra imaginar a quantidade de operações simultâneas e cálculos pesados.

[/quote]

Um amigo DBA DB2 IBM, me disse q a Sybase, só visa clientes de grande porte e que a compania só se da bem, chegando a dar suadouro na Oracle e Ibm. Principalmente o sybase iq

[quote=marcosalex]O banco Loyds, um dos 5 maiores bancos do mundo usa todas as operações no Sybase. Ele é dono da Losango, só por aí dá pra imaginar a quantidade de operações simultâneas e cálculos pesados.
Sobre o identity dar salto na numeração quando reiniciado, isso não é bug ou problema, mas configuração.
[/quote]
A Losango já faz algum tempo que foi comprada pelo HSBC.
Provavelmente a base de dados deles foi ou será convertida para DB2 no mainframe.

http://indexet.gazetamercantil.com.br/arquivo/2003/10/10/521/HSBC-compra-Lloyds-por-US$-815-milhoes.html

O Hsbc tem muito sybase muito mesmo, eu vi uma vez num informativo que se concentravam mais dados no sybase que no db2