Preparação para o Firebird 2.5 – MindTheBird

Na medida em que o Firebird 2.5 se aproxima do release final, uma nova campanha nasce para ajudar a aumentar sua visibilidade e reconhecimento.

Bem-vindo MindTheBird!

MindTheBird! fornece uma infra-estrutura de comunicação, materiais de marketing e aconselhamento para usuários do Firebird, jornalistas e até mesmo competidores. Nós encorajamos todos os desenvolvedores e entusiastas do Firebird a fazer parte desta campanha tão importante.

A campanha MindTheBird e o seu website são coordenados por Dmitry Kuzmenko e fornecem banners, apresentações e modelos de email para ajudar você a espalhar a palavra Firebird.

A Sinática está participando junto com vários outros fabricantes de ferramentas e está oferecendo licenças gratuitas para os Embaixadores Firebird mais ativos.

Seja você um Embaixador Firebird.

Converse sobre o Firebird com aquele seu amigo que ainda depende do MySql. Envie alguns links ou faça uma apresentação para aquele seu chefe que insiste em trabalhar exclusivamente com bancos de dados caríssimos. Organize um workshop para ajudar seus colegas de trabalho a começar a usar o Firebird. Deixe seus colegas saber que o Firebird é uma alternativa de banco de dados realmente livre e maduro.

Nenhum comentário

Bug Invalid BLOB ID no Firebird 2.1.3

Edição 21/Set: O Sinática Monitor 2.1.03 corrige este problema. Você pode baixá-lo agora. O bug original no Firebird 2.1.3 também já está corrigido no CVS.

Se você seguiu o meu conselho e depois de atualizar para o Firebird 2.1.3 começou a receber erros com a mensagem “invalid BLOB ID”, por favor atualize para o Sinática Monitor 2.1.3.

Existe uma condição muito específica que dispara este erro e é muito provável que você não será afetado. Se você estiver sendo afetado, no entanto, por favor verifique o seu ambiente:

  • Nos meus testes o bug só ocorre quando existem clientes conectados usando charset NONE. Se você mudar os clientes para que usem um charset apropriado como ASCII, ISO8859_1 ou UTF8, o erro desaparece. Qualquer charset diferente de NONE resolve. Também se certifique de que o Sinática Monitor não está usando charset NONE.
  • Se você encontrou este erro em uma condição não relacionada ao charset NONE, por favor entre em contato comigo. Qualquer informação adicional será útil.

Uma nova versão do Sinática Monitor está disponível para corrigir este problema.

Nenhum comentário

Firebird 2.1.3 – Atualização recomendada

Ontem foi liberada a nova versão 2.1.3 do Firebird. Como toda versão de manutenção ela concentra apenas correções e é recomendada a todos usando versões anteriores da série 2.1.

Mudança no modo padrão de autenticação

O Release Notes avisa logo no início sobre uma mudança que pode quebrar instalações atuais: O modo de autenticação padrão passou de mixed para native. Na prática isto significa que antes da versão 2.1.3 você podia usar autenticação tanto do windows quanto do firebird sem mexer na configuração.

A partir de agora quem quiser usar autenticação windows deverá dizer explicitamente no arquivo de configuração firebird.conf:

Authentication = mixed

nBackup mais leve

O nBackup nas versões anteriores a 2.1.3 podia exaurir os recuros de I/O do servidor fazendo com que a operação da base de dados fosse fortemente afetada. A partir do Firebird 2.1.3 o nBackup está mais leve e pode ser usado sem problemas mesmo durante períodos de grande carga na base de dados.

Correções no monitoramento

Algumas correções são especialmente importantes para usuários do Sinática Monitor e para quem usa as tabelas de monitoramento.

Outras correções

A lista de correções é extensa e pode-se perceber que a turma de desenvolvimento do Firebird tem a qualidade como primeiro objetivo. Parabéns a todo o pessoal envolvido neste release e mantenha os dedos cruzados para o Firebird 2.5!

1 comentário

Revista Active Delphi de Agosto

Esta semana recebi a revista Active Delphi com uma surpresa agradável. Meu primeiríssimo artigo publicado.

No texto Identificação de problemas de desempenho com Firebird eu falo sobre a necessidade de avaliar as questões de performance antes de colocar a mão na massa para mexer na aplicação ou na infra-estrutura.

Um grande obrigado ao Kelver Merlotti pelo convite e a toda a equipe da revista pela oportunidade.

Nenhum comentário

Novo Sinática Monitor com suporte ao Firebird 2.5

O novo Sinática Monitor 2.1 for Firebird já está disponível para download.

Este release inclui suporte ao monitoramento de bases Firebird 2.5, novos alarmes e a possibilidade de configurar o layout da página de gráficos.

Saiba mais sobre o que há de novo ou veja as notas da versão com a lista completa de mudanças.

Baixe o Sinática Monitor 2.1 agora mesmo!

Nenhum comentário

Promoção para participantes do FDD

Amanhã é o último dia para se inscrever no FDD. Se você ainda não se inscreveu, não tem mais desculpas. O incentivo que faltava acabou de chegar!
Os participantes do FDD poderão comprar o Sinática Monitor com um belo desconto.
Esta promoção é diferente das outras. É uma promoção surpresa. Os participantes receberão um email com todos os detalhes logo após o evento.

Então se você vai participar do FDD e está pensando em comprar o Sinática Monitor, espere até a próxima semana.
E não hesite em me procurar pra conversar entre uma palestra e outra.

Nenhum comentário

6º FDD – Firebird Developers Day

Acontece neste 4 de Julho em Piracicaba a sexta edição do Firebird Developers Day.

E chega com novidades: A Madness Session abrirá espaço para o pessoal fazer perguntas diretamente aos palestrantes. Gostei da idéia. Pode tornas as palestras mais fluidas já que a turma sabe que vai ter espaço garantido pra fazer sua pergunta depois.

Outra boa notícia é a presença de Vlad Khorsun, um dos principais desenvolvedores do Firebird hoje. Ele apresentará duas sessões. Uma sobre CTE (Common Table Expressions) e outra sobre as novidades do Firebird 2.5.

Também não dá para perder as duas palestras do Dmitri Kouzmenko. Em uma delas, chamada de “Manutenção em bancos de dados”, ele promete mostrar várias formas de monitorar a base de dados. Será que ele vai mencionar o Sinática Monitor?

Da turma brasileira, duas palestras estão chamando a minha atenção: “Estrutura e organização de bancos de dados para sites Web” apresentada por Maurício Longo. E “Otimizando consultas no Firebird 2.1 através do Execute Block e Selects Aninhados” apresentada por Eduardo Jedliczka.

O evento é ótimo e recomendo. Participei ano passado e com certeza este ano estarei lá novamente.

Nenhum comentário

Novidades e correções no Firebird 2.1.2

Esta semana o time de desenvolvimento do Firebird liberou a versão 2.1.2. O foco deste sub-release é estabilidade. Não tem grandes novidades, que estão guardadas para a 2.5, mas merece destaque porque a lista de correções é impressionante.

Bugs

Entre as várias correções, algumas merecem destaque:

Esta duas últimas afetam diretamente os usuários do Sinática Monitor. Por isto recomendo a atualização.

Melhorias

Além dos bugs, algumas melhorias foram incluídas.

  • Restrição de usuário para o DPB. Se você conecta-se com um usuário não-sysdba e está usando algum parâmetro especial de conexão, verifique se ele não está na lista de parâmetros bloqueados. Também é possível que os componentes de conectividade estejam fazendo isto. Nestes casos a conexão será rejeitada pelo Firebird.
  • Possibilidade de usar o Runtime MS C em diretório privado. Antigamente (2.0 e anteriores), bastava copiar a fbclient.dll para os clientes e pronto. A partir da 2.1 começou a ser necessária a instalação dos Runtimes. Isto levou a problemas com a distribuição de clientes que ficou mais complexa. No 2.1.2 volta a ser possível copiar apenas a fbclient.dll e os arquivos da runtime para o cliente.

Para saber mais, consulte o release notes.

Baixe o Firebird 2.1.2 agora!

Nenhum comentário

Chegou o Sinática Monitor Beta!

Se você está curioso para saber o que é o Produto que eu estava cozinhando nos últimos meses, sua espera acabou.

Ele se chama Sinática Monitor for Firebird. E foi criado especialmente para monitorar seu banco de dados e descobrir aqueles problemas difíceis de encontrar.

