Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Fato Marcante
Exemplo de Recurso
At 1960
Sistema de Arquivo
Arquivos Indexados
Arquivos Integrados
ISAM
VSAM
Anos 60
Modelo Hierrquico
Modelo de Rede
IMS (IBM)
DMS (UNISYS)
IDMS (CA)
Dcada
de 70
DB2 (IBM)
Dcada
de 80
INFORMIX
ORACLE
Dcada
Modelo Orientado Objeto
de 90 at BD Inteligente
hoje
JASMINE
CACH
KRISIS
OBJECTSTORE
Arquitetura de um SGBD
Alterao
esquema
Consultas
Alteraes
Avaliador de
Consulta
Gerente
Memria
Gerente de
transao
Dados e
Metadados
Os SGBDs armazenam
seu dados em 2 reas
distintas:
l
rea de Dados
l
rea dos
Transactions Log
ou, simplesmente,
rea de Log ou TLog
Toda transao com os
dados feita na rea
de LOG
Dados
Alterao
esquema
Consultas
Alteraes
Avaliador de
Consulta
Gerente
Memria
Dados e
Metadados
Gerente de
transao
ndice
T-Log
9
10
11
ndices
l
Alterao
esquema
Consultas
Alteraes
Avaliador de
Consulta
Gerente
Memria
Dados e
Metadados
Gerente de
transao
ndice
T-Log
12
Dados
PK
Log
Indice
FK
rvore Binria
13
ndices
De um ponto de vista conceitual os ndices so
compostos por uma chave de ndice e de um
conjunto de ponteiros
Uma chave de ndice o ponto de referncia do
ndice
Os ponteiros apontam para a localizao dos dados
identificados pela chave de ndice
14
ndices Unique
Refere-se a um ndice, onde todas as linhas do ndice
deve ser exclusiva
Ou seja, a mesma linha no pode ter valores no-NULL
idnticos para todas as colunas neste ndice como outra linha.
15
16
17
ndice B-Tree
So rvores de pesquisa balanceadas
desenvolvidas para trabalharem em discos
magnticos ou qualquer outro dispositivo de
armazenamento de acesso direto em memria
secundria
O ndice B-tree uma implementao
das rvores B de alta concorrncia propostas por
Lehman e Yao.
Professor Mst. Roberto Schaefer
18
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 est
limitada a dados com at 8Kbytes, sendo bastante
limitada para dados geogrficos reais
Utilizado normalmente com dados do tipo box, circle,
point e outros
19
ndice Hash
O ndice hash uma implementao das
disperses lineares de Litwin
Na documentao do PostgreSQL est presente a seguinte
nota: "Os testes mostram que os ndiceshash do
PostgreSQL tm desempenho semelhante ou mais lento
que os ndices B-tree, e que o tamanho e o tempo de
construo dos ndices hash so muito piores. Os ndices
hash tambm possuem um fraco desempenho sob alta
concorrncia. Por estas razes, a utilizao dos ndices
class=LITERAL>hash desestimulada"
20
ndices:
21
22
23
[log23000] = 12
[log245] + 1 = 6 + 1 = 7
24
Chaves Primrias
Chaves Estrangeiras
ndices
25
DDL
DML
DCL
26
a)
b)
c)
d)
e)
f)
g)
h)
27
28
Otimizao e Execuo:
MySQL interpreta consultas para criar uma
estrutura interna (a rvore de
interpretao), e, ento, aplica uma
variedade de otimizaes. Estas podem
incluir reescrever a consulta, determinar a
ordem na qual ela vai ler as tabelas,
escolher quais ndices usar e assim por
diante.
Professor Mst. Roberto Schaefer
29
30
31
32
Controle de Concorrncia:
Toda vez que mais de uma consulta
precisar alterar dados ao mesmo tempo,
o problema de controle de concorrncia
surge.
O MySQL faz isso em dois nveis: no nvel
do servidor e no nvel da ferramenta de
armazenamento.
33
34
Granularidade de Bloqueio
Uma maneira de melhorar a concorrncia de um
recurso compartilhado ser mais seletivo sobre
o que bloquear.
Em vez de bloquear todo o recurso, bloqueie
somente a parte que contm os dados que necessita
alterao.
Minimizar a quantidade de dados que voc bloqueia de
uma vez permite que alteraes a um dado recurso
ocorram simultaneamente, desde que elas no se
conflitem com as outras.
Professor Mst. Roberto Schaefer
35
36
Deadlocks
Um deadlock quando duas ou mais transaes
esto mutuamente mantendo e solicitando
bloqueios nos mesmos recursos, criando um ciclo
de dependncias.
Deadlocks ocorrem quando transaes tentam
bloquear recursos em uma ordem diferente.
Eles podem acontecer sempre que mltiplas
transaes bloqueiam os mesmos recursos.
37
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;
38
39
40
41
Tuning (afinao):
Em geral, os SGBD`s no so
ferramentas auto suficientes no que diz
respeito ao acesso aos dados e por esse
motivo, esforos so despendidos no
intuito de aperfeioar seu
funcionamento interno, melhorando a
organizao das informaes e como
elas so obtidas
42
43
44
45
46
47
Problemas Comuns:
Proporcionalmente, os problemas de
lentido esto em:
60% dos problemas so relacionados ao mau uso de
expresses SQL
20% dos problemas so relacionados a m
modelagem do banco de dados
10% dos problemas so relacionados a m
configurao do SGDB
10% dos problemas so relacionados a m
configurao do Sistema Operacional
48
Utilizao do processador
Atividade de I/O
Paginao
Memria utilizada
...
49
Equvocos de Arquitetura:
50
Servidor ...
51
RAID 5:
52
RAID 10 ou 1+0:
53
Logs de transaes
ndices: Ext2
Tabelas (particionar tabelas grandes)
Tablespace temporrio (em ambiente BI)*
Archives
SO + SGBD
Log de Sistema
54
O otimizador de consultas o
componente do SGBD que tenta
determinar o modo mais eficiente de
executar uma consulta
O SGBD usa algumas estatsticas
mantidas em tabelas do sistema para
direcionar o otimizador.
Se essas estatsticas estiverem
desatualizadas, provavelmente no se
obter o melhor plano para a consulta.
55
56
Sintaxe no Postgre:
EXPLAIN [ ANALYZE ] [ VERBOSE ]
statement
ANALYZE
Executar o comando e mostra os tempos reais
de execuo
VERBOSE
Mostrar a representao interna completa do
plano de execuo. Normalmente, esta opo
s til para propsitos de depurao
Qualquer instruo DML: SELECT, INSERT,
UPDATE, DELETE, EXECUTE ou DECLARE
Professor Mst. Roberto Schaefer
57
Sintaxe no MySQL:
EXPLAIN EXTENDED comando select
No uso do parmetro EXPLAIN o
MySQL mostrar as informaes do
plano de execuo montado para o
comando SELECT, mostrando
informaes das tabelas e do join
O uso do EXPLAIN EXTENDED
mostrar informaes adicionais
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
Checkpoint:
77
78
79
80
Clusterizao:
81
Vantagens:
Oferece mltiplas escritas e
leituras nos dados armazenados
Prevem controle de falha
automtico entre ns, garantindo
que somente o n ativo ser
afetado
Dados atualizados em um ns
automaticamente distribudos para
os demais ns
83
Desvantagens:
Disponibilidade limitada de
plataformas
Ns dentro de um cluster deve ser
ligado atravs de uma LAN;
Ns separados geograficamente
no so suportados
Pode-se replicar a partir de um
cluster para outro usando a
replicao MySQL
84
Usos recomendados:
Os aplicativos que precisam de
disponibilidade muito alta,
como as telecomunicaes e
bancrio.
Os aplicativos que requerem um
nmero igual ou maior de
gravao em relao leitura.
85
86
88
Arquitetura do MySQL:
89
90
91
92
93
Log do MySQL:
94
Tipos de tabelas:
95
96
Recuperao de Base
Corrompida:
97
98
99
Download do MySQL:
100
101
102
103
Instalao completa:
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
Instalao s do MySQL
Workbench:
139
140
141
142
143
144
145
Desinstalao:
146
147
148
149
Servio do MySQL
150
151
152
153
154
155
Definio de instncias de
acesso ao MySQL
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
Configuraes:
185
186
187
188
189
190
191
192
193
194
195
1. information_schema:
Fornece acesso ao banco de dados de
metadados , com informaes sobre o servidor
MySQL como:
nome de um banco de dados ou tabela
tipo de dados de uma coluna
privilgios de acesso.
196
197
2. performance_schema:
Monitora a execuo interna do MySQL
Server em um nvel baixo, em tempo de
execuo
Ele se concentra principalmente em dados
de desempenho, se diferenciando do
INFORMATION_SCHEMA que serve para a
inspeo de metadados.
Professor Mst. Roberto Schaefer
198
199
3. mysql:
Banco de dados que guarda as
informaes necessrias para
administrao geral do MySQL Server
Por exemplo, os dados dos usurios
catalogados no server, bem como, os
databases, servidores, eventos, ...
200
201
Ferramentas de Monitoramento
Algumas ferramentas grtis utilizadas para o MYSQL so:
Cacti
202
203
Estatsticas
204
Servio de Controle
205
Nagios
206
207
INSTALAO E
CONFIGURAO DE
SERVIDORES DE BANCO DE
DADOS POSTGRESQL
208
209
210
211
212
213
214
Instalao de Mdulos
opcionais. Marque se desejar,
abaixo segue uma breve
descrio de cada item:
215
Incio da Instalao:
216
Concluso da Instalao.
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245