Vous êtes sur la page 1sur 5

ArquiteturadoMySQL

JamileSantos

,JssicaAparecida

,JulianeMarinho

,
KesiaBraga

,SuzaneLima

UniversidadeFederalRuraldoRiodeJaneiro(UFRRJ)
DepartamentodeCinciadaComputao

1. Resumo

EstetrabalhotemcomoobjetivoapresentaraarquiteturalgicadoSGBDRMySQLe
compararamesmacomaarquiteturageneralistadosSGBDs.
OMySQLconsideradomuitodiferentedosdemaisSGBDs.Eleflexveletilpara
muitospropsitos,taiscomo:usabilidadeemambientesmuitoexigentes,comoaplicaes
web,potencializaodeaplicaesembutidas,depsitodedados,entreoutros[1].possvel
configurloparaquepossaserexecutadonumaamplagamadehardwareetersuportepara
vriostiposdedados.Suaarquiteturaformadaportrscamadas.

2.ArquiteturaMySQL

AprimeiracamadacontmosserviosquenosoexclusivosdoMySQL.Estesso
serviosqueamaioriadasferramentascliente/servidorbaseadasemredeouservidores
precisam,taiscomo:gerenciamentodeconexo,autenticao,segurana,entreoutros[1].
Asegundacamadaincluiocdigoparainterpretarconsulta,anlise,otimizao,
cacheetodasasfunesembutidas(porexemplo,datas,horas,matemticaecodificao).
Todafuncionalidadeoferecidaatravsdasferramentasdearmazenamentoficanestenvel:
procedimentosarmazenados,triggers1evisualizaes,porexemplo[1].
Jaterceiracamadacontmferramentasdearmazenamento.Etemcomo
responsabilidadesarmazenarerecuperartodosdosdadosnoMySQL.Oservidorse
comunicacomestacamadaatravsdaAPIdaferramentadearmazenamento[1].

3.Comparao:ArquiteturaMySQLeArquiteturageneralista

3.1GerenciamentodeConexoeSegurana

NoMySQLcadaconexodeclienteobtmsuaprpria
thread
dentrodoprocessodo
servidor.Oservidorfazcachede
threads
,paraqueelasnoprecisemsercriadasedestrudas
paracadanovaconexo[1].Quandoclientes(aplicaes)conectamseaoservidorMySQL,o
servidorprecisaautenticlas,baseandosenonomedousurio,hospedeirodeorigemesenha
[1].Apsaconexodocliente,oservidorverificaseomesmopossuiprivilgiosparacada
consultaqueexecuta(exemplo:seoclientetempermissoparaexecutarumaexpresso
SELECTqueacessaatabela
Country
nobancodedadosworld)[1].
Naarquiteturageneralista,duranteoGerenciamentodecomunicaesdoclienteeste
ltimoutilizaumaAPIparasecomunicarremotamentecomoSGBDR,estabelecendouma
conexoquemuitasvezesrealizadaatravsdeumintermedirio(WebServer,TPM,etc.)
[2].OSGBDRdevesercapazdesecomunicardediversasformaseemtodaselasdeveser
sercapazdelembraroestadodaconexo.Aorealizaraconexonecessriochecar
preliminarmenteascredenciaisdeseguranaeoutrasinicializaese,emseguida,esperaro
primeirocomandoSQL[2].AoreceberoprimeiroSQL,oSGBDRdeveassociarconexo
osrecursosnecessriosparaseuprocessamentoatravsdoGerenciamentodeprocesso[2].

S
ocdigosdePL/SQLarmazenadosdentrodobancodedados,ondepodemosdefinirum"bloco"PL/SQL
paraquesejaexecutadoautomaticamentepelobanco.
1


3.2OtimizaoeExecuo

