Aulas - Arquitetura e Adminisração de Banco de Dad.pdf

Embed Size (px)

Citation preview

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    1/245

    Ps Graduao em Banco de Dados e

    Businness Inteligence com nfase emSoftware Livre

    Arquitetura e Administrao de Bancode Dados

    Prof Msc. Roberto Schaefer

    Professor Mst. Roberto Schaefer 1

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    2/245

    SGBD Sistema ou SoftwareGerenciador de Banco de Dados

    Conjunto de aplicativos com objetivo de permitir acriao, manipulao e gerenciamento de bancosde dados.

    Controla os objetos dos bancos de dados

    Professor Mst. Roberto Schaefer 2

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    3/245

    SGBD Sistema Gerenciador de Banco de Dados

    SGBD Proprietrio Oracle

    SQL Server DB2

    SGBD Livre (Free) MySQL Postgre

    Professor Mst. Roberto Schaefer 3

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    4/245

    Objetos dos Bancos de Dados

    TabelasndicesViewsProceduresFunctionsTriggers

    Professor Mst. Roberto Schaefer 4

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    5/245

    Professor Mst. Roberto Schaefer 5

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    6/245

    Evoluo das ArquiteturasEvoluo dos SGBD

    Perodo Fato Marcante Exemplo de Recurso

    At 1960 Sistema de ArquivoArquivos IndexadosArquivos Integrados

    ISAMVSAM

    Anos 60 Modelo HierrquicoModelo de Rede

    IMS (IBM)DMS (UNISYS)

    IDMS (CA)Dcadade 70

    Modelo Relacional (Codd) DB2 (IBM)

    Dcadade 80

    Modelo Relacional Estendido(Objeto-Relacional)

    INFORMIXORACLE

    Dcadade 90 athoje

    Modelo Orientado ObjetoBD Inteligente

    JASMINECACHKRISISOBJECTSTORE

    Professor Mst. Roberto Schaefer 6

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    7/245

    Arquitetura de um SGBD

    Dados eMetadados

    Gerente

    Memria

    Avaliador deConsulta

    Gerente detransao

    Alterao

    esquema

    Consultas Alteraes

    Professor Mst. Roberto Schaefer 7

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    8/245

    Estrutura de armazenamento de Dados

    O SGBD recupera os dados em estruturas que chamamos de Pginas,que so listas sequenciais.

    As pginas de dados so blocos de informaes com o tamanho quevaria conforme o SGBD. Elas so utilizados para leitura e gravao dosdados.Os dados so armazenados em 2 arquivos distintos, o de DATA e o deLOG (Transactions Log). Esses arquivos gravam seus dados em formade lista sequencial duplamente encadeada.Seus ndices so armazenados em um 3 arquivo e so lidos emforma de rvore binria ou em sequncia.

    Professor Mst. Roberto Schaefer 8

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    9/245

    l Os SGBDs armazenam

    seu dados em 2 reasdistintas:l rea de Dadosl rea dos

    Transactions Log

    ou, simplesmente,rea de Log ou T-Log

    l Toda transao com osdados feita na rea

    de LOG

    Dados eMetadados

    GerenteMemria

    Avaliador deConsulta

    Gerente detransao

    Alteraoesquema

    Consultas Alteraes

    ndice

    T-LogDados

    Professor Mst. Roberto Schaefer 9

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    10/245

    l Os dados passam em definitivo para a rea de

    DADOS somente aps sua confirmaol Os dados ficam armazenados na rea de LOG

    sempre que for feita uma transao de Insert ouDelete ou Update

    l Na aplicao deve ser aberta uma transao paraque isso ocorra de forma correta

    l Aps a transao, se tudo tiver ocorrido de formacorreta, deve-se fazer uso do comando COMMIT

    caso contrrio devemos voltar a transao ao seuestado anterior atravs do comando ROLLBACK

    Professor Mst. Roberto Schaefer 10

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    11/245

    l O Commit funciona da seguinte forma:l Os dados considerados corretos so transferidos da

    rea de Log para a rea de Dados e apagados darea de Log

    l Se no for aberta uma transao na aplicao o

    Commit automtico, impossibilitando ocancelamento da transao com o Rollback

    l Se no for feito o Commit a rea de Log cresceindiscriminadamente

    Professor Mst. Roberto Schaefer 11

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    12/245

    ndicesl

    Os ndices so tabelas comdeterminados dadosordenados

    l Os ndices so utilizados parafacilitar o acesso aos dados

    l Os ndices so criados portabela

    l Cada tabela pode ter Nndices

    l Toda chave primria (PK) indexada de forma automticapelo SGBDlO MySQL cria o ndicePRIMARY

    Dados eMetadados

    GerenteMemria

    Avaliador deConsulta

    Gerente detransao

    Alteraoesquema

    Consultas Alteraes

    ndice

    T-LogDados

    Professor Mst. Roberto Schaefer 12

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    13/245

    Professor Mst. Roberto Schaefer 13

    Dados

    Log

    Indice

    rvore Binria

    PK

    FK

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    14/245

    ndices

    De um ponto de vista conceitual os ndices socompostos por uma chave de ndice e de umconjunto de ponteiros

    Uma chave de ndice o ponto de referncia dondice

    Os ponteiros apontam para a localizao dos dadosidentificados pela chave de ndice

    Professor Mst. Roberto Schaefer 14

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    15/245

    ndices Unique

    Refere-se a um ndice, onde todas as linhas do ndicedeve ser exclusiva Ou seja, a mesma linha no pode ter valores no-NULL

    idnticos para todas as colunas neste ndice como outra linha.

    Para alm de ser usado para acelerar as consultas, osndices exclusivos podem ser usados para imporrestries sobre os dados, porque o sistema de bancode dados no permite essa regra valores distintos para

    ser quebrado quando inserir ou atualizar dados.

    Professor Mst. Roberto Schaefer 15

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    16/245

    ndices FULLTEXT no MySQL

    O MySQL, a partir da verso 3.25.25, prov omecanismo de ndicesfulltext, efetuando buscastextuais com maior preciso.

    Este recurso mais poderoso que o uso de like,pois, alm de ordenar o resultado pelasimilaridade semntica, oferece mais opespara filtragem na consulta.

    Professor Mst. Roberto Schaefer 16

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    17/245

    Aplicaes com grande massa de texto que

    precisam efetuar pesquisas baseadas narelevncia so candidatas ao uso de ndices

    fulltext.

    O exemplo mais comum so pginas de busca,

    que retornam os resultados mais relevantes nafrente.

    Podemos destacar tambm bibliotecas virtuais,pesquisas em arquivos de registro ou pesquisas em

    documentos que esto armazenados no banco dedados.

    Professor Mst. Roberto Schaefer 17

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    18/245

    ndice B-Tree

    So rvores de pesquisa balanceadasdesenvolvidas para trabalharem em discosmagnticos ou qualquer outro dispositivo de

    armazenamento de acesso direto em memriasecundria

    O ndice B-tree uma implementaodas rvores B de alta concorrncia propostas por

    Lehman e Yao.

    Professor Mst. Roberto Schaefer 18

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    19/245

    ndice R-Tree

    Tambm conhecido como rvores R Utiliza o algoritmo de partio quadrtica de

    Guttman, sendo utilizada para indexar estrutura de

    dados multidimensionais, cuja implementao estlimitada a dados com at 8Kbytes, sendo bastantelimitada para dados geogrficos reais

    Utilizado normalmente com dados do tipo box, circle,point e outros

    Professor Mst. Roberto Schaefer 19

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    20/245

    ndice Hash

    O ndice hash uma implementao dasdisperses lineares de Litwin

    Na documentao do PostgreSQL est presente a seguintenota: "Os testes mostram que os ndiceshashdoPostgreSQL tm desempenho semelhante ou mais lentoque os ndices B-tree, e que o tamanho e o tempo deconstruo dos ndices hashso muito piores. Os ndiceshashtambm possuem um fraco desempenho sob altaconcorrncia. Por estas razes, a utilizao dos ndicesclass=LITERAL>hash desestimulada"

    Professor Mst. Roberto Schaefer 20

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    21/245

    ndices: Recomenda-se criar ndices para a(s)

    coluna(s) envolvida(s) no comando SELECTatravs das clausulas:WHERE, ORDER BY, GROUP BY e HAVING

    Para tirar vantagem dos ndices, deve-seescrever o comando de maneira que ele faauso dele

    Deve-se tomar cuidado com o excesso de

    ndices, pois eles podem degradar aperformance de acesso a tabela

    Professor Mst. Roberto Schaefer 21

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    22/245

    Deve-se utilizar ndices apenas em

    colunas que possuem uma baixaporcentagem de linhas com valoresiguais

    No deve-se utilizar ndices em colunasque so usadas apenas como funes eoperadores na clausula WHERE

    Professor Mst. Roberto Schaefer 22

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    23/245

    No indexe colunas que sofrequentemente modificadas ou quando

    a eficincia ganha atravs da criao deum ndice no valha a pena devido perda de performance em operaes de

    INSERT, UPDATE e DELETE.Com a criao do ndice, estas

    operaes perdero em performancedevido necessidade de manter o

    ndice correto.

    Professor Mst. Roberto Schaefer 23

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    24/245

    Desempenho em Acessos a Disco

    Sem o uso do ndice: busca binria no arquivo de dados

    [log23000] = 12

    Com o uso do ndice: busca binria no arquivo de ndice

    +

    leitura do registro no arquivo dedados

    [log245] + 1 = 6 + 1 = 7

    Professor Mst. Roberto Schaefer 24

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    25/245

    Banco de Dados Relacionais:

    l So constitudos de tabelas e cada tabela constitudade tuplas e cada tupla constituda de dadosrelacionados entre si

    l Tem como base o Teorema Booleano AlgebraRelacional

    l Garante a integridade dos dados- Relacionamentos com restries (constraints)

    - Chaves Primrias

    - Chaves Estrangeiras

    - ndices

    Professor Mst. Roberto Schaefer 25

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    26/245

    l Linguagem padronizada pelo ANSI

    American National Standards Institutel Linguagem SQL Structured Query

    Language, ou Linguagem de Consulta

    Estruturada- DDL

    - DML

    - DCL

    Professor Mst. Roberto Schaefer 26

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    27/245

    a) Cada tabela chamada de relao

    b) Uma linha e suas colunas chamam-se TUPLA

    c) Cada coluna da tabela tem um nome e representaum atributo da tabela

    d) A ordem das linhas irrelevante

    e) No existem 2 linhas iguais

    f) Usamos nomes para fazer referncia s colunas

    g) A ordem das colunas tambm irrelevante

    h) Cada tabela tem nome prprio, distinto de qualqueroutro objeto no banco de dados

    Professor Mst. Roberto Schaefer 27

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    28/245

    Arquitetura lgica do servidor MySQL

    Professor Mst. Roberto Schaefer 28

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    29/245

    Otimizao e Execuo:

    MySQL interpreta consultas para criar umaestrutura interna (a rvore deinterpretao), e, ento, aplica uma

    variedade de otimizaes. Estas podemincluir reescrever a consulta, determinar aordem na qual ela vai ler as tabelas,escolher quais ndices usar e assim por

    diante.

    Professor Mst. Roberto Schaefer 29

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    30/245

    Pode-se passar dicas ao otimizador por

    meio de palavras-chave especiais naconsulta, afetando seu processo detomada de deciso.

    Pode-se, tambm, pedir ao servidor paraexplicar vrios aspectos da otimizao. Isso permite que se saiba quais decises o

    servidor est tomando e d um ponto de

    referncia para repetir consultas, esquemas econfiguraes para fazer tudo rodar o maiseficientemente possvel.

    Professor Mst. Roberto Schaefer 30

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    31/245

    O otimizador no se importa por qual ferramenta

    de armazenamento uma tabela particular usa,mas a ferramenta de armazenamento realmenteafeta como o servidor otimiza a consulta.

    O otimizador pergunta ferramenta de

    armazenamento sobre algumas das suascapacidades e o custo de certas operaes, epede por estatsticas sobre os dados da tabela.Por exemplo, algumas ferramentas de

    armazenamento suportam tipos de ndice quepodem ser teis para certas consultas.

    Professor Mst. Roberto Schaefer 31

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    32/245

    Antes mesmo de interpretar a consulta o

    servidor consulta o cache de consulta, quepode armazenar somente expresses SELECT,junto com seus conjuntos de resultado.

    Se algum executar uma consulta que idnticaquela que j est no cache, o servidor noprecisa interpretar, otimizar ou executar aconsulta ele pode simplesmente passar devolta o conjunto de resultado armazenado

    Professor Mst. Roberto Schaefer 32

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    33/245

    Controle de Concorrncia:

    Toda vez que mais de uma consultaprecisar alterar dados ao mesmo tempo,o problema de controle de concorrncia

    surge. O MySQL faz isso em dois nveis: no nveldo servidor e no nvel da ferramenta dearmazenamento.

    Professor Mst. Roberto Schaefer 33

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    34/245

    Sistemas que lidam com acesso deleitura/escrita concorrenteimplementam um sistema de bloqueio

    que consiste em dois tipos de bloqueio.Estes so geralmente conhecidos comobloqueios compartilhados e bloqueiosexclusivos, ou bloqueios de leitura ebloqueios de escrita.

    Professor Mst. Roberto Schaefer 34

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    35/245

    Granularidade de Bloqueio

    Uma maneira de melhorar a concorrncia de umrecurso compartilhado ser mais seletivo sobreo que bloquear.

    Em vez de bloquear todo o recurso, bloqueiesomente a parte que contm os dados que necessitaalterao.

    Minimizar a quantidade de dados que voc bloqueia deuma vez permite que alteraes a um dado recurso

    ocorram simultaneamente, desde que elas no seconflitem com as outras.

    Professor Mst. Roberto Schaefer 35

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    36/245

    O problema que bloqueios consomem

    recursos. Toda operao de bloqueio obterum bloqueio, checar para ver se um bloqueioest liberado, liberar um bloqueio e assim pordiante causa problemas.

    Se o sistema gastar muito tempo gerenciandobloqueios em vez de armazenar e restaurardados, o desempenho pode sofrer.

    A maioria dos SGBDs no d muita escolha:

    bloqueio a nvel de linha nas suas tabelas asoluo.

    Professor Mst. Roberto Schaefer 36

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    37/245

    Deadlocks

    Um deadlock quando duas ou mais transaesesto mutuamente mantendo e solicitandobloqueios nos mesmos recursos, criando um ciclo

    de dependncias. Deadlocks ocorrem quando transaes tentambloquear recursos em uma ordem diferente.

    Eles podem acontecer sempre que mltiplas

    transaes bloqueiam os mesmos recursos.

    Professor Mst. Roberto Schaefer 37

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    38/245

    Por exemplo, considere estas duas transaes sendo

    executadas na tabela StockPrice: Transao n.1 START TRANSACTION;

    UPDATE StockPrice SET close = 45.50 WHERE stock_id = 4 and date = '2002-05-01';

    UPDATE StockPrice SET close = 19.80 WHERE stock_id = 3 and date = '2002-05-02';

    COMMIT;

    Transao n.2 START TRANSACTION;

    UPDATE StockPrice SET high = 20.12 WHERE stock_id = 3 and date = '2002-05-02';

    UPDATE StockPrice SET high = 47.20 WHERE stock_id = 4 and date = '2002-05-01';

    COMMIT;

    Professor Mst. Roberto Schaefer 38

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    39/245

    Se voc no tiver sorte, cada transao vai

    executar sua primeira consulta e atualizaruma linha de dados, bloqueando-a noprocesso.

    Cada transao vai, ento, tentar atualizar suasegunda linha, apenas para descobrir que jest bloqueada.

    As duas transaes vo esperar eternamente

    para que cada uma complete, a menos quealgo interfira para quebrar o deadlock.

    Professor Mst. Roberto Schaefer 39

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    40/245

    Para combater este problema, SGBDs

    implementam vrias formas de deteco dedeadlock e intervalos.

    Os sistemas mais sofisticados, como a ferramenta dearmazenamento InnoDB, vai perceber dependncias

    circulares e retornar um erro instantaneamente. Isso , na verdade, algo muito bom do contrrio,deadlocks iriam se manifestar como consultas muito lentas.

    Outros vo desistir depois da consulta exceder otempo limite de espera de um bloqueio, o que no muito bom.

    Professor Mst. Roberto Schaefer 40

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    41/245

    A maneira que o InnoDB atualmente lida comdeadlocks desfazer a transao que tem omenor nmero de bloqueios de linhaexclusivos (uma mtrica aproximada para aqual ser mais fcil desfazer).

    Deadlocks possuem uma natureza dupla:alguns so inevitveis por causa dos conflitosde dados verdadeiros, e alguns so causadosdevido a forma de como a ferramenta de

    armazenamento trabalha.

    Professor Mst. Roberto Schaefer 41

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    42/245

    Tuning (afinao):

    Em geral, os SGBD`s no soferramentas auto suficientes no que dizrespeito ao acesso aos dados e por esse

    motivo, esforos so despendidos nointuito de aperfeioar seufuncionamento interno, melhorando a

    organizao das informaes e comoelas so obtidas

    Professor Mst. Roberto Schaefer 42

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    43/245

    Ajustar e otimizar uma consulta e oprprio BD tornam-se fatoresimportantes, podendo-se ter um ganho

    de performance aceitvel, visto quecada consulta tratada de formadiferente

    Professor Mst. Roberto Schaefer 43

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    44/245

    Tuning a sintonia ou ajuste de algo

    para que o SGBD apresente melhorresultado, fazendo-se com quepequenos ajustes afetem

    significativamente a performance doBD, transformando uma tarefa de altocusto e complexidade em um processosimples e rpido

    Professor Mst. Roberto Schaefer 44

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    45/245

    Em termos didticos, pode-se dividir asaes de tuning em trs grandes tipos:

    (1) Refinamento do esquema das relaes e as

    consultas/atualizaes feitas no BD;(2) Configurao do sistema operacional em

    uso; e

    (3) Configurao dos parmetros dos SGBDs

    Professor Mst. Roberto Schaefer 45

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    46/245

    Professor Mst. Roberto Schaefer 46

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    47/245

    Dentre os problemas de desempenho que

    um SGBD abrange, esto includos o consumode processamento, utilizao ineficaz decomandos SQL, bloqueios, esperas eatividade de disco (DIAS, 2005)

    Diante das afirmativas conclumos quegrande parte dos problemas relacionadosao desempenho de acesso aos dados em umBD deve-se a preparao de consultas

    (Query) e utilizao de Index

    Professor Mst. Roberto Schaefer 47

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    48/245

    Problemas Comuns:

    Proporcionalmente, os problemas delentido esto em:60% dos problemas so relacionados ao mau uso de

    expresses SQL

    20% dos problemas so relacionados a mmodelagem do banco de dados

    10% dos problemas so relacionados a mconfigurao do SGDB

    10% dos problemas so relacionados a mconfigurao do Sistema Operacional

    Professor Mst. Roberto Schaefer 48

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    49/245

    Em Tuning, comumente sero utilizadas

    informaes de estatsticas de uso de HW:

    Utilizao do processador

    Atividade de I/O

    Paginao

    Memria utilizada

    ...

    Professor Mst. Roberto Schaefer 49

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    50/245

    Equvocos de Arquitetura:

    Concentrao de regras de negcio na

    aplicao para processos em lote

    Integridade referencial na aplicao

    Mal dimensionamento de I/O (CPU,Plataforma, Disco)

    Ambientes virtualizados (Vmware, XEN,

    etc..) em AMD64/EMT64.

    Uso de configuraes padres do SO e/ou do

    SGBDProfessor Mst. Roberto Schaefer 50

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    51/245

    Servidor ...

    Servidores dedicados para o SGBD Storage com Fiber Channel, iSCSI: Grupos de

    RAID dedicados

    SCSI > SAS > SATA > IDE

    RAID 5 ou 10: por Hardware

    Mais memria! (At 4GB em 32 bits)

    Processadores de 64 bits: Performance at 3

    vezes do que os 32 bits (AMD64 e EMT64 -Intel)

    Professor Mst. Roberto Schaefer 51

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    52/245

    RAID 5:

    As informaes sobre paridade para os dadosdo array so distribudas ao longo de todosos discos do array , ao invs de seremarmazenadas num disco dedicado,oferecendo assim maior desempenho etolerncia a falhas

    Sistema complexo de controle dos HDs

    Professor Mst. Roberto Schaefer 52

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    53/245

    RAID 10 ou 1+0:

    Exige ao menos 4 discos rgidos.Cada par ser espelhado, garantindo redundncia, e os pares

    sero distribudos, melhorando desempenho.

    At metade dos discos pode falhar simultaneamente, semcolocar o conjunto a perder, desde que no falhem os doisdiscos de um espelho qualquer razo pela qual usam-sediscos de lotes diferentes de cada lado do espelho.

    o nvel recomendado para bases de dados, por ser omais seguro e dos mais velozes, assim como qualqueroutro uso onde a necessidade de economia no se

    sobreponha segurana e desempenho.

    Professor Mst. Roberto Schaefer 53

    Discos ou parties distintos para:

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    54/245

    Discos ou parties distintos para:

    Logs de transaes ndices: Ext2

    Tabelas (particionar tabelas grandes)

    Tablespace temporrio (em ambiente BI)* Archives

    SO + SGBD

    Log de Sistema

    Professor Mst. Roberto Schaefer 54

    O otimizador de consultas o

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    55/245

    O otimizador de consultas ocomponente do SGBD que tenta

    determinar o modo mais eficiente deexecutar uma consulta

    O SGBD usa algumas estatsticas

    mantidas em tabelas do sistema paradirecionar o otimizador.

    Se essas estatsticas estiveremdesatualizadas, provavelmente no se

    obter o melhor plano para a consulta.

    Professor Mst. Roberto Schaefer 55

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    56/245

    Para atualizar as estatsticas, deve-seexecutar o comando ANALYZE.

    possvel ver o plano que o otimizador deconsultas do PostgreSQL gera, usando aclusula EXPLAIN antes da consulta.

    Adicionando a clusula EXPLAIN ANALYZEantes da consulta, ela de fatoexecutada, de forma que pode-se ter amedida do tempo

    Professor Mst. Roberto Schaefer 56

    Sintaxe no Postgre:

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    57/245

    Sintaxe no Postgre:EXPLAIN [ ANALYZE ] [ VERBOSE ]

    statement

    ANALYZE

    Executar o comando e mostra os tempos reaisde execuo

    VERBOSE

    Mostrar a representao interna completa doplano de execuo. Normalmente, esta opos til para propsitos de depurao

    Qualquer instruo DML: SELECT, INSERT,UPDATE, DELETE, EXECUTE ou DECLARE

    Professor Mst. Roberto Schaefer 57

    Sintaxe no MySQL:

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    58/245

    Sintaxe no MySQL:

    EXPLAIN EXTENDED comando select

    No uso do parmetro EXPLAIN oMySQL mostrar as informaes do

    plano de execuo montado para ocomando SELECT, mostrandoinformaes das tabelas e do join

    O uso do EXPLAIN EXTENDED

    mostrar informaes adicionais

    Professor Mst. Roberto Schaefer 58

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    59/245

    Professor Mst. Roberto Schaefer 59

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    60/245

    Professor Mst. Roberto Schaefer 60

    Aspectos que tornam acesso aos

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    61/245

    dados lentos:

    ndices inadequados ou falta de ndices; Excesso de ndices, principalmente se a

    aplicao faz muitos INSERTS ou DELETES

    em tabelas; Falta de chaves primrias em tabelas;

    Uso do SELECT trazendo todas as colunas

    da tabela select * from AAA.

    Professor Mst. Roberto Schaefer 61

    Uso do condicionador LIKE

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    62/245

    Uso do condicionador LIKEEvite "%XXX%" como pesquisa.

    Se precisar de LIKE por algum motivo, ponhao "%" apenas no final, ou seja, "XXX%"(que ser convertido pela maioria dosSGBDs em algo parecido com "BETWEENXXX AND XXX_".

    Se isso no puder ser evitado e se atabela for muito grande, use algumasoluo de "full text search" do seubanco - isso vai envolver o uso dealgum SQL especfico do banco para

    efetuar as querys de "full text search";

    Professor Mst. Roberto Schaefer 62

    Aspectos que parecem que

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    63/245

    ajudam mas no fazem diferena:

    Mexer na ordem das condies doWHERE ou dos JOINs

    Normalmente os SGBDs ignoram a ordem dascondies do WHERE ou dos JOINs e usamalguma estatstica prpria e algumaheurstica;

    Professor Mst. Roberto Schaefer 63

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    64/245

    Deixar todas as colunas com tamanhos fixos(CHAR em vez de VARCHAR)

    isso s ocupa espao em disco e no

    acelera o acesso, muitas vezes at deixamais lento porque o banco fica maior emenos dados cabem no cache.

    Professor Mst. Roberto Schaefer 64

    Boas Prticas em Acesso a Dados:

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    65/245

    Usar da clausula WHERE ao invs da HAVINGpara filtrar linhas- evitar o uso da clausula HAVING junto com GROUP BY

    em uma coluna indexada, pois neste caso o ndice

    no utilizado pelo SGBD Especificar as colunas principais do ndice na

    clausula WHERE- em um ndice composto a consulta apenas utilizar o

    ndice se as principais colunas do ndice estiveremespecificada na clausula WHERE

    Professor Mst. Roberto Schaefer 65

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    66/245

    Comparar o INDEX SCAN com o FULLTABLE SCAN - se estiver selecionandomais de 15 % das linhas de uma tabela,um FULL TABLE SCAN geralmente maisrpido do que o acesso pelo ndice.Quando o acesso por ndice causar lentido ao

    invs de apresentar um ganho de performancepode utilizar algumas tcnicas para eliminar o usodo ndice

    Professor Mst. Roberto Schaefer 66

    Informar os campos que devem

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    67/245

    p qaparecer na consulta, evitando utilizar o

    famoso select * from ; Quando for utilizar operadores de

    comparao, evitar o uso do NOT em

    condies de pesquisa, pois podemdiminuir a velocidade de recuperao dedados porque todos os registros emuma tabela so avaliados

    Professor Mst. Roberto Schaefer 67

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    68/245

    Analisar a possibilidade de se usar o

    operador UNION ALL em substituio aoUNION DISTINCT

    Utilizar COUNT(1) ou COUNT

    (NomeDoCampo) ao invs de COUNT(*) Utilizar as funes COALESCE (retorna o

    1 elemento no nulo) e IS NULL

    Professor Mst. Roberto Schaefer 68

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    69/245

    Utilizar variveis do tipo TABLE emsubstituio a tabelas temporrias

    No utilizar Functions, Stored

    Procedure e Trigger Utilizar ndices sempre que

    necessrio

    Professor Mst. Roberto Schaefer 69

    Criar VIEWS sempre que uma

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    70/245

    p qdeterminada query for executada

    diversas vezes em pontos do sistema epor diversos usurios

    Otimizar a clausula WHERE:Simples exemplos so o uso de > e

    >=. Se voc quer retornar todas as

    pessoas de uma tabela que temidade > 3, use no where >=4,

    dessa forma o banco no far oscan das pginas at encontrar o 3

    Professor Mst. Roberto Schaefer 70

    P ili l l WHERE

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    71/245

    Procurar utilizar na clausula WHERE

    todos (ou a maioria) dos campos chaveou que so indexados.

    Mesmo que no tenha um valor, procureestabelecer um intervalo e utiliz-lo.

    Por exemplo: A data de um pedido serobrigatoriamente maior que a data docadastro do cliente e menor que a data

    atual

    Professor Mst. Roberto Schaefer 71

    Usar sempre o tipo de dados correto para

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    72/245

    Usar sempre o tipo de dados correto paraarmazenar os dados.

    Por exemplo, no armazene sexo (M ou F)em um campo VARCHAR, use apenas 1caractere: CHAR(1) ou, nesse casoespecfico, o ENUM

    Em JOINS de tipos de dados diferentes, oSGBD vai ter que converter o tipo para ooutro tipo a fim de efetuar a comparao,converta-o para o mesmo tipo ao efetuar a

    query.Exemplo ==>

    Professor Mst. Roberto Schaefer 72

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    73/245

    Por exemplo, se o atributo codigo_cliente databela Cliente for Numeric(10) e o mesmo

    atributo da tabela PEDIDO for Numeric(5),converta-o para o mesmo tipo ao efetuar oJOIN

    Professor Mst. Roberto Schaefer 73

    Substituir as clausulas "OR" por um novo

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    74/245

    SELECT com o "UNION":

    Exemplo: Select id_cliente from clienteWhere tipo = J OR (idade > 30 and tipo =F)

    Alterar para: Select id_cliente from clienteWhere tipo = J UNION Select id_cliente

    from cliente Where idade > 30 and tipo = F

    Evitar grandes operaes de classificaoenvolvendo ORDER BY, GROUP BY e HAVING.Subconjunto de dados so armazenados na

    memria ou em disco sempre que operaesde classificao so realizadas

    Professor Mst. Roberto Schaefer 74

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    75/245

    Ao realizar uma query, evitar o usode aspas em dados que so do tipointeiros, pois o SGBD converter os

    caracteres para CHAR.Por exemplo: SELECT codigoFROM tbteste WHERE idade =

    20

    Professor Mst. Roberto Schaefer 75

    Evitar a tcnica do curto-circuito:

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    76/245

    v ta a tc ca do cu to c cu to

    Exemplo: ...Where @x=0 OR codigo=@X

    Procure executar no banco a instruo jmontada:

    Utilize:

    SE @x > 0 Select nome from cliente WHERE

    codigo = @X

    SENO

    Select nome from cliente

    Professor Mst. Roberto Schaefer 76

    Checkpoint:

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    77/245

    p

    Periodicamente, ou por necessidade, se faznecessrio limpar as reas de buffer e oarquivo de log de transaes (commitforado)

    O checkpoint s funciona em tabelas do tipoInnoDB tabelas que aceitam transaes e

    join, garantindo a integridade dos dadosatravs de Commit ou Rollback

    Professor Mst. Roberto Schaefer 77

    InnoDB implementa mecanismo deh k i t h id " f

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    78/245

    checkpoint conhecido como " fuzzy

    "checkpoint. InnoDB libera pginas do banco de dados

    alterados a partir da rea de buffer empequenos lotes.

    No h necessidade de descarregar a rea debuffer em um nico lote, o que, na prtica,para o processamento das instrues SQLdo usurio durante o processo de

    checkpoint.

    Professor Mst. Roberto Schaefer 78

    Durante a recuperao de falhas o

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    79/245

    Durante a recuperao de falhas o

    InnoDB procura o endereo doponto de verificao escrito nosarquivos de log

    Ele sabe que todas as modificaesno banco de dados antes desseendereo esto presentes naimagem do disco do banco dedados

    Professor Mst. Roberto Schaefer 79

    Como fazer o Checkpoint:1 Parar o servio do MySQL Shutdown

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    80/245

    1. Parar o servio do MySQL Shutdown

    2. Alterar o arquivo de inicalizao doMySQL my.ini no Windows ou my.cnfno Linux colocandoinnodb_force_recovery = 4

    3. Inicalizar o servio do MySQL

    4. Colocar o banco de dados em uso

    5. Voltar o arquivo de inicializao doMySQL como estava anteriormente

    6. Parar e reinicalizar o servio do MySQL

    Professor Mst. Roberto Schaefer 80

    Clusterizao:

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    81/245

    A CLUSTERIZAO esta associada a garantia

    da disponibilidade ou escalabilidade dosdados no MySQLA disponibilidade se refere capacidade de lidar

    com, e, se necessrio recuperar, as falhas no host,

    incluindo as falhas do MySQL, do sistemaoperacional ou do hardware

    A escalabilidade refere-se a capacidade de espalhara carga de consultas de seu aplicativo em vrios

    servidores MySQL

    Professor Mst. Roberto Schaefer 81

    No MySQL temos duas solues para resolver

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    82/245

    as questes de disponibilidade e

    escalabilidade:MySQL Replication

    MySQL Cluster o mais adequado para nossocaso uma soluo sncrona que permiteque vrias instncias de MySQL entrem emao simultaneamente

    Ao contrrio da replicao, os dados emum cluster podem ser lidos ou escritosem qualquer n do cluster, e ainformao distribuda para os outrosns.

    Professor Mst. Roberto Schaefer 82

    Vantagens:

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    83/245

    Oferece mltiplas escritas e

    leituras nos dados armazenadosPrevem controle de falhaautomtico entre ns, garantindo

    que somente o n ativo serafetado

    Dados atualizados em um ns

    automaticamente distribudos paraos demais ns

    Professor Mst. Roberto Schaefer 83

    Desvantagens:Disponibilidade limitada de

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    84/245

    Disponibilidade limitada de

    plataformasNs dentro de um cluster deve serligado atravs de uma LAN;

    Ns separados geograficamenteno so suportados

    Pode-se replicar a partir de umcluster para outro usando a

    replicao MySQL

    Professor Mst. Roberto Schaefer 84

    Usos recomendados:

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    85/245

    Os aplicativos que precisam dedisponibilidade muito alta,como as telecomunicaes ebancrio.

    Os aplicativos que requerem umnmero igual ou maior de

    gravao em relao leitura.Professor Mst. Roberto Schaefer 85

    O MySQL possui recursos para implementar o

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    86/245

    y p p pcluster nativamente, ou seja, no preciso

    instalar nenhum software adicional, alm daverso do MySQL j preparada para receber ocluster

    NDBCluster o componente do MySQL que

    permite a criao de clusters e funciona comoum engine do banco de dados

    O cluster do MySQL age de forma transparente,ou seja, a aplicao cliente no precisa saber

    que o cluster do MySQL est sendo utilizado

    Professor Mst. Roberto Schaefer 86

    Do ponto de vista de desenvolvimento, no

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    87/245

    h nenhuma mudana significativa: basta

    apenas continuar conectando em umendereo IP normalmente

    J para quem administra preciso cuidados

    especiais- algumas configuraes no so replicadaspelo cluster.

    Por exemplo, os logins e as permissesdevem ser configuras nos servidores deforma independente

    Professor Mst. Roberto Schaefer 87

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    88/245

    Professor Mst. Roberto Schaefer 88

    Arquitetura do MySQL:

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    89/245

    Professor Mst. Roberto Schaefer 89

    A arquitetura interna do MySQL provida de

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    90/245

    q y pduas camadas principais:# camada de parser e otimizao de consultas SQL e# camada onde esto conectadas as Engenharias de

    Armazenamento - Stored Engine - de formamodular

    A Engenharia de Armazenamento INNODB, temno diretrio do banco de dados um arquivo.frm, que armazena a estrutura da tabela.

    Os dados e os ndices ficam localizados em um

    tablespace no mesmo diretrio.

    Professor Mst. Roberto Schaefer 90

    O INNODB tem um tablespacepadro de nome ibdata que

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    91/245

    padro de nome ibdata que

    utilizado para armazenar ndices edados de todas as tabelas de todosos bancos de dados contidos em um

    servidor MySQL.Pode-se configurar tablespaces emlocais personalizados do filesystem ouutilizar um tablespace para cada tabela

    criada.

    Professor Mst. Roberto Schaefer 91

    INNODB tem multi-versionamento e bloqueio

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    92/245

    qem nvel de linha, ou seja, caso uma transaoA esteja atualizando uma determinada linha deuma tabela, esta ser bloqueada at que hajaum COMMIT ou ROLLBACK

    O multi-versionamento prov transao umaviso prpria do estado do banco de dados,combinado com o bloqueio em nvel de linha,prov o mnimo possvel de contenes

    Professor Mst. Roberto Schaefer 92

    O tablespace do INNODB portvel

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    93/245

    O tablespace do INNODB portvel

    e pode ser copiado diretamentepara outro servidor, juntamentecom os arquivos .frm

    Alguns pontos devem seranalisados com cuidado para queno haja problemas com o backup

    fsico do banco de dados

    Professor Mst. Roberto Schaefer 93

    Log do MySQL:

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    94/245

    Professor Mst. Roberto Schaefer 94

    Tipos de tabelas:

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    95/245

    Professor Mst. Roberto Schaefer 95

    Tipos de tabelas (cont.):

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    96/245

    Professor Mst. Roberto Schaefer 96

    Recuperao de BaseCorrompida:

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    97/245

    Antes de subir o banco, o argumentodentro do arquivo de inicalizao doMySQL dseve ser alterda:innodb_force_recovery = 4

    Faa um dump (backup) completo de todasos bancos de dadosCom o dump feito todos os bancos de dados

    devem ser dropados

    Professor Mst. Roberto Schaefer 97

    Mova o diretrio base do MySQL para outrodiretrio

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    98/245

    diretrio

    Exemplo 'data-old' Recrie a pasta 'data' do MySQL e coloque como

    owner desta pasta o usurio de execuo do'mysqld'

    Crie um novo banco de dados e restaure obackup feito

    Banco recriado e informaes persistidas semmais erros de 'Innodb'

    - INNODB prov auto_recovery aps um crashou queda no servidor onde o MySQL roda

    Professor Mst. Roberto Schaefer 98

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    99/245

    Instalao do MySQL Serverinstalao do MySQL Workbench

    Professor Mst. Roberto Schaefer 99

    Download do MySQL:

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    100/245

    Professor Mst. Roberto Schaefer 100

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    101/245

    Professor Mst. Roberto Schaefer 101

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    102/245

    Professor Mst. Roberto Schaefer 102

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    103/245

    Professor Mst. Roberto Schaefer 103

    Instalao completa:

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    104/245

    Professor Mst. Roberto Schaefer 104

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    105/245

    Professor Mst. Roberto Schaefer 105

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    106/245

    Professor Mst. Roberto Schaefer 106

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    107/245

    Professor Mst. Roberto Schaefer 107

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    108/245

    Professor Mst. Roberto Schaefer 108

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    109/245

    Professor Mst. Roberto Schaefer 109

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    110/245

    Professor Mst. Roberto Schaefer 110

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    111/245

    Professor Mst. Roberto Schaefer 111

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    112/245

    Professor Mst. Roberto Schaefer 112

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    113/245

    Professor Mst. Roberto Schaefer 113

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    114/245

    Professor Mst. Roberto Schaefer 114

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    115/245

    Professor Mst. Roberto Schaefer 115

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    116/245

    Professor Mst. Roberto Schaefer 116

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    117/245

    Professor Mst. Roberto Schaefer 117

    Instalao s do MySQL Server:

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    118/245

    Professor Mst. Roberto Schaefer 118

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    119/245

    Professor Mst. Roberto Schaefer 119

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    120/245

    Professor Mst. Roberto Schaefer 120

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    121/245

    Professor Mst. Roberto Schaefer 121

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    122/245

    Professor Mst. Roberto Schaefer 122

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    123/245

    Professor Mst. Roberto Schaefer 123

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    124/245

    Professor Mst. Roberto Schaefer 124

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    125/245

    Professor Mst. Roberto Schaefer 125

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    126/245

    Professor Mst. Roberto Schaefer 126

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    127/245

    Professor Mst. Roberto Schaefer 127

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    128/245

    Professor Mst. Roberto Schaefer 128

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    129/245

    Professor Mst. Roberto Schaefer 129

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    130/245

    Professor Mst. Roberto Schaefer 130

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    131/245

    Professor Mst. Roberto Schaefer 131

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    132/245

    Professor Mst. Roberto Schaefer 132

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    133/245

    Professor Mst. Roberto Schaefer 133

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    134/245

    Professor Mst. Roberto Schaefer 134

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    135/245

    Professor Mst. Roberto Schaefer 135

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    136/245

    Professor Mst. Roberto Schaefer 136

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    137/245

    Professor Mst. Roberto Schaefer 137

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    138/245

    Professor Mst. Roberto Schaefer 138

    Instalao s do MySQLWorkbench:

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    139/245

    Professor Mst. Roberto Schaefer 139

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    140/245

    Professor Mst. Roberto Schaefer 140

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    141/245

    Professor Mst. Roberto Schaefer 141

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    142/245

    Professor Mst. Roberto Schaefer 142

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    143/245

    Professor Mst. Roberto Schaefer 143

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    144/245

    Professor Mst. Roberto Schaefer 144

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    145/245

    Professor Mst. Roberto Schaefer 145

    Desinstalao:

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    146/245

    Professor Mst. Roberto Schaefer 146

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    147/245

    Professor Mst. Roberto Schaefer 147

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    148/245

    Professor Mst. Roberto Schaefer 148

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    149/245

    Professor Mst. Roberto Schaefer 149

    Servio do MySQL

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    150/245

    Professor Mst. Roberto Schaefer 150

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    151/245

    Professor Mst. Roberto Schaefer 151

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    152/245

    Professor Mst. Roberto Schaefer 152

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    153/245

    Professor Mst. Roberto Schaefer 153

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    154/245

    Professor Mst. Roberto Schaefer 154

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    155/245

    Professor Mst. Roberto Schaefer 155

    Definio de instncias de

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    156/245

    Definio de instncias deacesso ao MySQL

    Professor Mst. Roberto Schaefer 156

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    157/245

    Professor Mst. Roberto Schaefer 157

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    158/245

    Professor Mst. Roberto Schaefer 158

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    159/245

    Professor Mst. Roberto Schaefer 159

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    160/245

    Professor Mst. Roberto Schaefer 160

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    161/245

    Professor Mst. Roberto Schaefer 161

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    162/245

    Professor Mst. Roberto Schaefer 162

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    163/245

    Professor Mst. Roberto Schaefer 163

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    164/245

    Professor Mst. Roberto Schaefer 164

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    165/245

    Professor Mst. Roberto Schaefer 165

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    166/245

    Professor Mst. Roberto Schaefer 166

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    167/245

    Professor Mst. Roberto Schaefer 167

    Mdulo Server Administrator:

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    168/245

    Professor Mst. Roberto Schaefer 168

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    169/245

    Professor Mst. Roberto Schaefer 169

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    170/245

    Professor Mst. Roberto Schaefer 170

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    171/245

    Professor Mst. Roberto Schaefer 171

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    172/245

    Professor Mst. Roberto Schaefer 172

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    173/245

    Professor Mst. Roberto Schaefer 173

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    174/245

    Professor Mst. Roberto Schaefer 174

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    175/245

    Professor Mst. Roberto Schaefer 175

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    176/245

    Professor Mst. Roberto Schaefer 176

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    177/245

    Professor Mst. Roberto Schaefer 177

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    178/245

    Professor Mst. Roberto Schaefer 178

    Mdulo SQL Development (Editor)

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    179/245

    Professor Mst. Roberto Schaefer 179

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    180/245

    Professor Mst. Roberto Schaefer 180

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    181/245

    Professor Mst. Roberto Schaefer 181

    Mdulo Data Modeling

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    182/245

    Professor Mst. Roberto Schaefer 182

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    183/245

    Professor Mst. Roberto Schaefer 183

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    184/245

    Professor Mst. Roberto Schaefer 184

    Configuraes:

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    185/245

    Professor Mst. Roberto Schaefer 185

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    186/245

    Professor Mst. Roberto Schaefer 186

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    187/245

    Professor Mst. Roberto Schaefer 187

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    188/245

    Professor Mst. Roberto Schaefer 188

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    189/245

    Professor Mst. Roberto Schaefer 189

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    190/245

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    191/245

    Professor Mst. Roberto Schaefer 191

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    192/245

    Professor Mst. Roberto Schaefer 192

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    193/245

    Professor Mst. Roberto Schaefer 193

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    194/245

    Professor Mst. Roberto Schaefer 194

    Bancos de Dados de controle doMySQL:

    1. Information_schema2. Performance_schema

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    195/245

    3. MySQL

    Professor Mst. Roberto Schaefer 195

    1. information_schema:

    Fornece acesso ao banco de dados de

    metadados, com informaes sobre o servidorMySQL como: nome de um banco de dados ou tabela

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    196/245

    c

    tipo de dados de uma coluna

    privilgios de acesso. Outros termos que so utilizados para obteressas informaes so: dicionrio de dadosecatlogo do sistema.

    Professor Mst. Roberto Schaefer 196

    um banco de dados dentro de cada instnciaMySQL

    local que armazena informaes sobre todos osoutros bancos de dados que o servidor MySQLmantm

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    197/245

    formado por vrias tabelas somente para

    leitura No h nenhum diretrio de banco de dados

    com esse nome.

    Professor Mst. Roberto Schaefer 197

    2. performance_schema:

    Monitora a execuo interna do MySQL

    Server em um nvel baixo, em tempo deexecuo

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    198/245

    Ele se concentra principalmente em dados

    de desempenho, se diferenciando doINFORMATION_SCHEMA que serve para ainspeo de metadados.

    Professor Mst. Roberto Schaefer 198

    Ele monitora eventos do servidor Em geral, um evento pode ser uma chamada de

    funo, uma espera para o sistema operacional,um estgio de uma execuo da instruo SQL,

    tais como a anlise ou classificao, ou umadeclarao completa ou grupo de instrues

    Sua configurao pode ser modificada

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    199/245

    Sua configurao pode ser modificadadinamicamente por atualizao de tabelas no

    performance_schema atravs de comandosSQL.

    As alteraes de configurao afetam a coleta dedados imediatamente.

    Professor Mst. Roberto Schaefer 199

    3. mysql:

    Banco de dados que guarda as

    informaes necessrias paraadministrao geral do MySQL Server

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    200/245

    g y

    Por exemplo, os dados dos usurios

    catalogados no server, bem como, osdatabases, servidores, eventos, ...

    Professor Mst. Roberto Schaefer 200

    Uso de outras ferramentas

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    201/245

    Professor Mst. Roberto Schaefer 201

    Algumas ferramentas grtisutilizadas para o MYSQL so:

    Ferramentas de Monitoramento

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    202/245

    Professor Mst. Roberto Schaefer 202

    Cacti

    Algumas ferramentas pagasutilizadas para o MYSQLso:

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    203/245

    Professor Mst. Roberto Schaefer 203

    Estatsticas

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    204/245

    Professor Mst. Roberto Schaefer 204

    Servio de Controle

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    205/245

    Professor Mst. Roberto Schaefer 205

    Nagios

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    206/245

    Professor Mst. Roberto Schaefer 206

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    207/245

    Professor Mst. Roberto Schaefer 207

    INSTALAO ECONFIGURAO DESERVIDORES DE BANCO DE

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    208/245

    SERVIDORES DE BANCO DEDADOS POSTGRESQL

    Professor Mst. Roberto Schaefer 208

    INSTALAO E CONFIGURAO DO SGBDPOSTGRESQL:

    O PostgreSQL pode ser instalado por qualquer

    usurio sem privilgios, porque nenhum acesso desuper-usurio (root) necessrio.

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    209/245

    Baixe o programa emhttp://postgrecenter.pgopen.com.br/

    1 passo:

    Professor Mst. Roberto Schaefer 209

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    210/245

    Professor Mst. Roberto Schaefer 210

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    211/245

    Professor Mst. Roberto Schaefer 211

    Se voc desejar que o PostgreSQL seja instalado comoum servio no Windows habilite o checkbox "Instalar comoservio".l Aqui vem uma das partes mais crticas da instalao,

    que a definio do usurio que vai rodar o servio.l Esse usurio no um usurio do SGBD, mas sim do

    prprio Windows.

    l Este usurio no pode ser administrador e tambm nopode ser um usurio sem senha.

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    212/245

    Professor Mst. Roberto Schaefer 212

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    213/245

    Professor Mst. Roberto Schaefer 213

    Nessa tela ser definida a linguagem que o

    banco de dados ir trabalhar. O Postgresqlsuporta vrias linguagens de banco, mas necessrio baixar mdulos extras parafuncionar. Neste caso vamos manter oPL/pgsql(Procedure LanguagemPostgresql) que a linguagem proceduraldo Postgresql.

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    214/245

    Professor Mst. Roberto Schaefer 214

    Instalao de Mdulosopcionais. Marque se desejar,abaixo segue uma brevedescrio de cada item:

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    215/245

    Professor Mst. Roberto Schaefer 215

    Incio da Instalao:

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    216/245

    Professor Mst. Roberto Schaefer 216

    Concluso da Instalao.

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    217/245

    Professor Mst. Roberto Schaefer 217

    Administrando o Postgre como pgAdmin III

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    218/245

    o pgAdmin III

    Professor Mst. Roberto Schaefer 218

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    219/245

    Professor Mst. Roberto Schaefer 219

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    220/245

    Professor Mst. Roberto Schaefer 220

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    221/245

    Professor Mst. Roberto Schaefer 221

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    222/245

    Professor Mst. Roberto Schaefer 222

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    223/245

    Professor Mst. Roberto Schaefer 223

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    224/245

    Professor Mst. Roberto Schaefer 224

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    225/245

    Professor Mst. Roberto Schaefer 225

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    226/245

    Professor Mst. Roberto Schaefer 226

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    227/245

    Professor Mst. Roberto Schaefer 227

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    228/245

    Professor Mst. Roberto Schaefer 228

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    229/245

    Professor Mst. Roberto Schaefer 229

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    230/245

    Professor Mst. Roberto Schaefer 230

    Ferramentas WEB para AdministraophpMyAdmin e phpPgAdmin

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    231/245

    Professor Mst. Roberto Schaefer 231

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    232/245

    Professor Mst. Roberto Schaefer 232

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    233/245

    Professor Mst. Roberto Schaefer 233

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    234/245

    Professor Mst. Roberto Schaefer 234

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    235/245

    Professor Mst. Roberto Schaefer 235

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    236/245

    Professor Mst. Roberto Schaefer 236

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    237/245

    Professor Mst. Roberto Schaefer 237

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    238/245

    Professor Mst. Roberto Schaefer 238

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    239/245

    Professor Mst. Roberto Schaefer 239

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    240/245

    Professor Mst. Roberto Schaefer 240

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    241/245

    Professor Mst. Roberto Schaefer 241

    COMPARANDO O MySQL x PostgreSQL

    l MySQL ou Postgre, qual usar?l Ambos so muito bons e no fazem feio

    diante das alternativas pagas.l Ambos possuem recursos e vantagens

    em comum , o que significa que , para amaioria das aplica es eles podem serusados

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    242/245

    usados.l Na verdade , o correto n o tentar

    descobrir qual o melhor , mas em quesituao um ou outro deve ser utilizado.

    Professor Mst. Roberto Schaefer 242

    l O PostgreSQL otimizado paraaplicaes orientada a objetos.

    l O MySQL muito bem aceito parasistemas de com rcio eletr nico de

    porte m dio /alto , j que esse SGBD capaz de lidar de maneira satisfat ria eeficiente com o volume de dados geradopelas operaes de consulta e venda.

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    243/245

    l O MySQL , por sua vez , focado naagilidade.

    Professor Mst. Roberto Schaefer 243

    l Assim , se sua aplica o necessita deretornos r pidos e n o envolveopera es complexas , o MySQL aopo mais adequada, pois otimizado

    para proporcionar processamento rpidodos dados e tempo curto de respostasem exigir muito do hardware.l Se voc precisa, por exemplo, de um banco

    de dados para armazenar o conte do doseu site de seu frum ou necessita manter

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    244/245

    seu site, de seu frum ou necessita manterum cadastro de usu rios de um portal , oMySQL serve como uma luva , pois taisaplica es n o necessitam dos recursosavanados que o PostgreSQL oferece.

    Professor Mst. Roberto Schaefer 244

  • 7/25/2019 Aulas - Arquitetura e Adminisrao de Banco de Dad.pdf

    245/245

    Professor Mst. Roberto Schaefer 245