Quais as diferenças entre Firebird Classic, Super e SuperClassic?

O servidor de bancos de dados Firebird vêm em 2 sabores, chamados arquiteturas: Classic Server e Super Server.
Desde a versão 2.5, o Firebird Classic Server pode operar em dois modos, chamados Classic (o “tradicional”) e SuperClassic.
Desta maneira, temos um total de 3 modelos disponíveis para instalação.
Qual deles é o mais adequado para você?
Firebird logo
Neste texto, vou listar as principais diferenças entre estas opções — já frisando que, na maioria dos casos, todos os três modelos funcionam igualmente bem e oferecem (quase) as mesmas possibilidades.
Entre as principais diferenças, citadas pela documentação do produto, segue a lista:

  • Processos — o Classic Server usa um processo separado para cada conexão; o SuperClassic Server e o Super Server (ou apenas Super) usam apenas um processo.
    Portanto, se um processo “quebrar”, durante sua execução, no Classic, as outras conexões não serão afetadas.
    No SuperClassic e no Super, um processo “quebrado” pode trazer abaixo todas as conexões.
  • O Guardian (ou guardião) — o Super pode rodar sob o controle do Firebird Guardian, que automaticamente o reinicia no caso de um crash.
    O SuperClassic só oferece a opção Guardian para instalações profissionais com Linux e o Classic, simplesmente, não a oferece.
  • Uso de recursos do sistema — Sendo single-process, o SuperClassic e o Super, usam os recursos do sistema com mais eficiência do que o Classic, à medida em que o número de conexões simultâneas cresce.
    O Super é o mais eficiente dos 3 porque dispõe, ainda, de um espaço de cache compartilhado.
  • Conexões locais — o Classic e o SuperClassic oferecem um modo de conexão local embarcado ou embedded, no Linux, que é muito rápido — mas não tão seguro quanto uma conexão de rede regular.
    No Windows, um servidor embarcado está disponível — mas é ainda mais inseguro. Contudo pode ser bastante prático se você deseja empacotar o Firebird com suas aplicações.
  • Conexões simultâneas — apenas o Classic e o SuperClassic permitem conexões simultâneas ao banco de dados do servidor regular e de um ou dois servidores embarcados.
  • Multiprocessamento — No Windows, o padrão do Super é usar apenas o primeiro processador ou núcleo (core) em seu computador. Para fazê-lo usar a capacidade plena da CPU, é preciso alterar a variável CpuAffinityMask no arquivo de configuração firebird.conf.
    Todos os outros servidores (o que inclui o Super no Linux), suportam naturalmente o multiprocessamento e ignoram o valor de CpuAffinityMask.

Ao executar os comandos “search”, em distribuições Linux, como o Debian ou o Ubuntu, você será apresentado a estes três modelos de instalação. Clique na imagem, abaixo, para ver mais detalhes.
aptitude search firebird2.5
Como você pode ver, nenhum dos 3 modelos consegue superar os outros 2 em todos os quesitos.
Se você não tem certeza sobre qual escolher, o SuperClassic pode ser uma boa opção em sistemas 64 bits.
Já nos sistemas 32 bits, o modelo SuperClassic será o primeiro a encher o espaço da memória em situação de sobrecarga do sistema.
O Super, com o uso de recursos de memória cache compartilhada e o Classic, com seus processos correndo em separado, obtém melhor performance em sistemas 32 bits.
Note que você sempre poderá mudar para outro modelo, quando quiser.
Suas aplicações e bancos de dados continuarão funcionando normalmente.
A única coisa que se altera são os servidores.

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como “Rick and Morty” e “BoJack Horseman”.
Me siga no Twitter e vamos trocar ideias!

One thought on “Quais as diferenças entre Firebird Classic, Super e SuperClassic?”

  1. tenho uma duvida, utilizo classic, se mudar para o superclassic teria algo melhor algo pior o que poderia fazer para melhorar o desempenho, ele hoje nao esta ruim mas procurar melhorar sempre, o superclassic nao da para trabalhar o sistema fica inviavel travando e muito lento

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *