Sei sulla pagina 1di 26

InterBase ComparativocontraMsSQLServer/SybaseSQLServer

Unabrevehistoria MecanismosdeBloqueo SQLServer:BloqueosdePginas SQLServer:BloqueosdeIndices SQLServer:BloqueosdeTablas SQLServer:PromocindeBloqueosdePginaaBloqueosdeTablas SQLServer:Inserciones InterBase:ArquitecturaMultiGeneracional InterBase:Rendimiento Confirmacinendosfases SQLServer SybaseSQLserver InterBase CHARSyVARCHARS SQLServer:(Almacenamiento)CHARvs.VARCHAR InterBase(Almacenamiento)CHARvs.VARCHAR SQLServer(Rendimiento) InterBase(Rendimiento) SQLServer(EdicininsitudeVARCHARS) InterBase(EdicininsitudeVARCHARS) MatricesMultidimensionales ProcesamientodeTransacciones SQLServer InterBase InstalacinyMantenimiento InstalacinyReservacindeEspacio SQLServer(Instalacin) Sybase.(Instalacin) InterBase(Instalacin) Mantenimiento(CopiasdeRespaldo) SQLServer(Mantenimiento) InterBase(Mantenimiento) RegistrosdeTransacciones SQLServer InterBase Puntosdeverificacin SQLServer InterBase Configuracin SQLServer InterBase Recuperacin SQLServer InterBase Interbase: SombreadodeBasesdeDatos UsodeRecursos

MicrosoftSQLServer SybaseSQLServer InterBase Escalabilidad MicrosoftSQLServer SybaseSQLServer InterBase Portabilidad MicrosoftSQLServer SybaseSQLServer InterBase TecnologasAvanzadas(AlertadoresdeEventos) SoporteparaJava SoporteInternacional MicrosoftSQLServer SybaseSQLServer InterBase

Introduccin
Motorola,Nokia,MCI,NorthernTelecom,laBolsadePhiladelphia,BearStearns,elFirstNationalBankde Chicago,MoneyStore,elEjrcitodelosEstadosUnidos,NASA,BoeingApesardelovariadodelos nombresenestalista,todoscompartenalgoencomn:hanseleccionadoaInterBasecomoelcomponente fundamentaldesussistemasdeinformacin.InterBasepuedeencargarseconlamismafacilidadde controlarsistemasdemisilesdecombate,decapturardatosparalainvestigacinaerospacialogestionaruna bolsadevalores.Estasaplicaciones,aparentementediferentesnecesitanciertascaractersticascomunes entreellas:facilidaddeusoymantenimiento,altorendimiento,escalabilidad,confiabilidad,disponibilidad delosdatos,portabilidad,unadecuadousodelosrecursosyrecuperacintrasdesastres.InterBasehasido diseadoparacumplircontodosestosobjetivos. Aunquenotodaslasempresasnecesitanaplicacionestaninteresantesodramticascomolascitadas,todava compartenlasmismasnecesidadesydebensuministrarsolucionesrealesaproblemasrealesdelmundo empresarial.LasmismasvirtudesquehacendeInterBaseelmejorSistemadeGestindeBasesdeDatos Relacionales(SGBDR)paralasaplicacionesmencionadas,sonlasmismasvirtudesquehacendeInterBase lamejoreleccinparasuusoporgruposdetrabajos,departamentosyempresasencualquieraplicacin cliente/servidor.ElobjetivodeestedocumentoesdemostrarporquInterBaseeslamejorherramienta SGDBRparaaplicacionesCliente/ServidorexaminandocmosecomportanInterBase,MicrosoftSQL ServerySybaseenlosaspectossealadosanteriormenteyenotrosms. Nota. AntesdelasalidadeMicrosoftSQLServer6.0,SybaseSQLServeryMicrosoftSQLServereranelmismo producto.MicrosoftSQLServer4obtuvounalicenciadeSybaseyfuevendidoapartirdeentoncesbajola etiquetadeMicrosoft.En1995,MicrosoftcomprelcdigofuentedeSybaseylomodificparaproducir MicrosoftSQLServer6.0.Sybasecontinueldesarrollodesuproducto,queescomercializadoahorabajo losnombresdeSybaseSQLServerSystem10ySystem11.EnelcorazndeMicrosoftSQLServerylos productosSQLdeSybaseseescondeelmismocdigofuente.Enlamayoradeloscasos,losproductosse comportandelamismamanera.Porestarazn,eltrmino"SQLServer"sereferir,alospropsitosdeeste documento,tantoaMicrosoftSQLServercomoaSybaseSQLServer.Enloscasosenqueestosdos

productosdifieran,seutilizarnsusrespectivosnombres.

Unabrevehistoria
InterBasefueconcebidoycreadooriginalmenteporungrupodeexempleadosdelaDigitalEquipment Corporation[DEC],loscualesquerandesarrollarunSGDBRinnovadorqueofrecierabeneficios substancialmentemayoresqueotrasbasesdedatosexistentes.InterBasecomenzsuvidaen1985conel nombredeGrotonDatabaseSystems,siendorenombradopocodespuscomoInterBase.AshtonTate adquirielproductoen1991,yBorlandloadquiriasuvezen1992comopartedelacompradeAshton Tate. Alolargodesudesarrollo,InterBasehaintroducidoexitosamenteunaseriedeavancestecnolgicos.Entre estosseencuentralaArquitecturaMultiGeneracional,ConfirmacinenDosFasesAutomtica,Sombreado deBasesdeDatos,ObjetosBinariosGrandes[BLOBs],IndicesDispersosconRepresentacinBinaria, MatricesMultidimensionales,AlertadoresdeEventosyelprimercontroladornativoJDBC. LamayorpartedelossistemasSGBDRexistentesnopuedenofrecertecnologasequivalentes.Porejemplo, laarquitecturadeSQLServerutilizaunacombinacindebloqueosdepginas,tablasendicespara permitirelaccesoconcurrenteasusdatos.SQLServerpermitelaconfirmacinendosfasesperonecesita ayudaporpartedelprogramadorparagestionarlassecuenciasdeconfirmacinydeanulacin.SQLServer ofreceaccesoaBLOBsperosualcanceesmuylimitadoyessignificativamentemslentoqueelaccesoa BLOBsdeInterBase.

MecanismosdeBloqueo
Resumen:InterBaseutilizasuArquitecturaMultiGeneracionalparareducirenormementelanecesidadde bloqueosdepginas,ndicesytablas,asegurandoporlotantolamayorconcurrenciaposible,la disponibilidaddelosdatosyelmejorrendimientoensituacionesreales. Antecedentes:Laintegridaddelosdatoscrticosdeunaempresaesdeimportanciainconmensurable.Hay muchasformasdeasegurarlaintegridaddelosdatosenunSGBDR.Dosdelosesquemasmscomunesson losdebloqueospesimistasylosbloqueosoptimistas.Elbloqueopesimistaeslatcnicamsfcilde implementarygenerabloqueosenpginas,ndicesytablasparaasegurarlaintegridaddelatransaccin. Porotraparte,lastcnicasoptimistasdebloqueosnodetienenalaaplicacincliente.Porelcontrario, utilizanmecanismosmssofisticadosparaasegurarlaintegridaddelatransaccin.Elbloqueooptimista,a lavezqueaseguralaintegridaddelosdatos,ofreceelmejorrendimientoydisponibilidaddela informacin.

SQLServer:BloqueosdePginas.Conelpropsitodegarantizarlaintegridaddelosdatos,la arquitecturadeSQLServerutilizaunmecanismodebloqueosquebloquealaspginasdedatos.Una pginadedatosesunacoleccindebloquesfsicosdedatoseneldiscodurodeunservidor.Las pginastienentodaselmismotamao,elcualestdeterminadoporlaconfiguracindelservidory labasededatos.Endependenciadelanchodeunatablaydeltamaodelapgina,unapginapuede contenercualquiernmeroderegistros.Generalmente,losregistrossedisponenenunatablaconlos registrosaadidosrecientementealfinaldelamisma.Launidadbsicadealmacenamientoesla pginade2K,quecoincidentementeeslamenorunidaddealmacenamientoqueSQLServerpuede tambinbloquear.Elbloqueoaniveldepginasrequierequelosdesarrolladoresestnms conscientesdelaconcurrenciaydelanecesidaddeajustarsucdigoparaobtenerlamayor concurrenciaposible.Unbloqueosobreunapginainmovilizatodaslasfilasdedatosodendices existentesenesapgina.Porejemplo,enunatablaquecontienefilasdedatosde100bytesyclaves de10bytesunbloqueoenestaspginastendrelefectoacumulativodebloquearotras18filasde

datosy180entradasenelndice. Paraasegurarlaintegridaddeunregistro,cuandoocurreunaescrituraenunatabla,elSGBDR bloquealapginadondeestubicadoelregistro.Bloquearlapginacompletaesmsrpido quebloquearlosregistrosindividualesyrequieremenosrecursosenelservidorparagestionar losbloqueos.Estatcnica,sinembargo,impideelaccesodeotrosusuariosalapgina completa.Paramsproblemas,sinembargo,SQLServerbloquea,ademsdelapginaenla queseencuentraelregistro,laspginasadyacentes.Estoquieredecirquenosolamentese bloquealapginadeinters,sinotambinlaprecedenteylasiguiente.Elaccesoalosregistros enlaspginasbloqueadasseimpedirduranteladuracindelbloqueo.Elbloqueopuede ocurrirenunaampliavariedaddesituaciones.Lamsfrecuenteesmientrasseescribeun registroenlabasededatos.Sinembargo,elusodecursoresporlasaplicacionesclientespuede causarunextensobloqueodepginas.Entalescasos,losusuariosqueestnvisualizando registrospuedenimpediraotrosusuariosquemodifiquenregistrosenesaspginashastaquela aplicacindevisualizacincierreelcursoroelusuarionaveguefueradelapgina,liberandoel bloqueo. Elhechodequeellectordeunregistro,pginaopginaadyacentepuedaimpediraotros usuarioslaactualizacindeunregistroencualquieradelaspginasbloqueadasporellector planteapotencialmenteproblemasimportantesconelrendimientoparalosusuariosque necesitanaccederalosregistrosenlaspginasbloqueadas.Envezdepoderseconcentrarenla implementacindelasreglasdenegociosdelaempresa,losdesarrolladoresdebenmalgastar muchotiempoparalacreacindemecanismossofisticadosdebloqueosenlasaplicaciones clientesparaasegurarqueestasrespondanadecuadamentealaspginasbloqueadasque encuentrenduranteelprocesamiento.Estoaumentalacomplejidaddelaaplicacinyloscostos dedesarrolloymantenimiento.

SQLServer:BloqueosdeIndices.LosndicesdeSQLServersufrenlasmismaslimitacionesque sustablasasociadas,exceptoquelasimplicacionestienenmayoralcance.Losregistrosdeunatabla sealmacenanenunasecuenciamsomenosalea toria.Laexcepcinaestoeselusodendices agrupados.Cuandoseactualizaunapginadedatos,susndicescorrespondientesnecesitantambin seractualizados.Cuandoseactualizaunapginadedatos,susndicescorrespondientestambin necesitanseractualizados.Aligualquelastablas,losndicestambinsealmacenanenpginas.Para actualizarunapginadeunndice,lapginadebebloquearseprimero.Tengaencuentaque,debido aladistribucinaleatoriadelosdatosenunatabla,lapginabloqueadadelndicepuedereferirsea cualquiernmerodepginasdedatos.Estoquieredecirquelasactualizacionesalndicedeunnico registropuedenbloquearodiferirlasactualizacionesdelosmuchosregistrosalosqueserefiereuna solapginadelndice.Tengatambinencuentaquesihaymltiplesndicessobrelatabla,ysiestos ndicesrepresentandiferentescriteriosdeordenacinderegistros,quedanafectadaspginas adicionalesdendicesydatos.Enaplicacionesgrandes,conmuchosusuariosconcurrentes,la incidenciasobreelrendimientopuedesersubstancial. SQLServer:BloqueosdeTablas.Paraasegurarlecturasrepetiblessenecesitanvistasconsistentes deunabasededatos.Laslecturasrepetiblesgarantizanquedentrodelalcancedeunatransaccin determinada,losdatosimplicadosenlatransaccinpermanecensinalterarporotrosusuarios mientraslatransaccinprogresa.Estoesparticularmenteimportanteenlasaplicacionesfinancieras oenaplicacionesenlascualesseejecutaninformesoconsultaslargasmientrasotrosusuarios actualizanregistros.ParaasegurarunavisinconsistenteenunabasededatosdeSybaseode MicrosoftSQLServer,eldesarrolladordebeutilizarbloqueosdetablas.Unbloqueodetablacoloca unbloqueocompletosobreunatablay,endependenciadeltipodebloqueo(Compartido, Actualizacin,Exclusivo)impideescriturasolecturasdelatablaporotrosusuariosdurantela transaccin.Unejemploenelcualestoesparticularmenteimportanteesenuninformedelos registrosasientosdecontabilidad,dondeesmuyprobablequetodoslosregistrosseanutilizadospor elinforme.Pordefinicin,todoslosbalancesenlatabladeasientosdebensumarcero.La