OMySQLinterpretaconsultasparacriarumaestruturainterna(arvorede
interpretao),e,ento,aplicaumavariedadedeotimizaes.Estaspodemincluir:reescrever
aconsulta,determinaraordemnaqualelalerastabelas,escolherquaisndicesserousados
eassimpordiante[1].
Ootimizadornoseimportacomqualferramentadearmazenamentoumatabela
particularusa,massimseaferramentarealmenteafetacomooservidorotimizaaconsulta.O
otimizadorperguntaferramentadearmazenamentosobrealgumasdassuascapacidadeseo
custodecertasoperaes,epedeporestatsticassobreosdadosdatabela.Porexemplo,
algumasferramentasdearmazenamentosuportamtiposdendicequepodemserteispara
certasconsultas[1].
Antesmesmodeinterpretaraconsulta,porm,oservidorconsultaocachede
consulta,quepodearmazenarsomenteexpressesSELECT,juntocomseusconjuntosde
resultado.Sealgumexecutarumaconsultaqueidnticaquelaquejestnocache,o
servidornoprecisainterpretar,otimizarouexecutaraconsultaelepodesimplesmente
passardevoltaoconjuntoderesultadoarmazenado[1].
Naarquiteturageneralista,umavezpermitidooprocessamentodocomando,o
ProcessadordeConsultasRelacionaisinvocadopara:1.Verificarseousuriopossuitodas
aspermissesparaexecutaraconsulta2.ReescreverecompilarocomandoSQLemum
planodeconsultainterno3.Otimizaroplanodeconsulta4.Executaroplanodeconsulta.

3.3FerramentasdeArmazenamento

Asferramentasdearmazenamentosoresponsveisporarmazenarerecuperartodos
osdadosnoMySQL.ComoosdiversossistemasdearquivodisponveisparaGNU/Linux,
cadaferramentadearmazenamentopossuiseusprpriosbenefciosedesvantagens.O
servidorcomunicasecomelasatravsdaAPIdaferramentadearmazenamento[1].Esta
interfaceescondediferenasentreferramentasdearmazenamentoeastornamamplamente
transparentesnacamadadeconsulta.AAPIcontmvriasfunesdebaixonvelquerealiza

operaescomoiniciarumatransaooutrazeralinhaquecontmalinhaprimria.As
ferramentasdearmazenamentonointerpretamSQL(UmaexceoInnoDB,que
interpretadefiniesdechaveestrangeira,porqueoservidorMySQLaindanoas
implementa)nemsecomunicamumascomasoutraselassimplesmenterespondems
requisiesdoservidor[1].
Naarquiteturageneralista,oGerenciadordeArmazenamentoTransicionalverificaas
primeirastuplasretornadas.Seoresultsetformuitogrande,oclientedeverealizarnovas
chamadaspararecuperarblocosderesultados(FETCH).Aofinaldaexecuodaconsulta,
atransaocompletadaeaconexo,fechadaresultanarealizaodeprocedimentos
especficos,comoliberaoderecursos,escritadelog,etc[2].

4.Concluso

Muitos aspectos da arquitetura generalistasoencontradosnaarquiteturadoMySQL,


por mais que ele seja considerado um pouco diferente dos demais SGBDs, tal como:
Gerenciamento de conexo, autenticao, segurana Interpretao, consulta, anlise,
otimizaoparaasfunesobtidasentreoutrosaspectos.
Para obter o mximo do MySQL, necessrio entender seu design que flexvel de
diversas maneiras. Por exemplo, voc pode configurlo para rodarbememamplavariedade
dehardwareesuportarumavariedadedetiposdedados.
Uma das caractersticas mais importantes do MySQL sua arquitetura deferramenta
de armazenamento. Seu design separa o processamento da consulta e outras tarefas do
servidordoarmazenamentodedadoserecuperao.

Referncias
1. Schwartz,Zaitsev,Tkachenko,Zawod.AltoDesempenhoemMySQL.Editora
AltaBooks2009.ISBN:9788576083818.
Disponvelem:
htttp://www.altabooks.com.br/index.php?dispatch=attachments.getfile&attachment_id
=155.
Consultadoem:31/08/2015
2. Orleans,LusF.ArquiteturasdeSGBDsRelacionais.UFRRJ2015.
3. WagnerBianchi
,
MySQLINNODBIntroduoeprincipaiscaractersticas
Disponvelem:
http://imasters.com.br/artigo/8065/bancodedados/mysqlinnodbintroducaoeprinci
paiscaracteristicas/
Consultadoem31/08/2015