Sistema Net Use informa que o acesso feito via computador Sistema Net Use Sistema ERP, Fiscal com NFC-e e NF-e Net Use & Cia Ltda - Sistema Net Use - Automação Comercial Teresina Piau�
Bom dia, bem vindo(a) visitante.
Sistema Net Use Documento sem título

Firebird SQL 3.0: arquitetura remodelada, suporte multithreading

Firebird SQL 3.0: arquitetura remodelada, suporte multithreading e muito mais...


foi lançada a versão 3.0 do Firebird SQL, que é considerada a maior mudança arquitetural realizada no projeto desde seu lançamento em 2002. Este é um SGBD relacional open source que já foi um dos mais populares no Brasil, especialmente entre desenvolvedores Delphi, mas que com o tempo perdeu notoriedade para outras alternativas de código aberto, tais como o MySQL e o PostgreSQL.

Um dos principais destaques no release 3.0 é a unificação de sua arquitetura: o binário do servidor agora é uma única biblioteca capaz de ser carregada tanto através do "network listener" quanto embarcada. O modo de operação do servidor (Classic, SuperServer) passa a ser definido através de arquivos de configuração, e não mais pelo binário executado.

Entre as grandes mudanças arquiteturais realizadas no projeto, destaca-se o novo motor de processamento multithreading e a funcionalidade de cache de páginas compartilhadas, o que possibilita um melhor aproveitamento de hardware de vários núcleos e maiores endereçamentos de memória, além disso, também proporciona significativos ganhos de desempenho, se comparado com as versões anteriores do projeto. Entre as novidades está o suporte real a multiprocessamento simétrico (SMP) no modo SuperServer.

Novos recursos foram incorporados à nova versão, tais como:

  • Nova API orientada a objetos para C++;
  • Configuração do servidor por banco de dados;
  • Expansão dos limites do SGBD (número de transações, tamanho do banco de dados, páginas de buffer no cache);
  • Novos tipos de dados SQL;
  • Funções estatísticas;
  • Cursores bi-direcionais;
  • Suporte a IPV6.

Os interessados em experimentar a versão 3.0 do Firebird SQL (ou mesmo ter seu primeiro contato com este SGBD) podem realizar o download no site oficial do projeto, que oferece distribuições para Linux e Windows, ambas em pacotes de 32 ou 64 bits. Outras novidades podem ser conferidas no release notes da versão.

De todas as versões planejadas, a versão 3 tem sido a mais esperada por todos, pois traz mudanças significativas ao núcleo do Firebird, destacando-se a adequação total para ambientes multiprocessados e máquinas de múltiplos processadores/núcleos. Outras novidades foram incluídas, como o esperado suporte para o tipo de dado Boolean.


primeira mudança percebida é que não existe mais o executável fbserver.exe e sim o firebird.exe, que unifica as arquiteturas em um único arquivo. Para executá-lo como aplicativo utilizamos o comando a seguir no prompt de comando:

C:Firebird3>firebird -a -m

Ao concluir a execução, temos na área de notificação do Windows um ícone do Firebird. Ao efetuarmos um clique duplo vemos a tela.


Mas atenção, por padrão a porta 3050 ainda é utilizada, e caso já exista uma instância do Firebird sendo executada e configurada para essa porta, haverá um conflito no momento de sua utilização. É possível utilizar o arquivo firebird.conf, localizado na pasta onde o Firebird 3 foi descompactado, para mudar a porta a ser usada pela versão 3. Ao abrir esse arquivo em um editor de texto simples, por exemplo, o bloco de notas, localizamos o parâmetro RemoteServicePort


Configuração da porta de execução

O sinal # no início de cada linha indica que a mesma está inutilizada, sendo considerada um comentário. Então para mudar a porta para, por exemplo, 3053, removemos esse sinal #, mudamos o número, salvamos o arquivo e executamos novamente o Firebird 3.

Como a versão 3 é Alpha, nem todos produtos de gerenciamento oferecem suporte, contudo, o IBExpert em sua última versão já oferece. Vamos utilizá-lo para explorar as novidades da linguagem SQL. O processo de download (ver seção Links) sofreu algumas modificações, em sua página é necessário realizar um cadastro acessado pelo botão Register. É muito importante informar um e-mail válido, pois nele serão enviados o username e password a utilizar para login na página de download, que então disponibilizará um botão para a versão personal do IBExpert. Após seu download e instalação,


É necessário validar a instalação através de um código de ativação que é gerado ao clicar no botão Get free Code. Uma página web é aberta, onde informamos o login e password recebidos por e-mail para a geração do código de ativação. Esse código de ativação é baseado no endereço MAC da placa de rede do computador utilizado, ratreamento.

 

O SMP e o Firebird

SMP é a sigla para Symmetric Multi-Processing, que é um abordagem em sistemas computacionais onde temos vários processadores e memória compartilhada sendo que a orquestração do que é processando fica a cargo do sistema operacional e não de nenhum hardware específico. Atualmente os sistemas operacionais sabem muito bem como tirar proveitos dos vários núcleos de processamento que os processadores atuais possuem, mas é os softwares que rodam sobre esses sistemas operacionais, sabem fazer isso.

Recentemente eu apresentei uma palestra online no CodeRage da Embarcadero onde eu falei sobre as novidades da RTL e entre outras coisas mostrei como é simples em Delphi fazer com que nossas aplicações tirem proveito deste recurso. A versão 3.0 do Firebird promete se aproveitar de cada núcleo de processamento elevar a performance do servidor. Porém é importante citar que mesmo em banco de dados como Oracle e DB2 isso não é uma tarefa fácil, pois gerenciar o multiprocessamento para execução de uma query simples é mais trabalhoso do que executá-la em um único núcleo. Algo muito mais importante do que a melhoria no suporte a SMP é sem dúvida o compartilhamento do cache, mas isso é assunto para outro post.

Além desta mudança de arquitetura foram feitas melhorias na parte de segurança além da implementação de uma série de recursos já presente em grandes SGBDs, entre eles acho importante destacar:

  • Suporte a funções de usuário, as famosas functions;
  • Packages, assim como no Oracle, para organização de nossas procedures e functions
  • Novo tipo Boolean
  • Operador IS
  • Colunas Identity
  • DDL Triggers

Cada uma destas novas features, incluindo a nova arquitetura e principalmente ela, trazem consigo dezenas de novas funcionalidades e modificações como novas connections strings, providers, plugins, módulos externos e muito mais. O que posso garantir é que estamos diante de um novo e completamente reformulado Firebird.

Fique ligado aqui no blog e saiba mais sobre todas as novidades desta nova versão. Eu sou Rodrigo Mourão e pela sua atenção muito obrigado.

 

Postado por: Erasmo dia 13/02/2020 as 08:13:12.
Sistema Net Use SISTEMA NET USE