arquitecturadeSQLServerexigequeeldesarrolladorbloqueelatablacompletadurantelaejecucin delinforme.Endependenciadelaherramientadeinformesutilizada,puedennecesitarsevarias pasadas.Esmuyprobablequeseutilicenotrastablas,quedebenasuvezserbloqueadas

SQLServer:PromocindeBloqueosdePginaaBloqueosdeTablas.Lastransaccioneslargas queafectanaungrannmeroderegistrosnecesitanungrannmerodebloqueosdepginas.Enla medidaenqueaumentaelnmerodepginasbloqueadasenunatabla,SQLServerpromueve automticamentelosbloqueosdepginasaunbloqueototaldelatabla.Elpropsitodeesta promocinesminimizareltrabajoqueelSGBDRdeberealizarparagestionarlosbloqueosy mantenerlaconcurrenciasobrelosdatos,mientrasquemantieneelrendimientoenunnivel aceptable.Desafortunadamente,unbloqueocompletosobreunatablatambinbloqueaalrestode losusuariosdelatabla.Estapromocinpuedeocurrirtantoparaactualizacionescomopara consultas.Paraasegurarunrendimientoptimoenlassituacionesconmltiplesusuarios,ser necesariounadministradordebidamenteentrenadoparaqueanalicetantoeldiseodelabasede datoscomolasaplicacionesclientesylospat onesdeuso.Eladministradordebeentoncesajustarel r niveldepromocindebloqueosparaintentarbalancearlosefectosdelagestindeunnmero elevadodebloqueoscontralosefectosdeimpedirelaccesoaotrosusuarioscuandolosbloqueosde pginassetransformanenbloqueosdetablas.Losprogramadoresdeaplicacionesdebentambin estarconscientesdelasimplicacionesdelosbloqueosdepginasytablasydelprocesode promocinyescribircdigoquerespondaadecuadamentealosbloqueoscuandoseproduzcan.Los requisitosdelosdesarrolladoresparaescribirestecdigoderespuestaaadebastantecomplejidada lasaplicaciones,incrementandoporconsiguienteloscostosdedesarrolloymantenimiento.

Soluciones:Parapoderlidiarconlasnumerosaslimitacionesdelmecanismodebloqueode SQLServer,losdesarrolladoreshantenidoqueidearparchesparaoptimizarelbalanceentre concurrenciayrendimiento.Entreestastcnicasseencuentran:

Utilizarunadministradordebidamenteentrenado,ycaro,pararealizarunanlisis exhaustivodelasaplicacionesclientes,delasestadsticasdelabasededatosydesu diseo,enconjuntoconunacuidadosaconfiguracinyajustedelgestordebloqueospara establecerumbralesptimosdepromocinparacadabasededatos. Almacenamientointermediodelosdatosparaabreviarladuracindelastransaccioneslo msposible,reduciendoporlotantolacontencinporbloqueos.Aumentalacomplejidad delaaplicacin,elevndoseelcostoasociadodedesarrolloymantenimiento.Los problemasdeconcurrenciasurgentambincuandootrosusuariosintentanactualizar registrosasumiendoquesusdatosenusosonlosreales. Movimientosregularesdedatosparasepararbasesdedatosendiferentesservidores cuandoseestnejecutandoinformeslargos.Esteeselusomsfrecuentedela replicacindeSQLServer.Desafortunadamente,lareplicacinenSQLServerfuncionaen unsolosentido;essencillamenteunacopiadedatosdelabasededatosmaestraala esclava.Estalimitacinimpideelusoprcticodelareplicacinparaotrastareas.En Sybase,lareplicacinselograconunproductoseparado:"ReplicationServer".La replicacinenSQLServerespocomsqueunmtodoparasobreponerseauna deficienciabsicadelproducto. Tablastemporalesdetrabajoparacontenerdatosenactualizacionesenlote.Esto introduceotrosproblemasdeconcurrencia,yaquelosdatosqueotrosusuariosestn utilizandonosonnecesariamentelosactualizados. UtilizarHOLDLOCKparacolocarunbloqueoSHAREsobreelementosseleccionados,para eliminarlaposibilidaddequeotrosusuariosactualicendichoelemento.Conmuchos usuariosenelsistema,esprobablequelosotrosusuariosintentenactualizarlosmismos datosopginasdendices.SepuedencolocarvariosbloqueosSHAREsobrelosmismos elementos,bloqueandodeestemodoindefinidamentelasactualizaciones.Ental escenario,elsegundousuariopuedecausarunabrazomortal(deadlock)yunodelosdos

usuariostendrqueromperestecrculovicioso.Elusodeunbloqueoexclusivoevitarael abrazomortalperoimpediraaotrosusuarioslavisualizacindeloselementos bloqueados.Unaterminacinanormaltambindejarabloqueossinresolverhastaqueel servidorpuedadeterminarquelaconexinhasidorota.

SQLServer:Inserciones.MicrosoftSQLServer6.5hamejoradoligeramentesumecanismode bloqueoconrespectoalaversin6.0yaSybaseSQLServer,soportandobloqueosaniveldefila durantelasinserciones.Aunqueestomejoraelrendimientodelasoperacionesdeinsercin,noalivia ningunodelosotrosproblemasrelacionadosconlosbloqueossobrepginas,ndicesytablas.De estemodo,enlaarquitecturadeSQLServer,independientementedelaversin,lasactualizaciones siguennecesitandobloqueosdepginasytablasparaasegurarlaintegridaddelosdatos. InterBase:ArquitecturaMultiGeneracional.InterBaseempleaunaestrategiadebloqueo optimistaatravsdesuArquitecturaMultiGeneracional[MGA].ElmecanismoMGAdeInterBase creaversionesoptimizadasderegistrosnuevos,borradosoactualizadosquesonsolamentevisibles dentrodelaaplicacinqueprovocaloscambiosenlosdatos.Enrealidad,InterBasesolamentecrea versionesdelascolumnascambiadasproduciendodeltas.Estoaseguraelmayorrendimientoposible ylosrequisitosmnimosdeespacio. Elestadodeinvisibilidaddelosregistrosversionadospermanecesolamentedurantela ejecucindelatransaccin.Despusdeterminarlatransaccin,losregistroscambiadosse vuelvenvisiblesparatodaslastransaccionesquehancomenzadodespusquelaprimera transaccinterminase.Deigualforma,todaslasotrastransaccionestienensupropiavisinde losregistrosquealteranduranteelcursodesutransaccin.Unavezquetodaslastransacciones queleenoalteranregistroshanterminado,InterBasedesechalasversionesantiguasytodaslas transaccionesapartirdeesemomentotienenlamismavisindeesosregistros.Cuandodos transaccionesintentanmodificarelmismoregistro,latransaccinqueprimeroenvasusdatos eslapropietariadelregistro,yseproduceunaexcepcincuandoelsegundoregistroesenviado. LosdesarrolladoresdeSQLServerylosdesarrolladoresdeInterBasetienenlaposibilidadde trabajarcontalesexcepciones.Sinembargo,laaplicacinsobreSQLServerdebeprimeroreleer elregistroparaasegurarsedequeelregistronohasidocambiado.Endependenciadela herramientadedesarrolloutilizadaenlaaplicacincliente,eldesarrolladordeSQLServer puedenecesitarescribircdigoadicionalparacontrolaresteproceso.Envezdeescribircdigo enlaaplicacinparamanejarlamuycomnocurrenciadebloqueosdepginas,ndicesy tablas,overificarqueelregistrodestinonohasidocambiado,eldesarrolladordeInterBase programalasaplicacionesclientesparaquemanejenlasmenosfrecuentesexcepcionesdebases dedatosquesonelevadascuandounregistrodestinohasidomodificadoporotratransaccin. EldesarrolladordeInterBaseobtieneimportantesincrementosenproductividad,rendimiento, concurrenciaydisponibilidaddedatos,ascomounacomplejidadreducida.Enltimainstancia estosignificauntiempodedesarrolloyunoscostosdemantenimientomsreducidosparalas empresasqueutilizanInterBase.

InterBase:Rendimiento.Laspruebasparadeterminarelrendimientodeunabasededatostienen encuentapocasveceslosefectosdelosmecanismosdebloqueosutilizadosporelSGBDR.Los mecanismosdebloqueodepginasytablasdelosservidoresdeMicrosoftySybasepuedenafectar adversamenteelrendimientocuandomuchosusuariosnecesitanaccederalamismapginadedatos, oinclusoapginasadyacentes.Porejemplo:ensituacionesreales,elbloqueodepginasempleado porSQLServerpuedecausarretrasosenlamedidaenquelasaplicacionesclientesesperan orla p liberacindelosbloqueos.Estosefectospuedenserbastantevisiblesensistemasdegrandes volmenesdedatosoensistemasenlosqueseejecutanconsultasoinformeslargosmientrasque otrosusuariosactualizanregistros.LaarquitecturaMGAdeInterBaseaseguraquetodoslos registrosestndisponiblesparatodoslosusuariosdelsistemaentodomomento.Lasaplicaciones clientesnuncatienenqueesperarqueestndisponiblestablas,registrosondices, independientementedelnmerodeusuariosdelsistemaodelalongitudycomplejidaddelas

transaccionesqueseestnejecutando.LosdesarrolladoresdeInterBasepueden,porlotanto, suministraraplicacionesconelmayorrendimientoposibleencualquierentornodetrabajoconla menorcomplejidadposiblededesarrollo. Inicio

Confirmacinendosfases
Resumen:InterBaseofreceelmayorniveldeconcurrenciaentremltiplesbasesdedatosconelmenor esfuerzodedesarrollo,consiguiendolamayorintegridaddedatosposiblealavezqueminimizaloscostos dedesarrolloymantenimiento. Sedicequelapalabra"Transaccin"sederivadelafrase"AccindeTransformacin".Unatransaccines unaaccinoseriedeaccionesquetransformanunsistemadesdeunestadoconsistenteaotro.Porejemplo: Marautilizauncajeroautomticoparatransferir10.000dlaresdesdesucuentacorrienteydepositarlaen sucuentaVISA;hatransformado(cambiado)losbalances antodesucuentacorrientecomodesucuenta t VISA.LastransaccionessecaracterizanporsuspropiedadesACID: AtomicidadSerefierealapropiedadtodoonadadelatransaccin.Olatransaccinse confirmacomountodoonorealizacambioalguno.Silatransaccinfallaencompletarse exitosamente,lasoperacionesrealizadashastaesepuntosonanuladas. ConsistenciaLatransaccindebetransformarelsistemadesdeunestadoconsistenteaotro estadoconsistente.Laconsistenciasedefinemediantelasreglasdenegociodelsistema,yson reforzadasporlaaplicacin. IndependenciaAunquepuedenocurrirmltiplestransaccionesconcurrentes,cadatransaccin debepensarqueeslanicaencadamomento. DurabilidadLosefectosdeunatransaccinconfirmadadebenserpermanentes. EnelejemplodeMara,todaslaspropiedadesACIDdebencumplirse.Asumiendoquelainformacin acercadesucuentacorrienteylainformacinsobresucuentaVISAestnenbasesdedatosseparadas, debetenerlugarunatransaccincoordinada.Estosecontrolanormalmentepormediodeconfirmacionesen dosfases.Unaconfirmacinendosfasesesunmecanismomedianteelcuallaactualizacindelasbasesde datosafectadassetratacomounatransaccinACID.Lasdosfasesdeestetipodeconfirmacinsonlafase depreparacinylaconfirmacin,propiamentedicha.Si,poralgnmotivo,elprocesofalladurantelafase depreparacin,estoes,despusdequeeldinerohasidoextradodelacuentacorrienteynohaingresado anenlacuentaVISA,latransaccindebeanularse.Estoaseguraqueeldineroextradoesdevuelto.En otraspalabras,hastaquelaextraccinyeldepsitopuedanserconfirmados,lasoperacionesenambasbases dedatosnosonpermanentes.Unavezquesehanrealizadolasconfirmacionesparciales,latransaccinse confirmacomountodo.Estoesloqueseconocecomoconfirmacinendosfases.

