segunda-feira, 22 de maio de 2017

Oracle Multitenant - Visão Geral

Conceito


Arquitetura disponivel a partir do 12c, o multitenant permite trabalhar com o Oracle no modelo de container database, CDB, podendo utilizar nenhum, um ou muitos banco de dados de clientes, PDBs, Pluggable databases.

A proposta de se trabalhar com o modelo de multitenant é facilitar a consolidação de schemas e bases de dados, compartilhando hardware, recursos de processamento e armazenamento, ao mesmo tempo estando em um ambiente seguro e isolado.


Principais Desafios Pre-12c

  • Diversos bancos de dados departamentais;
  • Desperdício de capacidade de processamento e memoria;
  • Alto custo operacional e de licença;

Cenários Identificados Pre-12c


Anteriormente ao 12c, poderiamos encontrar as seguintes distruições de base de dados Oracle, porém nenhuma delas apresenta uma solução completa em consolidação provendo redução de waste, provisionamento rapido e isolamento.


  • Bancos de dados e instancias isoladas;
  • Bancos de dados consolidados em servidores unicos;
  • Schemas de banco de dados consolidados em uma unica base;
Com advento do 12c a arquitetura Multitenant nos permite uma consolidação muito mais inteligente, segura e isolada.

    Benefícios


    O principal beneficio em trabalhar em modo Multitenant é a consolidação dos diversos bancos de dados, através desta nova essa abstração dos dados, anteriormente feita a nivel de instancia ou schema, configurando o produto como Multinant conseguimos consolidar as aplicações de maneira mais inteligente, segura e dinâmica.

    Com o Multitenant conseguimos isolar as aplicações em Plugables database (PDB), cada PDB é uma base de dados completa, possuem seu proprio dicionário de dados, arquivos fisicos, privilegios e usuarios. Todo PDB é conectado ao ROOT, fazendo com que alguns recursos sejam compartilhados, como por exemplo Redos Logs, Archive, Undo TBs e SGA.

    Através de algumas features de Multitenant como Fast Provisioning e fast upgrade/patching, conseguimos eliminar o desperdício que temos em algumas tarefas, como aplicação de patch, criação de base e refresh.


    Possíveis Arquiteturas 12c






    Non-CDB - Arquitetura "tradicional", ou pre-12c, este é o modelo chamado pela Oracle de Non-CDB, onde não temos o Container Database Criado, pode ser utilizado em EE ou SE, e no 12.1 já esta deprecated, indicando que em breve a Oracle não suportará esse modelo de banco de dados.


    Singletenant - Modelo em Container Database (CDB), porém com apenas um pluggable database, este modelo não requer custo extra de licença, e pode ser instalado na versão EE ou SE.


    Multitenant - Modelo em Container Database (CDB), onde possui diversos Pluggables database, requer custo adicional de licença e somente disponivel na versão Enterprise (EE).


    Fonte: MOS 1628809.1


    Componentes





    CDB$ROOT - Todo ambiente CDB possui um Root Container obrigatoriamente. ;de forma lógica este armazena informações que são compartilhadas entre todos os PDBs e usuários comuns a todos os CDBs, seu dicionário de dados engloba objetos comuns a todos os containers do CDB;

    PDB$SEED - Todo ambiente CDB possui um SEED, este é um containter vazio utilizado como template para criação de novos Pluggables.


    PDB - Pluggable Database - Este é o container que irá receber dados e objetos locais de usuários locais, destinado para uso individual das aplicações.



    Nenhum comentário: