Neste tópico começaremos a detalhar um pouco sobre a arquitetura de um ambiente DB2 LUW (versões 9). Gostaria de lembrar que os tópicos iniciais focarão no estudo para o exame de certificação DB2 Associate (000-730 – válidas para as versões 9.1, 9.5 e 9.7 do DB2), cujo detalhamento de estudo e objetivos do exame podem ser obtidos através do nosso Guia da Certificação. Quem desejar prestar este exame, inicialmente necessitará de um conhecimento básico sobre SQL e um conhecimento básico sobre o produto DB2 LUW.
Em cada tópico procurarei demonstrar um pouco sobre o produto DB2, afim de resumir os pontos principais. É altamente recomendado que os profissionais adquiram uma literatura para que possam aprofundar-se mais e mais no produto DB2.
Todas as informações contidas nos posts serão retirados da documentação Oficial da IBM (Infocenter) e também de um livro gratuito dedicado a comunidade DB2 chamado PRIMEIROS PASSOS COM O DB2 Express-C. Este livro pode ser utilizado para quem desejar obter a certificação Associate DB2, pois o mesmo cobre os principais pontos do exame de certificação.
Ao final deste post colocarei as informações para download do livro e também para documentação oficial IBM, assim como um informação do site www.bigdatauniversity.com, onde treinamentos sobre o produto DB2 são oferecidos sem custo.
Será importante também o profissional efetuar o download da versão gratuita do DB2, pois ao final de cada capítulo de estudo o mesmo poderá fazer exercicios de fixação contidos no livro.

OBS 1: Não seguiremos todos os capítulos na ordem do livro, por isso informarei em todos os posts qual o capítulo do livro estou me referindo. Tratarei desta maneira para primeiramente abordarmos a teoria necessária para posteriores discussões.

OBS 2: Será necessário que o DB2 Express-C esteja instalado em máquina para execução dos exercicios e acompanhamento do material de estudo, por este motivo todos devem efetuar esta instalação seguindo as instruções contidas no Capítulo 3 – Instalação do DB2 ou acessando o post do Alexandre Torres sobre como instalar o DB2 LUW no Ubuntu. Qualquer dúvida estou à disposição para esclarecimentos.

Sem mais delongas, vamos ao que interessa!!!

Iniciaremos com teoria do DB2, então começaremos pelo Capítulo 6  – Arquitetura do DB2. Este capítulo encontra-se na parte 2 do livro. O livro esta dividido em parte 1 e parte 2, por isso fiquem atentos.

Dividiremos inicialmente a arquitetura de um ambiente DB2 em 3 facetas:

1 – O modelo de processo do DB2
2 – O modelo de memória do DB2
3 – O modelo de armazenamento do DB2 – *Será melhor detalhado na Parte 2 do Post.

MODELO DE PROCESSO DB2

O DB2 trabalha no formato de arquitetura Multithread de processos, pois esta arquitetura requer menos memória e poucos recursos de sistema operacional quando comparados ao modelo de processo.
Um ambiente DB2 possui um processo principal denominado db2sysc (Unix / Linux) ou db2syscs (Windows). Este processo principal (não o único processo) engloba vários Threads ou EDUs (engine dispatchable units), inclusive o principal Thread ou EDU é chamado também de db2sysc.
Cada EDU ou Thread é responsável por executar uma tarefa no ambiente DB2, e quando necessário outra EDU pode ser alocada para executar a tarefa.
Abaixo, a figura representa uma arquitetura de processos no DB2:

O DB2 possui um firewall interno responsável por manter a integridade dos dados no database, evitando que erros de aplicação sobrescrevam buffers internos ou arquivos do gerenciador de banco de dados. Este firewall também é responsável por aumentar a confiabilidade do DB2, evitando que erros de aplicação causem um “crash” no DB2.

MODELO DE MEMÓRIA DB2

O modelo de memória do DB2 consiste em 4 áreas, ou seja, a área de memória à nivel de instância, banco de dados, aplicação e agentes do DB2 (os agentes executam tarefas no banco de dados em nome das conexão de aplicação).
Quando iniciamos uma instância, a área de memória compartilhada da instância é alocada.
Ao conectar-se em um banco de dados da instância, a área de memória global do banco de dados é alocada.
A memória compartilhada com o aplicativo é uma área na qual os aplicativos e agentes do DB2 podem compartilhar informações (planos de acesso, compilação de SQL, coleta de estatísticas, etc.)
A memória particular do agente é aquela usada por cada agente do DB2. Inicialmente iremos pensar que cada conexão requer um agente.
Abaixo, a figura representa o modelo de memória do DB2:

Baseado nas duas informações citadas acima (modelo de memória e processos), podemos definir a estrutura mestre de um ambiente DB2, a Instância.
Uma instância DB2 é formada por um conjunto de processos + área de memória, e esta é responsável por todo o gerenciamento de memória e processos do ambiente DB2.
DICA: Em algumas literaturas é comum o pessoal não falar sobre instância e sim sobre Database Manager, o que tem mesmo significado.

No próximo post, com a definição de estrutura de modelo de armazenamento do DB2, poderemos definir um novo componente do ambiente DB2. Mas estes serão outros quinhentos.

Como o exame da certificação DB2 Associate não exige um conhecimento aprofundado em estruturas de memória ou processo não precisaremos detalhar totalmente neste momento todos os pontos, mas tentarei deixar o mais claro possível sem complicar. Conceitos mais avançados do DB2 deixaremos para os posts do exame DB2 Database Administrator.

Para estudo e detalhamento do resumo oferecido acima, por favor, efetuar o download do livro gratuito no endereço : http://www-01.ibm.com/software/data/db2/express/
Treinamentos gratuitos sobre o produto DB2 também são oferecidos no site BigData University: http://bigdatauniversity.com/
Para acessar o material oficial IBM, por favor, utilize o link do InfoCenter: http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/index.jsp 

*****Todas as figuras foram retiradas do livro PRIMEIROS PASSOS COM O DB2 Express-C.