MicrosoftSQLServer.LaarquitecturadeSQLServerpermitealosdesarrolladoresla programacindeconfirmacionesendosfasesutilizandoTheMicrosoftDistributedTransaction Coordinator[MSDTC].MSDTCnecesitaquelosdesarrolladorescreenobjetosdetransaccin utilizandoobjetosOLE.Estofuerzaalosdesarrolladoresaprogramarenotrolenguaje,comoC++, parapodercrearygestionarconfirmacionesendosfasesaniveldeempresa.Claroest,enla medidaenqueocurrencambiosenlaaplicacin,estecdigodebeverificarseyhabrquedarle mantenimientoalolargodelciclodevidadelaaplicacin.Delmismomodo,silaaplicacinse portadesdeNT/IntelaNT/PPC,elcdigomismodebeadaptarse,recompilarseyvolveraverificar. Noslodebenmantenerselabasededatos,elcdigodelaaplicacinysusobjetos,sinotambinlos

objetosMSDTC.EstolimitalaportabilidaddelasaplicacionesdeMicrosoftSQLServereimpone gastosadicionalesendesarrolloymantenimiento.Paralosdistribuidoresdesoftware,estoesde sumaimportancia,debidoalasmltiplesversionesdecdigoquedebenserdesarrolladas, verificadas,mantenidasydocumentadas,ancuandohayunnicosistemaoperativo.Adems,ya queMSSQLServersoloestdisponiblesobreNTytieneunaimplementacinnicaparalas confirmacionesendosfases,nopuedeserprogramadoparamanejarconfirmacionesendosfases entresmismoylasbasesdedatosdegestindeSybasequeseejecutansobreUNIX.

SybaseSQLServer.EnSybaseSQLServer,seanimaalosdesarrolladoresautilizarla confirmacinendosfasesparaasegurarlaintegridaddelosdatoscuandosenecesitantransacciones queabarcanmltiplesbasesdedatos.EntodoelconjuntodelosveintemanualesdeSybaseSystem 10,hayunasolamencindepasadasobrelasconfirmacionesendosfases.Lapginawebde Sybase,encambio,contieneciertacantidaddedocumentosqueesbozancmosepuedenescribir confirmacionesendosfasesenC,FORTRAN,PascalyCOBOL.Cadaunodeestosejemplostiene msde100lneasdecdigo.Alosdesarrolladoresselesobligaaescribirrutinasexternas complejas,quenoestndocumentadasenlosmanualesdeSybase,utilizandootroslenguajes,envez deutilizarlascapacidadesinternasdelSGBDR.Lamigracinaotraplataformapuederequerirla recompilacinoreprogramacinparalanuevaplataforma.ComoenelcasodeMicrosoftSQL Server,losficherosexternosdebenmantenerseysincronizarseaniveldeempresa,elevandolos gastosdemantenimientoydesarrollo.Unavezms,losdistribuidoresestnobligadosasoportar mltiplesbasesdecdigos.Sinembargo,eldesarrolladordeSybaseseenfrentaaunniveladicional decomplejidad,porqueestasbasesdecdigosedistribuyenatravsdevariossistemasoperativos. InterBase.InterBaseofrececonfirmacionesendosfasesautomticasquecumplencontodoslos requisitosdeunatransaccinACIDsinprogramacin.Estopermitealcanzarlamayorconcurrencia posibleconelmenoresfuerzo. Inicio

CHARSyVARCHARS
Resumen:InterBaseutilizatcnicasptimasparaelalmacenamientodedatos,ytiposdedatos,ms flexibles,necesitandosignificativamentemenosalmacenamiento,menoscomplejidadymayorrendimiento.

SQLServer:(Almacenamiento)CHARvs.VARCHAR.Haydostiposprincipalesdecaracteres queseutilizanvirtualmenteentodaslasbasesdedatosSQLcliente/servidor.Elprimeroesuntipo dedatosdelongitudfija,conocidocomoCHAR. EnlamayoradelosSGBDRs,unCHARocupaun espacioconstanteenlabasededatos,sintenerencuentaellargorealdelosdatos.Cualquier espacioquesobreserellenaalfinalconespaciosenblanco.EltipoCHAResparticularmentetil paradatosquenovaranenlongitud,comoloscdigosdepasesyestados.LosCHARspueden tambinutilizarseparacolumnasmsanchas,comonombresydirecciones,perodeestemodose desperdiciangrandescantidadesdeespacioenlabasededatos. EltipoVARCHAResuntipodedatosdecaracteresdelongitudvariable.Ofreceunmtodo paraalmacenardatosdecaracteresdelongitudvariable.LalongitudmximadeunVARCHAR seasignaparacadacolumnaVARCHARcuandosecrealabasededatos.Enelmomentoenque sealmacenandatosenuncolumnaVARCHAR,elSGBDRdeterminacuntoespaciodebe reservarseparaacomodareldato,ysoloesteespacioseasigna.LosVARCHARsofrecenun mtodoeficienteenespacioparaalmacenardatosbasadosencaracterescuyalongituddentrode unamismacolumnavaradefilaafila. Limitacionesdetamao.LascolumnasdetipoVARCHARdeSQLServerestnlimitadasa

255bytesdedatos.Sisenecesitancadenasmayoresque255bytes,debeutilizarseeltipode datosTEXT.EltipoTEXTsealmacenacomodatosBLOBensegmentosde2K.Enotras palabras,independientementedesilacolumnadetipoTEXTutilizaunbyteo1.500parauna filaenparticular,SQLServerdebereservarunbloquede2Kparaesafila.SQLServerofrece accesoaBLOBpenalizandoelrendimiento.Losdesarrolladoresdebenplanificar cuidadosamentesusdiseosdebasesdedatosparalograrelbalanceptimoentre almacenamientoyrendimiento,ypuedenverseforzados,ensituacionesenqueunacolumna contengaregularmentemsde255bytesperomuchomenosde2.000bytes,acombinardos columnasVARCHARyaescribircdigoadicionalpararecombinarlosdatos.

InterBase(Almacenamiento)CHARvs.VARCHAR.ComolafamiliadebasesdedatosdeSQL Server,InterBasesoportalosdostiposdedatosCHARyVARCHAR.Superficialmente,se comportandelmismomodoqueenSQLServer.Estoaseguralacompatibilidadconelsoftware clientequeesperaquelosdatostenganlongitudvariableofija.Internamente,InterBaseimplementa estostiposdedatosdemododiferentealaarquitecturaSQLServer.EnInterBase,CHARy VARCHARsealmacenanexactamentedelamismamanera.Todoslosespaciosalfinaldeunvalor seeliminanyelrestoesloquesealmacenaenlabasededatos.EnelcasodelosdatosVARCHAR, cuandosesolicitanalservidor,eldatodelongitudvariableespasadoalcliente.Enelcasodedatos CHAR,InterBasecompletalosdatosconespaciosenblancoparaasegurarladevolucindelos datosconeltamaocorrecto.Adems,InterBaseutilizaunalgoritmodecompresinparaoptimizar lacantidaddeespaciorequeridaparaelalmacenamientodelostiposCHARyVARCHAR. TamaodelosVARCHAR.ElanchomximodeltipoVARCHARdeInterBaseesde32K. LosdesarrolladoresdeInterBasedisfrutan,enconsecuencia,detodoslosbeneficiosdelostipos dedatosVARCHARsinestarlimitadosa255caracteres.Estaposibilidadesextremadamente valiosaparalosdesarrolladoresquedeseanbuscarymanipularlargascadenasdetexto,tales comocamposMEMO,sintropezarconlaslimitacionesimpuestasparaelusodecamposBLOB (comolasdeSybaseyMicrosoft).SielMEMOpuedesobrepasarellmitede32K,solamente InterBaseofreceuntipodedatosBLOBextremadamenteeficiente,contamaosdesegmentos especificablesporeldesarrollador.Enotraspalabras,sieldesarrolladoresperagrandes cantidadesdetextosenincrementosregularesde512bytes,eltamaodesegmentodeBLOBs deInterBasepuedeoptimizarseparaacomodarlosdatos,envezdemanipularlosdatosparaque seacomodenalmtododealmacenamiento.

SQLServer(Rendimiento).Teniendoencuentalaevidenteventajadelaflexibilidady almacenamientoeficienteofrecidoporeltipodedatoVARCHAR,puedeparecerquelascolumnas VARCHARsonlaeleccinindudableparaelalmacenamientodedatosbasadosencaracteres.Sin embargo,elusodetiposVARCHARenSQLServerinfligeunapenalizacinenelrendimientoque eselresultadodelatraduccinquedeberealizarse.Deestemodo,losdesarrolladoresenSQL Serverdebenelegirentrealmacenamientoorecuperacineficientedelosdatos. InterBase(Rendimiento).Porelcontrario,debidoaquelasestructurasinternasdeambostiposes idnticaenInterBase,eldesarrolladornuncanecesitarealizarestetipodedecisiones.Encambio,el desarrolladorsimplementepuedebasarsudecisinenqutipodedatoseselmsadecuadopara aceptarodevolverdatosalaaplicacincliente.Eldesarrolladortampocotienequepreocuparse acercadelastcnicasptimasdealmacenamiento,graciasalosalgoritmosdecompresindedatos deInterBaseysusoporteparagrandescolumnasdetipoVARCHAR. SQLServer(EdicininsitudeVARCHARS).Elespacioreservadoparaelalmacenamientodelos valoresindividualesdetipoVARCHARsedeterminacuandoelregistroseescribeporprimeravez enlabasededatos.CualquieredicinposteriordeunacolumnaVARCHARprobablementeuna cantidaddiferentedeespacioparaalmacenarlosdatos.Laalteracindeltamaodelosdatos provocaqueSQLServerreasigneespaciobasndoseensunuevotamao.Porejemplo,siunusuario finalquierealgotansencillocomoactualizarunalistadedistribuidoresmayoristas,ymodificauna

lneadedireccinde"6475ChristieAvenue"a"100BorlandWay",SQLServerdebeborrarel registroyaadirloalfinaldelatablapararealizarlamodificacin.Hayunaseriedecuestiones asociadasconesteproceso: 1. RegistrodeTransacciones:Cadaborradooinsercindeunregistroafectaalregistrode


transaccionesdelabasededatos,alregistrartantounborradocomounainsercin.El mantenimientodelosregistrosdetransaccionesrequiereaccionesporpartedeladministradordela basededatos,paralimpiaresteregistrodeformaregular.Losregistrosdetransaccionesimpropios oirregularmentemantenidospuedendesbordarseyprovocarunfallodelabasededatos.Para pequeasinstalacionessinadministradoresatiempocompletoquerealizanelmantenimientodela basededatos,losresultadospuedenserdesastrosos.

2. TransaccionesLargas:Lastransaccioneslargasqueactualizanunagrancantidaddevaloresde

tipoVARCHARpuedenbloquearlasltimaspginasdeunatablaporperodosextensosdetiempo. UnatransaccinqueactualizaunacolumnadetipoVARCHARencadaregistrodeunatablapuede conseguirquecadaregistroseaborradoyaadidoalfinaldelatabla.Estopuedeprovocarun crecimientodelregistrodetransaccionesaunritmosuperioraldelosdatosbsicos.

3. EspacioLibre:Elespacioocupadoporlosregistroseliminadospermanecesinrecuperarhastaque
serealiceelmantenimientodelabasededatos.Elresultadoesunatablaquepuedefcilmente ocuparmsdeldobledesuespaciooriginal,juntoaunregistrodetransaccionesquehacrecido parareflejarlosborradoseinserciones.

4. TransaccionesFracasadas:Laadicindelosregistrosactualizadosmueveelregistromodificado

haciaelfinaldelatabla.Estaaccinbloquealasltimaspginasdelabasededatoshastaquela transaccinfinalice.Otrosusuariosqueestncreandoregistrosoestneditandocolumnas VARCHARencualquierotrolugardelabasededatostambinintentarnescribiralasltimas pginasdelabasededatos.EnlaarquitecturadeSQLServer,tambinsepresentansituacionesen lascualesloslectoresdedatospuedenbloquearalosescritores.Deestemodo,otrosusuariosde labasededatospuedeninclusobloquearlaactualizacindelacolumnadetipoVARCHARdebidoa losbloqueosdepginasimpuestosalasltimaspginas,provocandoelfallodelatransaccin.

5. Rendimiento:Lasrestriccionesdeaccesoalaspginasbloqueadasresultanenunmenor

rendimiento,conusuariosquetienenqueesperarporlaliberacindelaspginasbloqueadas.Con basesdedatosdegrandesvolmenesdeinformacinquecontienengrandescantidadesdedatos detipoVARCHAR,ladegradacindelrendimientoessignificativa.

InterBase(EdicininsitudeVARCHARS).InterBasereasignaespaciopara losvaloresdetipo VARCHARalvuelo.EstoquieredecirqueelprocesodeborradoeinsercinutilizadoporSQL ServernoocurreenInterBase.Estoimplicauntrabajomenorparaelservidorcuandoserealizan actualizacionesacolumnasVARCHAR,logrndoseunmejorrendimiento.Adems,alnoexistirun registrodetransaccionesquemantener,yquepuedapotencialmenteprovocarunfallodelabasede datos,hayconsiderablementemenostrabajoparaunadministradorespecializado.Elproblemadelos bloqueosdepginasplanteadoporlaarquitecturadeSQLServerestambinevitadoporcompleto, logrndoselamayordisponibilidadposibledelosdatos. Inicio

MatricesMultidimensionales
InterBaseofreceuntipodedatosnicoconocidocomoMatricesMultiDimensionales[MDA].Estetipode datosnoestdisponibleenotrosSGDBR.EltipodedatosMDApermitequeeldesarrolladoralmacene matricesdevirtualmentecualquiertamao,hasta16dimensiones.YaqueunvalorMDAsealmacenaenun solocampo,nicamentesenecesitaelaccesoaunasolafilaycolumnapararecuperareldato.Lostipos MDAsuministranunmtodopotentedecapturayrepresentacindedatosenunaformaqueseradifcil,si

noimposible,utilizandolaarquitecturadeSQLServer.Laraznfundamentaleselrendimiento.Considere queunconjuntodedatosenparticulardebeserrepresentadocomounamatrizdedimensiones 100x100x100;elnmerototaldeelementosdedatossera1.000.000.Paraescribirestosdatosaldiscodel servidorsenecesitaranunmillndeactualizaciones,mslascorrespondientesactualizacionesa os l ndices.Unalecturadeestosdatosrequeriratambinunmillndeoperacionesdelectura.Conuntipo MDA,solamenteunregistroesnecesarioparalalecturaolaactualizacin.Adems,siunvalormatriciales nulo,InterBasenoasignaespacioparaestedato.Entrminosrelacionales,elaccesoaunconjuntodedatos conunladodelarelacinquenotengaunvalorcorrespondienterequiereelusodeencuentrosexternos (outerjoins)encualquierconsultaqueaccedaaestarelacin.EnlamayoradelosSGBDRestetipode operacionesserealizanconunimportantecostoderendimiento.LostiposMDAnoseaccedendeesta manera,porlocualnosufrenestosproblemas. BearStearnsesunafirmadecorredoresdebolsaqueutilizaelaltorendimientodelostiposMDApara obtenerventajasensunegocio.Estetipodenegociosimplicanlacompradeaccionesenunabolsaysu ventarpidaenotra,aprovechandoelpequesimopreciodiferencialcomomargendeganancias.Yaquelas variacionesdepreciosentrelasdistintasbolsassecoordinanmuyestrechamente,laclaveparatriunfar resideenlahabilidadparaaprovecharestaspequeasdiferenciasantesdequesesincronicenlosprecios. LostiposMDAdeInterBaseofrecenelrendimientonecesarioparaaprovecharestasbrevesventanasde oportunidad. CiertofabricantelderdelaindustriaaerospacialtambinutilizaInterBaseparacapturardatosentiempo realapartirdedisposicionestridimensionalesdemicrfonoscolocadosenpistasdedespeguepararecoger nivelesderuidosdereactoresalaterrizarydespegar.UtilizandotiposMDA,seconsiguenintervalosde muestreoextremadamentecortos,ofreciendounavisinmuydetalladadelosnivelesdepresindelaire. Igualmente,elanlisisdeestosdatospuederealizarseconmuchavelocidadyaquesolamentehayqueleer paracadainstanteunregistrodelabasededatos. ElaltorendimientoylasricasposibilidadesderepresentacinrepresentadasporlostiposMDApermiteque losdesarrolladoresofrezcansolucionesqueseranimposiblesconotrosSGBDR. Inicio

ProcesamientodeTransacciones
Resumen:InterBasetienelaarquitecturaptimatantoparatransaccionescomplejascortascomoparalas largas,ofreciendopocacomplejidadenlasaplicacionesclientes,la ximadisponibilidaddelosdatos, m concurrenciaeintegridad. ModelosdeTransacciones:Laindustriadebasesdedatoshadesarrolladovariosmodelosparaexplicarel tipodeentornoenelcualoperanlosSGBDR. OLTP.UnaaplicacindeProcesamientodeTransaccionesEnLnea[OLTP]secaracterizaporunentorno similaralentornoenquetrabajauncajerodeunbanco.Enestetipodeescenario,loscajerosenvanuna seriedetransaccionespequeasdecortaduracinalservidor.Laaplicacinpuedenecesitarunpequeo informeparalaactualizacindelalibretadelusuario.Losinformeslargosylascopiasderespaldose realizannormalmentedurantelosmomentosdepocousodelabasededatos. DSS.LosSistemasdeAsistenciaaDecisiones[DSS]estndiseadosparasoportartransaccioneslargas talescomoinformesderesumenoanlisisestadsticos.Estetipodesistemadependedeunaimagen relativamenteestticadelabasededatosparaasegurarlaintegridaddelosdatosmientraselprocesolargo seejecuta. OLCP.ElProcesamientoComplejoEnLnea[OLCP]esunamezcladelosmodelosOLTPyDSS.Envez

deconcentrarseenlosaspectosbsicosdelmodeloOLTPoenlosigualmenteimportantesproblemasdelos informesyanlisis[DSS],estemodelointentaalcanzarunbalanceentreestosotrosdos,yseenfrentaalas necesidadesrealesdelamayoradelasempresas.Estosrequisitosreflejanlanecesidaddeobtenerunalto rendimiento,unacompletadisponibilidaddelosdatos,lacapacidadderealizarcopiasderespaldoenlnea, ylaejecucindegrandesconsultaseinformeslargosmientraslosusuariosestnactualizandola informacindiariadelaempresa.Lainformacindebeestardisponibleentodomomento,sinlmitede accesoalosusuariosOLTPyDSS.

SQLServer.LaarquitecturadeSQLServerhasidodiseadaparasoportarlosentornosOLTPy DSS;peronoambos.EstaarquitecturanopermiteelmsfrecuenteentornodetipoOLCP,bajoel cualmuchasempresasfuncionan.Estalimitacinsedebefundamentalmentealosmecanismosde bloqueosutilizadosporSQLServer. UnEscenarioCaracterstico.Considereunatablacuyosregistrossonunaseriedebalances mensualesdecontabilidad.Pordefinicin,eltotaldetodoslosbalancesdebeserigualacero. Estoes:lasumadeloscrditosdebeserigualalasumadelosdbitos.Supongatambinque actualmentehaydosusuariosenelsistema:unanalistayungrabadordedatos.Sielanalista deseaejecutaruninformelargo,comounbalancedepruebaparatodoslosperodos,laconsulta queextraelosdatosdebeleercadaregistrodelatabla.Sielanalistacomienzalaconsultayel grabadordedatosrealizaunaactualizacin(recuerdequeeldbitototaldebeigualaralcrdito total)ymodificaunregistroalprincipiodelatabladespusdequelaconsultadelanalistahaya exploradoesaporcindelatabla,ydespusmodificaunregistroalfinaldelatablaquenohaya ledoanlaconsultadelanalista,sucederqueelanalistaverasolamentelasegundamitadde latransaccindelgrabador.Eltotalobtenidoporelanalistaestarafueradebalanceporuna cantidadigualaladelsegundoregistroinsertadoporelgrabadordedatos. Enunescenariodeestetipo,eltotalalfinaldelinformeserevidentementeincorrecto.En muchassituaciones,estorepresentaslounpequeoinconvenienteyelanalistasimplemente volveraaejecutarelinforme.Comopuedehabermsdeunaentradaenlatransaccin correspondientealapersonaqueestintroduciendodatos,yporcuantopuedehaberotros usuariosaccediendosimultneamentealabasededatos,estotalmenteposiblequeocurran transaccionesquealterenelniveldedetalledelinformesinalterarlostotales.Algunosinformes puedenrequerirdospasadasalabasededatos;unaprimeraparaextraerlosregistrosdedetalle, ylasegundaparaobtenerlossumarios.Loserroresenelinformesernmenosobviosporque loscambiosseranenmascarados orlastransaccionescomplementarias.Unasituacinms p seriatodavapodrapresentarsealgestionarinformacinprocedentedeexperimentoscientficos oprocesosindustriales. EnlaarquitecturadeSQLServer,elnicomododegarantizarlaintegridadylarepetibilidadde unalecturaesbloquearlatablacompleta.Unbloqueodeestetipoimpideelaccesoalatablaa otrosusuarios.Enelescenarioanterior,SQLServerpromocionaraautomticamentelos bloqueosdepginaaunbloqueocompletodelatabla.Lapromocindebloqueos,sinembargo, noocurrirahastaquesehubieranledosuficientespginas.Delmismomodo,elaccesode otrosusuariosalatablamedianteactualizacionespodrablo quearlapromocindebloqueosy provocarquelaconsultafallaseotuviesequeesperar.Eldesarrolladordeberentoncesestar conscientedelasimplicacionesdelprocesodeescaladodebloqueosycomprobarmanualmente yaplicarbloqueosenlamedidanecesaria.Bloquearunatablacompletaenunentornode produccin7das*24horaspuedehacersemuydifcil,sino,imposible,debidoala imposibilidaddeobtenerlosaccesosapropiadosentransaccioneslargasolainaceptabilidadde realizartransaccioneslargas,albloquearelaccesodeotrosusuarios.Muchosdesarrolladoresno tienenotraposibilidadqueprogramarlaimpresindeinformeslargosentiempos"muertos", dondesermayorlaposibilidaddeobtenerunbloqueocompletoolaimposicindelbloqueode unatablacompletanoafecteaotrosusuarios.

Losdesarrolladoresdebernasimismoperderuntiempovaliosoencrearsistemasdegestinde bloqueosparaasegurarqueotrosprocesosnofallarncuandoencuentrenunatablabloqueada. Frecuentemente,elestadodebloqueonopuedeserdeterminadosinqueelusuariointenteemitir unatransaccin.Losdesarrolladoresdebernentoncesrepetirelintentodetransaccinhasta quelastablasbloqueadasquedendisponibles,oescribircomplejasrutinasde'caching'locales enlospuestosclientes,locualtampocoesidealporvariascausas,entreellasquemltiples usuariostienenvistasinconsistentesdelabasededatos. Enlosentornosdenegociosaltamentecompetitivosdehoy,lafaltadedatosexactosequivalea laprdidadeoportunidades,yelmecanismodebloqueodelaarquitecturadeSQLServercausa unimpactonegativosobredichascaractersticas.