Quer um exemplo?
Sabe aquela transação que ficou presa e causou a maior confusão porque seu servidor ficou extremamente lento?
O Sinática Monitor detecta exatamente qual transação está presa e você não tem o trabalho árduo de sair procurando.
 
Quer outro exemplo?
Sabe aquele seu cliente que reclama que todo terceiro Sábado de cada mês o seu sistema fica lento ao ponto de ser inutilizável?
O Sinática Monitor é a ferramente ideal para te ajudar a detectar o que está acontecendo. Seja um comando muito lento ou que não está usando índices, ele te aponta os problemas de forma simples e fácil.

E isto é apenas o começo.

Visite nosso site novo e veja telas do Sinática Monitor em ação.

O Sinática Monitor é inteiramente gratuito durante o período de Beta.

Baixe agora e descubra o que ele pode fazer pelo seu banco de dados.

E não seja tímido! Eu quero ouvir de você. Mande suas idéias e sugestões!

Nenhum comentário

Conheça seu servidor

Um post do Jeff Atwood me chamou a atenção semana passada. Ele relata como teve dificuldades para encontrar um problema no StackOverflow beta. Eles encontravam logs de deadlocks durante o dia e no fim descobriram que o problema estava relacionado ao travamento de leitores feito pelo MS SQL Server (tradução livre):

Você pode anexar o profiler para pegar o evento de deadlock e ver qual o exato comando que o está causando. Eu fiz isso e achei sempre um mesmo comando SQL:

UPDATE [Posts]
SET [AnswerCount] = @p1, [LastActivityDate] = @p2, [LastActivityUserId] = @p3
WHERE [Id] = @p0

Se detectar um deadlock o SQL Server força um dos comandos envolvidos a dar erro – especificamente aquele que usa menos recursos. Os comandos envolvidos variavam, mas no nosso caso o comando que dava erro era sempre uma leitura inócua, assim:

SELECT *
FROM [Posts]
WHERE [ParentId] = @p0

Para resolver o problema foi preciso instruir o SQL Server a usar leituras sujas em cada uma das leituras onde havia perigo de travamento.

O que ficou me martelando a cabeça todos esses dias não é como pode um banco de dados moderno ainda ter travamento de leitores. E sim a lição que podemos tirar deste episódio. Independente do servidor e de suas limitações de arquitetura, o importante é você conhecê-lo bem e conhecer bem o ambiente da sua aplicação.

No caso do StackOverflow o Jeff descobriu que uma possível solução era a leitura suja. Se a sua aplicação tivesse transações longas as leituras sujas não seriam uma opção. Mas conhecendo bem sua aplicação ele sabia que não era esse o caso e que não teria maiores conseqüências se as usasse. Independente do que diriam os puristas de ACID. E confesso que eu mesmo torci o nariz assim que li “leitura suja”.

Graças a sua arquitetura multi-geração o Firebird não tem travamento de leitores. Então é natural que este problema pareça estranho para nós. Mas cada arquitetura tem seus prós e contras. Esta mesma arquitetura multi-geração se não for bem utilizada pode ser um problema. É o caso de transações que ficam abertas por muito tempo.

Tais transações levam a um acúmulo de versões de registros dentro do banco de dados. (Estas versões também podem ser chamadas de gerações. A arquitetura é multi-geração, lembra?) Quanto mais versões acumuladas, mais trabalho o Firebird tem que realizar para encontrar a versão correta de cada registro. Dado tempo suficiente o acúmulo de versões é tão grande que o servidor Firebird fica lento o suficiente para parecer travado. Esse tempo depende muito da carga do banco de dados e do hardware do servidor. Pode ser um mês, pode ser uma hora.

Eu vi isso acontecer em um bom número de ocasiões. Em algumas delas vi gerentes argumentarem durante horas que o MS SQL Server e o Oracle não têm esse problema. O fato é que eles têm outros detalhes de arquitetura que você deverá levar em conta na sua aplicação. Por exemplo, travamento de leitores. Simplesmente trocar de banco de dados, como alguns desses gerentes chegaram a sugerir, não é uma solução.

Se bem que o StackOverflow rodando em Firebird não seria má idéia. ;)

Nenhum comentário
Próxima página »