Académique Documents
Professionnel Documents
Culture Documents
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
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