InterBase."Elsoportealatomadedecisionesdees tanaturalezarequiereunaarquitecturamodular yflexible,quebrindesoportetantoalprocesamientodistribuidocomoalasbasesdedatos distribuidas.PorellohemoselegidoInterBase.Estesehacomportadomejorquelacompetenciay noshaconvencidodequeserconfiableensituacionesdevidaomuerte." InterBasesoportaplenamenteelmodeloOLCP.SuexclusivaarquitecturaMultiGeneracional garantizaquetodoslosusuariosdetipoOLTPnoencontrarnbloqueoscuandoactualicensus datosmientrasquealosusuariosdetipoDSSselegarantizanlecturasrepetibles.Enel escenarioanterior:cuandoelanalistacomienzasutransaccin,InterBasecreaunidentificador detransaccinparalamisma.Cuandoelgrabadordedatoscomienzasutransaccin,InterBase asignaaestaunidentificadordetransaccindiferente.Siseencontrasealgunatransaccin activaenelmomentoenquesutransaccincomenzara,InterBaseseasegurardela repetibilidaddelastransaccionesencontradas,manteniendoversionesseparadasdecualesquiera registrosalteradosoledosporcualquieradeesastransacciones.Durantelatransaccin,el analistaveslolasversionesderegistrosasociadasasutransaccin.Durantelatransaccin,el grabadordedatosvesolamentelasversionesdelosregistrosmodificadosquetienenun identificadordetransaccinasociadoasutransaccin.Alfinaldeambastransacciones, los registrosinicialesqueeranvisiblesyfueronusadosenelinformedelanalistaserneliminados delatablaporInterBase,yloscambioshechosporelgrabadordedatosseharnvisiblesal analista. Cualesquieraotrosregistrosmodificadosduranteelcursodecualquieradelasdostransacciones serngestionadosdelamismamaneraporInterBase.Esteessucomportamientopordefecto,y losdesarrolladoresnotendrnquehacernadaparabeneficiarsedel.Adems,ningnusuario encontrarbloqueosdetablas,pginaondicesenningnmomento.Envezdeello,InterBase suministrarversionesderegistrosconsistentesalolargodeladuracindelatransaccin.La ArquitecturaMultiGeneracionalgarantizalarepeticindeunalecturadedatos,ascomodela disponibilidaddelosdatosentodomomento.Esteresultaenladisminucindelacomplejidad delasaplicacionesyeltiempodedesarrollo,ascomoelaccesorpido,exacto,yeficientealos datoscorporativosentodomomento. Inicio

InstalacinyMantenimiento
Resumen:InterBaseposeeunaarquitecturaquerequieresignificativamentemenosmantenimientoque MicrosoftSQLoSybaseSQLServer.Elloresultaenmenorescostosdepersonal,entrenamientoy mantenimiento,ascomolamximadisponibilidadyelmnimodetiempo"muerto". Elusoptimodelosrecursosesfundamentalparalasupervivenciayrentabilidaddecualquier organizacin.Losrecursosdegruposdetrabajo,departamentosypequeasorganizacionesestn

frecuentementemslimitadosysugestines,enconsecuencia,muchomsimportante.Estetipode entornospocasvecestienenrecursostalescomoadministradoresdebasesdedatosdedicadosatiempo completo,comolosquesepuedenencontrarengrandesdepartamentosdeinformtica.Nitienengrandes presupuestosparaeldesarrollodeaplicacionesycompradehardware.Deestemodo,lasbasesdedatos utilizadasentalesentornosdebenserfcilmenteinstalablesymanteniblesporpersonasquenoson necesariamenteadministradoresespecializadosdebasesdedatos.Losdistribuidores,ylasorganizaciones quesecomportancomotales,sonmssensiblesaloscostosdeinstalacinymantenimientodebidoasu faltadecapacidadparaofrecerunserviciodeadministracinatiempocompletoenellugar,paravigilarla basededatos. Delmismomodo,muchasempresasyasehannormalizadoenrelacinasussistemasoperativospararedes. Laintroduccindeunnuevosistemaoperativodentrodelamezcladeplataformasdeservidorespuedeno serposibledebidoaestndaresempresariales;ancuandoseaposiblenoessiempredeseableporlas siguientesrazones:

Cuandoseintroduceunnuevosistemaoperativopararedes,senecesitaquelasnuevashabilidades seanaprendidasporlaspersonasacargodesuadministracin. Seintroducennuevosproblemasdeseguridadysenecesitamantenimientoysoporteadicional.

Enpocaspalabras,lasbasesdedatosdedepartamentosydegruposdetrabajodebenoperarenplataformas existentesdeservidoresenvezdeforzarlaadopcindenuevasplataformas. Inicio

InstalacinyReservacindeEspacio
Resumen:InterBaseofreceelprocesodeinstalacinmssencillo,independientementedelaplataforma, hacindolalaopcinidealparaempresasydesarrolladores. Antecedentes:LosrequisitosdeinstalacindeunSGBDRvaranradicalmenteendependenciadel fabricanteydelsistemaoperativoempleado.Algunossistemasfuncionansinmodificarelsistemaoperativo delservidor,yotrosnecesitancambiosenelncleoantesodurantelainstalacindelsoftwaredebasesde datos.Claramente,losdesarrolladoresquierenasegurarelmejorrendimientoyconfiabilidaddesus aplicacionescliente/servidor,porloquelasmodificacionesaunniveltanelementalpuedenaumentarel riesgodefalloseincompatibilidades. ReservacindeEspacio.Antesdelainstalacin,SQLServerySybaseSQLServernecesitanreservar espacioparaelSGBDRyparalasbasesdedatos.Labasededatosoeladministradordebenreservarel espacionecesarioparalabasededatos.Silabasecreceporencimadeloinicialmenteesperadodebidoala adicinderegistrosduranteeltranscursodeunaconsulta,laoperacinterminar.Puedenocurrirvarios problemas,como:

Lasconsultaslargas,quefuerzanlaescrituradelastablastemporalesaldisco. Registrosdetransaccionesquesedesbordan. Laadicindemsdatosdelosquepermiteelespacioreservado. EspaciolibreexcesivodebidoaungrannmerodeedicionesdeVARCHARqueprovocanlos borradosylasadiciones.

Espaciolibreexcesivodebidoaungrannmerodeborrados.

Determinandoelespacionecesario.DeterminarelespaciorequeridoparalasbasesdedatosdeSQL Serverpuedeserunprocesocomplejoydependientedemuchosfactores.Elespacioreservadodebeser suficientementeamplioparatablasdesistema,tablasdeusuario,ytodoslosndices.Algunosdelos factoresatenerenconsideracinson:

Deun20%aun30%adicionaldeber sercalculadoyreservadoparaacomodarelregistrode transacciones. Aadaun150%extra(enbasealtamaodelatabla)porcadatablaquerequieraunndice clusterizado. Aadaun5%deltamaodecadatablaparaespaciointernodelsistema(porejemplo,punteros internos). Aada2Kadicionalesporf ilaporcadacolumnadetextooimagen,inclusosilacolumnaest vaca. Aadaespacioextraenlastablasylosregistrosdetransaccionesparalasadicionesy eliminacionesresultantesdeactualizacionesdeVARCHARs. Aadaespacioextraparatablascuyasfilassoneliminadasfrecuentemente. MicrosoftSQLServer(Instalacin).MicrosoftSQLServerseencuentradisponiblesolamente sobreWindowsNT.Estafaltadedisponibilidadsobresistemasoperativosde64bits,lafaltade capacidadporpartedelsistemaoperativoparamanejarmsdecuatroCPUs,ylaincapacidaddel softwareparaejecutarsesobrelosprocesadoresRISCmsavanzadoslimitanecesariamentelas posibilidadesdelosdesarrolladoresdedistribuirsolucionesmultiplataformasbasadasenMicrosoft SQLServer. TodaslasbasesdedatosdeMicrosoftSQLServerrequierenlareservacindelespacio suficientealserinstaladasyunmantenimientoregularparacontrolarelespacioutilizado, reclamarelespaciolibreyasegurarquehaysuficienteespaciodisponible.Lamalagestindel espaciopuedetraerseriasconsecuencias.Losproblemasdemantenimientoeinstalacinpara monitorearelespacioutilizadohacenaMicrosoftSQLServerunaopcinmenosatractivacomo servidordedepartamentoogrupodetrabajo,especialmentecuandosecuentaconrecursos limitados.Estosproblemassonigualmenteunapreocupacindelosdesarrolladores,cuyos clientespuedenserincapacesdegarantizarladisponibilidaddeunAdministradoravezadopara asegurarelmantenimientoadecuadodelsistema.

Sybase(Instalacin).Sybaseseencuentradisponiblesobreunavariedaddeplataformas, incluyendoaWindowsNT,NovellNetWareyvariasplataformasUNIX.AligualqueMicrosoftSQL Server,lainstalacindeunabasededatosSybaserequierelaasignacinpreviadeespacioparael SGBDRylasbasesdedatosinicialesysufre,porlotanto,delosmismosproblemasrelacionados conelregistrodetransacciones,edicionesdevaloresVARCHAR,borradosderegistros,carga masivadedatosyconsultaslargas. Adicionalmente,convistasaobtenerelmximorendimientosobreplataformasUNIX [incluyendoSCO],eladministradortienequecrearparticiones.Cuandolabasededatoses instaladaenunaparticin,elsistemaoperativodelservidorescortocircuirtadoenlas operacionesconeldiscoyelSGBDcontroladirectamentetodalaentrada/salidadelabasede datos.Aunqueseobtienemejorasdeeficiencia,seintroduceunacomplejidadadicionalde instalacinymantenimiento.Comoelsistemaoperativonotieneaccesoaesaparticin,las

utilidadesUNIXtampoco,haciendomuydifcillarecuperacinencasodedesastres.Sobre plataformasUNIX,Sybasehacemodificacionesalncleodelsistemaoperativo,locualprovoca preocupacinsobreincompatibilidadesyfallosalactualizarelSGBDoaplicarparcheso actualizacionesalsistemaoperativo. SybaseSQLServerestsujetoalosmismosproblemasdereservacindeespacioqueMicrosoft SQLServer.SobreplataformasUNIXigualmenteexistelacomplejidaddelasparticiones directasylasmodificacionesdelncleodelsistemaoperativo.ElresultadoesqueSybasees unaopcinmenosatractivacomoservidordedepartamentoogrupodetrabajosobretodaslas plataformas,especialmenteUNIX.

InterBase(Instalacin).LainstalacindeInterBaseesextremadamentesencilla.InterBaseasigna espacioendiscodeformacompletamentedinmicayautomticacuandoesnecesario.Estosignifica quecuandoseinstalaInterBaseelespacioendisconoesreservadoespecficamenteparalopara algunabasededatos.Duranteelusodeunabasededatos,InterBaseautomticamenterealojael espaciolibreenlamedidanecesaria,sinintervencindeunadministrador.Adicionalmente, InterBasenonecesitamantenerregistrosdetransacciones. ComoInterBasenonecesitamodificacionesasuncleoenningunaplataforma,raramente experimentaproblemasdecompatibilidadentrecambiosdeversindelossistemasoperativos. Estopermitealdesarrolladormantenerelsistemaoperativoalmximoniveldeestabilidady robustez,sintemordereinstalarelSGBDRcomoresultadodeactualizacionesoparchesal ncleodelsistemaoperativo.

Mantenimiento(CopiasdeRespaldo)
Resumen:InterBaseofreceelmenorcostodemantenimientoascomounasuperiorconfiabilidady disponibilidaddelosdatosaldisponerdeprocesosderespaldoyrestauracinsignificativamentems sencillos.

SQLServer(Mantenimiento).Todaslasbasesdedatosdebenserresguardadasregularmente (usualmenteporlasnoches).Sepuedenrealizardostiposderespaldossobreunabasededatosde SQLServer:totaloincremental.Unrespaldototal(normalmenteconocidocomovaciadodump) creaunaimagencompletadelabasededatosincluyendolastablasdesistemaylosregistros.Un respaldoincrementalsolamentehaceunacopiadelregistrodetransacciones.Esimportantequeel administradordelabasededatoshagaunaplanificacinquecombinetantorespaldostotalescomo incrementales,porcuandounacopiaderespaldocompletaNOtruncaelregistrodetransacciones.A pesardequeunadministradorconpocaexperienciapuedepensarquetienelabasededatosbien protegidaconrespaldostotalesperidicos,puedeproducirseundesastresielregistrode transaccionesnoeslimpiadoregularmenteporrespaldosincrementales.Unfalloenhacerestopuede provocarqueelregistrodetransaccionessedesbordeylabasededatossevengaabajo.Taleshechos requierendelaintervencinmanualdeunadministradorexperimentadopararectificarelproblema, ydejaalosusuariossinaccesoalabasededatoshastatantoserestablezcalamisma. Lascopiasderespaldoylarestauracindelasmismasconsumetiempo.Losrespaldos incrementalesaseguranlamenorventanadevulnerabilidaddelosdatos.Sinembargo, frecuentesrespaldosincrementalesmezcladosconrespaldostotalespocofrecuentesresultanen largostiemposderecuperacinqueintroducenunriesgoadicionaldebidoalaprdida,daoo colocacinenordenincorrectodecintas.EladministradordeunSQLServerdebeencontrarel balanceptimoentretodasestasvariantesparaasegurarunadisponibilidadmxima, funcionamientoptimoyelmenorchanceposibledecorrupcindelosdatos.Lascopias completasrequierenaccesoexclusivoalabasededatos,obligandoasacarladelneapara

realizarelrespaldo.

InterBase(Mantenimiento).DebidoalaarquitecturaMultiGeneracionaldeInterBase,lasbases dedatospuedensercopiadasencualquiermomento,mientrascualquiernmerodeusuariosest accediendoalosdatossimultneamente.UnbackupdeInterBaseesunatransaccinyestratada exactamenteigualqueotratransaccincualquiera.LaArquitecturaMultiGeneracionalsuministra unavistainstantneadelabasededatosenelmomentoenquecomienzalacopia.Durantela misma,InterBasecreanuevas"versiones"delosregistrosactualizadosoeliminadosmientrasse realizalacopia.Elprocesodecopianoverlasnuevasversionesderegistrosduranteeltranscurso delacopia,porcantostassonpartedeotrastransacciones.Estogarantizaunavisinatmicay consistentedetodalabasededatos,independientementedelmomentoenqueelresguardose realiza.InterBaseutilizaunsolotipodebackup:eltotal.DebidoalaarquitecturaMulti GeneracionaldeInterBase,lacopiaesconsideradaslocomounatransaccinms.Unacopiade resguardocompletacontieneunavisininstantneadetodalabasededatos,negandolanecesidad decualquiertipoderespaldoincremental.Estosimplificagrandementeelprocesodecopiay restauracinyminimizaelimpactodelascintasperdidasodaadas. Elimpactodeunacopiaderesguardosobrelaproductividaddelsistemaessimilaralade cualquierotratransaccindelargaduracin.Porlotanto,enlugardeobligaraquelascopiasde resguardoserealizanporlasnoches,estaposibilidadnicagarantizalacreacindecopiasde resguardoencualquiermomento.

RegistrosdeTransacciones

SQLServer.Unregistrodetransacciones(Transactionlog)esunatabladeniveldesistemaque contieneunalistadetodaslasmodificacionesrealizadasatodosycadaunodelosobjetosdelabase dedatos.Igualmentecontienelainformacinnecesariaparamantenerlaintegridaddelosdatos relacionadosaesoscambios.Elespacionecesitadoporelregistrodetransaccionespuedeser considerable,ascomodifcildepredecir.Considerequeelregistrodebercontenerinformacin sobrecadafilaactualizadamscadafiladendiceafectada.Considreseigualmenteque probablementeexistirnvariosndicesporcadatabla.Larelacindelespaciorequeridoparael registroenrelacinconelespaciorequeridoporlosdatosvaraenfuncindelanchodelasfilas. Parafilas"estrechas",estarelacinpuedellegaraserdehasta10:1.Lasfilasmsanchasrequieren proporcionalmentemenosespacio.Otroselementosqueafectanlacantidaddeespacionecesario paraelregistrosonaccionescomolacargaoeliminacinmasivaderegistros,ascomolaedicinde VARCHARs,debidoaquelaedicindecolumnasVARCHARafectanosloalacolumnaen cuestin,sinoqueintroduceenelregistrounaeliminacinyunainsercin. Laplanificacindelascopiasesotrofactorqueinfluye,porcuantolosbackupsincrementales sonelmecanismoutilizadoporSQLServerparalimpiarelregistrodetransacciones.Otros factorespuedenafectarelespacionecesitadoporelregistro,comolastransaccionesque ejecutandurantelargotiempoqueactualizangrandesvolmenesdedatos. Lalocalizacindelregistrodetransaccionesesasimismocrtica.Cualquierbasededatosque notengasuregistrodetransaccionesseparado nundispositivoindependientenopodrvolcar e elregistrodetransacciones.Comolabasededatosmaestradeberresidirtotalmenteenel dispositivomaestro,elAdministradordebermanualmente"limpiar"elregistrode transaccionesmaestroparaevitarquesedesbordeydestruyalabasededatosmaestra.

InterBase.InterBasenoutilizaregistrodetransaccionesparamantenerlainformacinsobrelas transaccionesconfirmadas,peronoescritas.Envezdeello,mantienelainformacinenPginasde InformacindeTransacciones(TransactionInformationPages[TIP]).Estainformacindeterminael estadodecualquiertransaccincomo:activas,confirmadas,retrocedidas,preparadas[para

confirmacinen2fases].Enelcasodeunfallodesistema,tanprontoelservidoresrelanzado, InterBaseautomticamenterevisalasTIPsbuscandolastransaccionesnoconfrmadas.Losregistros i queseencuentrenenestadonoconfirmadosernretrocedidos.Esteprocesotardamenosdeun segundoparalamayoradelasbasesdedatos. Alnoexistirregistrodetransacciones,noesnecesariodeterminarlosrequerimientosdeespacio nilarelacinentrecopiasderesguardoincrementalesocompletas,establecerpuntosde verificacinorecortarmanualmenteelregistrodetransaccionesparaevitarquesedesborde. Adicionalmente,alnohaberregistrodetransacciones,unabasededatosdeInterBasenunca tieneproblemasacausadeundesbordamientodelregistrodetransacciones.

Puntosdeverificacin

SQLServer.LaarquitecturadeSQLServerexigequeeladministradordebasesdedatosestablezca puntosdeverificacin.Unpuntodeverificacinesunaaproximacindeltiempoquetomarla recuperacindelabasededatosencasodeunfallodesistemautilizandoelregistrode transacciones.ElSGBDutilizaesteintervaloparadeterminarcundolosregistrosdetransacciones "sucios"ylaspginasdedatossernescritasadisco.Elprocesodeescrituradelaspginassuciasal discominimizalacantidaddetrabajoarealizarporelservidorpararestaurarunabasededatos.El establecimientodepuntosdeverificacinesimportanteytienealgunasimplicacionesserias. Supongamosquesihaydiezbasesdedatosenunservidoryqueelintervalodeverificacines establecidoporeladministradoren12minutos.Larestauracindelsistematardar120minutos(2 horas),a12porcadabasededatos.Eladministradortienelaopcindeestablecerunintervalo menor,loquegarantizaraquelasbasesdedatosestuvieranenlneaenunmenortiempo.Sin embargo,establecerunvalordemasiadobajopuedetenerunefectonegativoenelrendimiento,por cuantoelcacheestarsiendoescritoaldiscodemasiadofrecuentemente.Siseestablecedemasiado alto,larecuperacinpuededurardemasiadoyelriesgodedesbordamientodelregistrode transaccionescrecer,resultandoenunfalloinmediatodelabasededatos.Cuandoestoocurre,la nicamaneradelimpiarelregistrodetransaccionesesvolcarloyrestaurarlabasededatos.Esto sacardelneaporuntiempolabasededatos,dejandoalosusuariosenincapacidaddedesarrollar sutrabajo. InterBase.AlnoutilizarInterBaseelconceptoderegistrodetransacciones,eladministradorno tienequeoptimizarlospuntosdeverificacinparaprevenirlosfallosdelabasededatos.Las restauracionesautomticasnecesitanporlogeneralmenosdeunsegundo,inclusoparabasesde datosgrandes,ynonecesitandelaintervencindeladministradorEstominimizalosniveles necesariosdehabilidadesyentrenamientoparaelpersonalqueadministraInterBase,alavezque aseguralamayordisponibilidadyelmnimoposiblededesconexiones.Estascapacidadesnicas hacendeInterBaseelsistemaidealcuandoladisponibilidad7x24escrtica.InterBaseestambinla eleccinidealcuandosenecesitaunmnimodelaboresdemanten imientocomoengruposde trabajos,departamentosyenaplicacionesdesarrolladaspordistribuidores.

Configuracin

SQLServer.TantoMicrosoftSQLServercomoSybaseSQLServerofrecenmillonesdeopciones deconfiguracinyparmetrosdeajusteparaoptimizarelrendimientodesusbasesdedatos.Muchas deestasopcionessoncomplejasytieneninterdependenciastales,queelcambiodeunparmetro afectavaloresquedebernsercompensadosajustandootrosparmetros.SlounAdministrador altamenteentrenadocomprendertotalmentelasimplicacionesdealterarparmetros.SybaseSystem 11hacomplicadoanmselasuntoalaadirmsde200nuevosparmetrosconfigurables.Esta complejidadaadidaincrementaloscostosdemantenimiento,loscostosdeempleode administradores,eimplicaqueserequerirnnumerososajustesdeparmetrossiseintentamantener

labasededatosenunestadorealmenteoptimizado.

InterBase.InterBaseescasitotalmenteautoconfigurable,norequiriendoprcticamentening una intervencindeladministradorniantes,nidespusdelacreacindelabasededatos.Estoeliminala mayoradelosproblemasdemantenimiento,ygarantizaunfuncionamientoptimo independientementedelaplataformaoespecificidadesdelainstalacin.InterBasehasidodiseado paragarantizarlosmenorescostosdemantenimientoposible.Unavezinstalado,exceptoporunfallo catastrficodelhardwareolosperodosdemantenimiento,unabasededatosdeInterBasepuedeser dejadasinatencin.Estoreduceloscostosdemantenimiento,asegurandoelmximorendimientoy disponibilidad.

Recuperacin

SQLServer.LarecuperacinautomticadeunabasededatosdeSQLServerprovocalaejecucin delregistrodetransaccionescomopartedelprocesoderecuperacin.Esteprocesoreejecutalas transaccionesindividualesalmacenadasenelregistropararecrearlabasededatosapartirdel ltimopuntodeverificacin.Eltiempo[enminutos]deverificacinesestablecidoporel Administrador,yeltiempototalrequeridoparalarestauracindetodaslasbasesdedatosserigual alasumadelostiemposdeterminadosporelparmetrodeverificacindecadaunadelasbasesde datosenelservidor. Sielfallodelabasededatosesconsecuenciadeundesastre,labasededatosdeberser primeroeliminada.Laeliminacinpuedenoresultarsiexistecualquiercorrupcindelosdatos. Enesecaso,eladministradordeberejecutarlaordendbccdbrepairconlaopcindropdbpara crearunanuevaestructuradebasesdedatos.Eladministradordeberentoncescargarlabasede datoshacialanuevaestructurausandoelbackupcompletomsrecientequetenga. Posteriormente,deberejecutarensecuenciatodoslosbackupsincrementalesrealizadosdesde elltimoresguardototal.Cadarestauracindebackupincrementalrelanzalastransacciones incluidasenelregistrocorrespondiente.Elprocesoserepiteparacadaunadelasbasesde datos.Esteesunprocesocomplejo,largoytediosoquerequierelashabilidadesdeun administradorentrenado.

InterBase."Hemosdescubiertoquealocurrirfallosdesistema,InterBaseescapazderecuperarel sistemaensegundos,envezdelashorasquestoocupabaenelpasado" LarecuperacindeunabasededatosInterBaseesautomticaynonecesitalaintervencinde unadministrador.Adems,noesnecesarioestablecerpuntosdeverificacinnihacerclculos paraasegurarelbalanceptimodelostiposdecopiasderespaldo,existiendosolamentela copiatotal.Lascopiasderespaldopuedenejecutarseenlneaencualquiermomento. Comoyasehamencionado,InterB asemantieneelestadodelastransaccionesensuspginas TIP.Tanprontocomolabasededatosarranca,secompruebanlasTIPsenbuscaderegistrosno confirmados.Losregistrosnoconfirmadossonretrocedidosyelsistemaquedadisponible inmediatamente.Esteprocesogeneralmenteduramenosdeunsegundoparalamayoradelas basesdedatos.EsteelementofueclaveparalaseleccindeInterBaseparaeltanqueM1 AbramsdelEjrcitodelosEE.UU.Cuandoelcandeltanquedispara,produceunpulso electromagnticoenormequeprovocalacadadelsistemainformticodeltanque.Tanprontoel ordenadoresreiniciado,InterBaseserestaurainmediatamente.Estacapacidadderestauracin rpidanoesofrecidaporningnotroSGBDR.TodoslosresguardosdeInterBasesoncopias totales.Encasodefalloscatastrficoscomoundiscoduroquefalla,unabasededatosde InterBasepuedeserrecuperadaporsususuarios(mnimamenteentrenados)medianteel InterBaseServerManager.Aquunusuariopuedeseleccionarelarchivoquesedesearestaurar deldispositivoderesguardoyrestaurarlabasededatoshaciaelmismouotrodispositivo.

InterBasenonecesitautilizarparticionesdebajonivelensistemasUNIX,loquesimplificala restauracindeInterBaseenentornosUNIX. ElServerManagerdeInterBasepuedeutilizarseconInterBaseencualquierplataforma.Al restaurarunabasededatosdeInterBase,noesnecesarioconfigurarningndispositivoni reservarespacioparalabasededatos. SombreadodeBasesdeDatos.InterBaseofrecelaposibilidaddehacercopiasdeseguridad "encaliente"atravsdelsombreadodebasesdedatos.Unasombradeunabasededatosesuna copiavivaduplicadadelabasededatos,mantenidaenelmismouotroservidor.Enlamedida enquesecompletanlastransaccionesenelservidormaestro,lassombrasseactualizan automticamenteparareflejarlaversinmsactualdelabasededatos.Lasaplicacionescliente pueden,encasodeunfallodelservidorprincipal,serprogramadasparaconectarsealabasede datosdesombra,ycontinuartrabajandoashastaquelosproblemasenelservidorprincipal seanresueltos.Unaventajaadicionaldelsombreadoesquelassombraspuedenserutilizadas paradividirlacarga.Enotraspalabras,enaplicacionesdegranvolumen,lasombrapuedeser puestaenlneaparabrindarinformacinausuariosdetipoDSS,maximizandoportantolos recursosdelservidordisponiblesparalosusuariosdetipoOLTP. Inicio

UsodeRecursos
Resumen:InterBasetienelasmsbajasnecesidadesderecursos,hacindolalaopcinidealparagruposde trabajos,departamentosyVARs.

MicrosoftSQLServer.MicrosoftSQLServernecesitaunmnimode60Mdeespacioendiscopara suinstalacin,y16MBdeRAMparacargarseenNT4.Cadausuarioadicionalnecesita48Kde memoria.Unaaplicacindebasesdedatoscon20usuariosnecesitar16MparaelSGBDRy960K paralosusuarios,parauntotaldecasi17MdeRAM,sinincluirlamemoriatemporalparalacarga detablasodatosdebffer. AunquelainstalacindeMicrosoftSQLServernoexigequeeladministradorconfigurela reservacindeespacioenelmomentodelainstalacin,Microsoftconsideraastecomoel parmetromsimportantedetodoslosparmetrosdeconfiguracinyrecomienda encarecidamentequeseaconfiguradomanualmente.Aunqueelmanual"MicrosoftSQLServer Administrator'sCompanion"detallaalgunosdelosparmetroscomosobrecargadelncleo, cachdedatos,cachdeprocedimientos,etc.,quedebenserconsideradosalconfigurarla reservacindememoria,Microsoftnoofreceunafrmulaparacalcularlosvaloresptimos.En vezdeello,MicrosoftrecomiendaqueeladministradorutiliceelMonitordeRendimientoSQL paraexaminarelcontadordefallosdepginaparaversiseestngenerandofallosdepgina.En casoafirmativo,SQLServerhasidoconfiguradocondemasiadamemoria.Adems,como MicrosoftSQLServerbloquealamemoriayeltempdb(siseestusandotempdbenRAM),es posibleobtenermensajesde"memoriaexhausta"alejecutarotrasaplicacionessobreelservidor. Asimismo,configurarMicrosoftSQLServerconmsmemoriavirtualquelafsicapuede resultarenunrendimientopobre.Todasesassituacionesexigenunapruebaencondiciones realesdecadaservidorbajolascondicionesdecargaesperadasparadeterminarla configuracindememoriaptimadeMicrosoftSQLServer.Convistasaasegurarun rendimientoptimo,senecesitaunadministradordebasesdedatosentrenadoparamonitorizar yponeratonoelSGBDR.Estasconsideracionesprovocancostosadicionalesdemanten imiento yconfiguracinparalosdesarrolladoresdeaplicacionesdemercadosverticales.

SybaseSQLServer.UnainstalacindeSybasenecesitaaproximadamente50Mdeespacioendisco

paraacomodarellenguaje,losdocumentosdeayuda,utilidades,etc.Serequiereespacioadicional paralosdispositivosdevolcado,espaciodetrabajoyotraherramientas.De2a3MBadicionalesse necesitanparacadalenguajeadicionalsoportado,comoAlemnoFrancs.Igualmentesenecesita espacioadicionalparaelsoftwarecompatibleconSybase,incluyendo:


OPEPCliente. OPEPServer. EmbeddedSQL. LasnecesidadesdeRAMsondiferentesparacadaplataforma.Sinembargo,SybaseSQLServer exigequeeladministradorcalculelosrequerimientosdeRAMapartirde:

LamemoriaestticanecesitadaporelncleodeSQLServer. Cachsparaprocedimientosydatosquetambinsonconfiguradosporeladministrador. Bferesderedparacadausuarioporcadaconexin. Bferesparaextenderlosbferesdeentradaysalida. Losrequerimientosdememoriadebernbalancearsecontra:

Lamemorianecesariaparaelsistemaoperativo. Lamemorianecesariaparaotrosprocesos,comoXWindows. Memoriaadicionalparalared. Lasasignacionesdememoriadebenreajustarsecuando:

Seaadeosequitamemoriadelsistema. Elusodelsistemainformticocambia. Seproducencambiosalosbferesdeentradaysalidayalamemoriadelared. ComosucedeconMicrosoftSQLServer,laconfiguracindememoriadeSybaseSQLServer aumentalacomplejidaddelainstalacinymantenimiento,aadiendocostosadicionales.Estos problemassondeintersprimordialalosdesarrolladoresdeaplicacionespara mercados verticales.

InterBase."Elusuarionotienequepreocuparseacercadelosprocesosdelservidorquedebanser monitoreadosygestionados,dediferentesubicacionesdediscosparatablasdiferentes,dela restructuracindetablaspararecuperarelespaciodelasfilaseliminadas,odereindexarpara rebalancearlosndices." ElncleodeInterBaseocupamenosde2MB,yelclientecompleto,elservidorylosficheros dedocumentacinenlneainstaladossobreWindowsNTnecesitanmenosde10MBdeespacio endisco.Delmismomodo,InterBasenuncanecesitamsmemoriaquelamemoriabase requeridaporelsistemaoperativo.InterBasereservadinmicamenteelespacioeneldiscoduro ylosrecursosdememoriaenlamedidaenqueseannecesarios,sinlaintervencindeun administrador.Paralosservidoresdistribuidosqueejecutanunavariedaddesistemas

operativos,seminimizalainversinenhardware,entrenamientoymantenimientoparalos SistemasInformticos.LasbajasnecesidadesderecursosdeInterBaseylareservacin dinmicadelosmismospermitenalosdesarrolladoresofrecersolucionessignificativamente msbaratas. Inicio

Escalabilidad
Resumen:InterBaseofrecelamejorsolucinparaescalaraplicacionesqueaprovechenlasnuevas posibilidadesdemultiprocesamientosimtricodisponiblesenmuchasplataformasdehardwareySistemas Operativos,delamismaformaenqueofrecelasmejoressolucionesparaescalarenambossentidoslos sistemasdetodaunaempresa. Antecedentes:Enlamedidaenquecrecenlasnecesidadesdelosgruposdetrabajoylascorporaciones,as mismocrecenlasdemandasquestosexigenparasussistemasinformticos.Lasaplicacionesdebasesde datosdebernsercapacesdesatisfacerlasnecesidadesdeunnmerocrecientedeusuariosydebern manejarvolmenesdedatoscadavezmayores.Paraello,losSGBDRdebernsercapacesdeutilizarlos ServidoresdeMultiprocesoSimtrico[SMP].Aadirprocesadoresadicionalesaunamquinaexistentecasi siempreesmsdeseablequereemplazarlamquinaentera.

MicrosoftSQLServer.MicrosoftSQLServersolamenteestdisponiblesobreWindowsNT. WindowsNT,independientementedelaCPUsobrelacualestimplementado[Intel,Alpha,MIPS, PPC]esunsistemaoperativode32bitslimitadoa4procesadores.Portanto,MicrosoftSQLServer yWindowsNTnopuedenutilizarlasarquitecturasdehardwarede64bitsqueutilizanlossistemas empresariales,nipuedensoportararquitecturasconmsde4CPUs,comolasdisponiblesparaSun, DEC,SGI,eIBM.Igualmente,MSSQLServernopuedeserescaladohaciaabajoaordenadores queutilicenWindows95oWindows3.1,obligandoalusodeSGBDRmltiplesparala implementacindesolucionescorporativas.Claramente,laimplementacindesolucionesescalables conMSSQLServersignificaunainversinmuchomayorendesarrolloyciclosdemantenimiento, porcuantounsistemacomnconunnicoAPInopuedeserusadoentodalaempresa. SybaseSQLServer.SybaseofrecesuSQLServerenunaampliagamadeplataformas.SybaseSQL Server,sinembargo,noesescalablehaciaarribayhaciaabajoparatodalaempresa.Susproductos paraWindows3.1yWindows95,porejemplo,sonenteramentediferentesdelSQLServerNT.Los motoresdedatossondiferentesyutilizandistintasinterfaces,haciendodifcillamigracinentre diferentesmquinasysistemasoperativos. InterBase.InterBaseofreceunaescalabilidadexcelenteyutilizartodoslosprocesadoresqueestn disponiblesencualquierplataforma.Estoesdeuntremendovalorparalosdesarrolladores,quese asegurandequelasaplicacionesescritasconInterBasepuedensatisfacerlasdemandasdeclientes encualquierplataformacon1,10o100usuarios. Inicio

Portabilidad
Resumen:InterBaseofreceelrangomsampliodeplataformasposiblesparacualquierSGBDR cliente/servidor,asegurandolamayorcompatibilidadposibleconcualquierplataformapopularpara servidores.EsteampliorangodecompatibilidadaseguraquelasbasesdedatosenInterBasefuncionarnde

modoidntico,independientementedelaplataformaenqueresidan. Antecedentes:Losentornosdistribuidossonpordefinicinheterogneos,yunadisponibilidaddeSGBD paraNT,WindowsyUNIXescrticaparaelxitodelassolucionescorporativascliente/servidor,porque aseguralautilizacininmediatadelosrecursoscorporativospreexistentes.Lasiemprecreciente importanciadelainformticamvilsubrayalanecesidaddedesarrollaraplicacionesbasadas nSGBDa e travsdelasplataformasfundamentales,asaber:Windows95,WindowsNT,Solaris,HPUX,IBMAIX, SGIIRIX,andDECUNIX.

MicrosoftSQLServer.MicrosoftSQLServeroperaslobajoWindowsNTyesportantonoes portableaotrasplataformas.Estaausenciadeportabilidadlimitaseveramenteelrangode aplicaciones,ascomoeltamaodelabasededatosyelnmerodeusuariosconcurrentesquela basededatospuedesoportar.LascorporacionesqueeligenMicrosoftSQLServersevenforzadasa elegirWindowsNTcomoplataformaservidora.LasempresasquehanvenidoutilizandoNovell NetWareoUNIXcomoplataformasdeservidoressevenforzadasaintroducirotrosistemaoperativo msalamezcla.Senecesitanuevohardware,nuevosoftwareynuevashabilidadesparaimplantar talessoluciones,loquedisparalocostosdesoporteymantenimiento. LafaltadeportabilidadaotrasplataformasigualmentedejaverqueMicrosoftcarecedeuna solucinviablealasnecesidadesdelosusuariosdeporttiles.Parasolucionaresto,los desarrolladoresnecesitandesarrollarotraaplicacin,tpicamentemedianteParadoxoMicrosoft Accessparasususuariosdeporttiles.ComolosSGBDbasadosenarchivosdifieren enormementeenenfoqueprogramticodelosbasadosenSQL,diferentesbasesdecdigo debernsermantenidas.Elloimplicauntremendovolumendetrabajodedesarrollo,ascomo decostosdemantenimientoysoporte.

Sybase.Sybasenosuministraunasolucinnicaquesatisfagalasnecesidadesdetodoslosusuarios, desdeelpropietariodeunporttilhastalaempresacompleta.Enparticular,SybaseSQLServerno estdisponibleparaWindows3.xoWindows95.Enunintentoderesponderalasnecesidadesde esosusuarios,SybasehareempaquetadoyrenombradoelWatcomSQLadquiridoconlacomprade PowerSoft.ElproductoseharebautizadocomoSQLAnywhere.SQLAnywhereesunproducto fundamentalmentediferentedeSybaseSQLServer.Enunintentodeaumentarlacompatibilidad, SybasehaaadidounalibreradeinterfazquepermiteaSQLAnywheresoportarlamayoradelas construccionesSQLdeSybase.Desgraciadamente,enesoterminalasimilaridad.Cadaproducto utilizadiferentesestructurasinternas,tiposdedatosymecanismosdebloqueo.Adicionalmente,el lenguajeutilizadoparacrearprocedimientosalmacenadosytriggersestotalmentediferenteen ambosproductos.Ellosignificaquelasaplicacionesquesedeberhacerdisponiblesparalos usuariosdeporttilesylasutilizadasporgruposdetrabajoenentornosempresarialessern radicalmentediferentestantoaniveldebasesdedatoscomoaniveldeaplicaciones. Enlamedidaenquelasaplicacionessemodificanparasatisfacerlasnecesidadesdelos usuarios,lomismodeberocurrirlealasbasesdedatos.LaversinruntimedeSQLAnywhere sufredeunaslimitacionesextremasenesteaspecto,alserimposiblemodificarlosmetadatos. Unavezinstaladalabase,eldesarrolladornotendrmecanismosparamodificarlasestructuras subyacentes.

InterBase.InterBaseesunsistemadebasesdedatosverdaderamentecrossplataforma.Funcionade lamismamanerabajoWindows,NT,NetWareyunadocenadevariantesdeUNIX..InterBaseesel nicoSGBDquesuministraportabilidadtransparenteatravsdelasplataformas.ElServerManager deInterBaseestodoloquesenecesitaparamoverfcilmenteunabasededatosdeInterBasedeuna plataformaaotra..Estaportabilidadesunbeneficioclaveparalosdesarrolladores,quenonecesitan conocerelsistemaoperativoquesusclientesnecesitarn.Adicionalmente,comoelservidorde InterBaseesmuypequeo[menosde10MB],ycomoelservidornomodificaelsistemasobreel quesehainstalado,Borlandnecesitatrabajarmuypocoparatransportarloaotrasplataformas.Esto

puedecontrastarseconelSybaseSQLServer,porejemplo,queemulaelmultihiladoensuservidor cuandoelsistemaoperativosubyacentenolosoporta.Nosolosefacilitaelprocesodeporte,sino queseaseguraunabasedecdigoestableyconsistentebajotodaslasplataformas.Los desarrolladorespuedenestarsegurosdeobteneruncomportamientoidnticobajodiferentes plataformas. LocalInterBaseparaWindows95/NT.LocalInterBaseesunaversinmonousuariodel ServidordeInterBase,ysuministraunmedioeficientedeconstruireimplantaraplicaciones cliente/servidormonousuarios.LasversionesparaWindows95yWindowsNTdeInterBaseson idnticas,ybrindanidnticascaractersticas,porquetieneigualcdigobinario.Estoes importanteparadistribuidoresquesuministranaplicacionesparaentornosmonoymulti usuarios.LaconversindeunabasededatosmonousuarioaunamultiusuarioenInterBase puederealizarsemediantesimplesoperacionesderatn.Estohaceextremadamentesimplela distribucindecopiasdeevaluacindesoftwaredemercadovertical. Lascorporacionesencontrarntambinlafcilescalabilidadimportanteparalosusuariosde porttilesquenecesitanllevarasutrabajoconsigo.Todaslasestructurasdebasesdedatosson totalmenteportablesentreInterBaseLocalycualquierotradelasplataformassoportadas.Esto significaquetodoslotiposdedatos,incluyendoBLObsylosmetadatos,incluyendo procedimientosalmacenadosytriggersseimplementanexactamentedelamismamanera.Ello significatambinquelasaplicacionesqueutilicenbasesdedatosdeInterBasepodrnser transportadasdesdelamayordelasmquinasmultiprocesadorasdeSunaunporttilsinningn cambioenlabasededatosoelcdigodelaaplicacin.Estasolacaractersticapuedebrindar unareduccinsignificativaenloscostosdedesarrolloymantenimiento. Inicio

TecnologasAvanzadas
AlertadoresdeEventos.InterBaseofreceunacaractersticanicaquelohahechomuyexitosoenla comunidadfinanciera.AunquelosAlertadoresdeEventosnosonexclusivosdeInterBase,su implementacinsloes.LosAlertadorespermitenqueunabaseemitaeventosalasaplicacionesclientes interesadasapartirdeocurrenciasespecficasenlabasededatos.DondeInterBaseesdiferenteesenque tradicionalmentelosmecanismosdeotrabasesdedatosrequierenquelasaplicacionesinteresadas preguntenalabasededatoscadaciertointervaloregular,loquepresentaalgunosproblemasserios. Primero,comolasaplicacionestienequeconsultaralabasededatos,existeunademoraentrelaocurrencia deleventoyelmomentoenquelaaplicacinrecibelanotificacin.Ensegundolugar:comolas aplicacionesclientesdebenconsularalservidor,secreaunacargayuntrficoenlaredadicional.En t instalacionesgrandes,concientosomilesdeusuarios,estacargaadicionalpuedecausarunaseria degradacindelrendimiento.Entalescasos,eldesarrolladordebetrabajarencoordinacinconel administradordebasesdedatosparadeterminarelcicloptimodeinterrogacinparabalancearlosefectos delanotificacindemoradaysusefectos,talescomolaprdidadeoportunidadesdenegocio,contralas limitacionesprcticasdelaredyelservidor.InterBasenosufredeningunadeestaslimitacionesybrinda notificacininstantneaylamenorcargaposibleenelservidorylared.

SoporteparaJava
Antecedentes:Javaofrecealosdesarrolladoresunentornorobusto,simpleyorientadoaobjetosparacrear ydistribuirsolucionescliente/servidorinterplataformasdealtorendimiento.ControladoporSun Microsystemsymsde40sociosindustriales,incluyendoaMicrosoft,IBM,Borland,Oracle,yNetscape, Javaprometeserlamsinfluyenteplataformainformtica.

MicrosoftSQLServer.MicrosoftnohaanunciadotodavasoportealgunoparaJavadesdeSQL Server,nisuministraconectividadaSQLServerdesdeJavamedianteunJDBC. SybaseSQLServer.SybasenohaanunciadotodavasoportealgunoparaJavadesdeSQLServer,ni suministraconectividadaSQLServerdesdeJavamedianteunJDBC. BorlandInterBaseeInterClient."LaparticipacindeBorlandenlacreacindelaespecificacin JDBChasidodegranutilidadparanuestroequipoJavaSoft.Suimplementacindeunasolucinde controladordeJDBC/NetenteramenteenJavavalidalafactibilidaddeusaraJavayJDBCcomo verdaderasarquitecturascliente/servidor.Estoayudaahacerlaimplantacindesolucionesdebases dedatosparaInterneteIntranetsignificativamentemssimple." LasposibilidadesdeautoconfiguracindeInterClientparaInterBaseestndiseadasparadara losgerentesdeserviciosinformticosdelascorporacionesaccesoabasesdedatosdealta velocidad,loquesetraduceenmejorestiemposderespuestaycaminosmscortosalosdatosa travsderedesyservidoresWeb. Inicio

SoporteInternacional
ElsoportedelosconjuntosdecaracteresinternacionalesdentrodeunabasededatosSQLesimperativo parasuutilizacinfueradelosEstadosUnidos.Estesoportepuedevariar,desdeelsoporteparaunconjunto decaracteresalmsaltonivel[p.e.dentrodeunatabladeunabasededatos],hastaelmsbajo[soporte paraunjuegodecaracteresespecficodentrodeuncampoespecficodeunatabla].Adicionalmente,para poderserverdaderamenteeficiente,elservidordebesercapazdeorganizarlastablasapartirdediferentes conjuntosdecaracteres,permitiendoportantolaagrupacin,ordenacinyconsultaadecuadas.

SybaseSQLServer/MicrosoftSQLServer.EnSQLServer,eladministradorslopuededefinir uncarcteraniveldetabla,loqueimplicaqueunabasededatoscualquieraesincapazdealmacenar conjuntosdecaracteresdedosconjuntosdiferentes,porejemplo,enunatabla.Porello,implementar solucionestansimplescomoundiccionariobilingerequieredostablasdiferentes.Loqueesms importante,paraeldesarrolladorquedeseacrearunaaplicacincontroladoporunabasededatos [dondelosmensylaslistassegeneranapartirdelabasededatos],sernecesarioutilizarvarias tablasparadarsoporteamltiplesidiomas,ylosentornosconrequerimientosparamltiples lenguajessehacenmuydifcilesdeimplementar. InterBase.AdiferenciadeSQLServer,InterBasepermitequeeladministradordelabasededatos apliquemltiplesjuegosdecaracteresdentrodediferentescamposdeunatabla,yapliquemltiples secuenciasdeordenacinparaesatabla.Portanto,unadesarrolladordeaplicacionesqueest implantandounaaplicacininternacionalpodrcolocartodalainformacindemensajes,mensy ayudaenunatabla,ycambiardinmicamentedelenguajeparalosdiferentesusuariosqueaccedana laaplicacin.

Conclusiones
InterBaseesclaramentelasolucinmsportableyescalabledetodaslassolucionesdeSGBDRaqu presentadas.InterBasebrindalamayorproductividadparalosentornosdelmundoreal,enelqueprevalece unmodelodetransaccionesmixto.InterBasenosufredecomplejidadesescondidasycos tosdeinstalacin, mantenimiento,entrenamientodepersonal,requisitosderecursosenelservidoryenormescantidadesde cdigoadicionalquedebeescribirseparagestionarlosmecanismosdebloqueodelSQLServer.InterBase

igualmentegarantizalamximadisponibilidad,elmenortiempoderestauracinyelmenortiempo "muerto".Todosestosfactoressoncomponentesimportantesalahoradesuministrarsolucionespara usuariosaislados,gruposdetrabajos,departamentosyempresas.InterBase,deestemodo,ofrecelamejor solucin,decostomsefectivo,alasnecesidadesdecualquierfirmaquenecesiteunSGBDR cliente/servidor. Realizadopor:MichaelLantSphereDataSystemsInc.

Potrebbero piacerti anche