Está en la página 1de 46

BasesdedatosenSoftwareLibre

BasesdedatosenSoftwareLibre
Modelandoaplicaciones


BasesdedatosenSoftwareLibre

Haz
intentado
recuperar
algunavez
una
basede
datos
Oracle?


BasesdedatosenSoftwareLibre

Trivia
Cualfulaprimerabasededatosdecdigo
abierto?


BasesdedatosenSoftwareLibre

Respuesta: INGRES
Dehecho,INGRESexistebajounamodalidadde
modicopagoporsucodigofuentedesde1980;
cambiandoluegoaunalicenciaBSD(1985)y
posteriormente(2006)aunalicenciaGPLv2.
HistricamenteaINGRESyaSystemRselas
conocecomolasmamsdetodaslasbasesde
datosrelacionales.


BasesdedatosenSoftwareLibre

Trivia
QuproyectosseoriginarondelaUniversidad
deBerkeley,IngresydeSystemR?


BasesdedatosenSoftwareLibre

Respuesta: Muchos!
EricAllmanfundaSybase,dedondenaceMSSQLServer

MichaelStonebrakerapartirdeIngresySystemRcreaIllustra(queesreformuladacomo
Informix);dedondeposteriormenteIBMobtendraDB/2ydedondesebasaelANSISQL
2003ymySQL.

RobertEpsteinseuneaLarryEllison(quevenadetrabajarenelproyectoOraculodela
CIA)yfundanOracleCorp.

MichaelStonebrakerretornaaBerkeleyen1985yfundaelproyectomsalldeIngres
(postGres)queseconvertiraenlaactualPostgreSQL.

BernsteinseuneaJimStarkey(quevienedeDECVMS)ydesarrollanInterbase

MargoSeltzerensutesis(contutoraStonebreaker)usacdigolibredeSystemRy
desarrollaunadisertacinsobrebasesdedatosdearchivos;dedondenaceBerkeleyDB

KeithBostic(sociodeMargoenSleepycat)creaBSD.LFSyUnixBSD

JimStarkeyvendelosderechosdeInterbaseaAsthonTate(Dbase)queluegoesvendidoa
Borland

BasesdedatosenSoftwareLibre

Trivia
DedondeseoriginaFirebird?


BasesdedatosenSoftwareLibre

Respuesta: DeBorlandInterbase
BorlandLiberaelcdigodesubasededatosInterbasebajolicencia
pblicaMozilla;peroposteriormentelacompaiasedivideyqueda
Interbase6sinavance,conunanuevalicencia(cerrada);sulicencianoes
niBSDniGPL,nopermitesuusocomercialyescompletamentelimitadaa
laexploracindelcdigofuente.
LafundacinFirebird(creadaporJimStarkey)haceunforkdelcdigo
abandonadodeInterbase6.0ydesarrollaFirebird1.0(2004)
Actualmenteseencuentraenlaversin2.0.3


BasesdedatosenSoftwareLibre

Trivia
ActualmenteSAPcorreprimordialmentesobre
Oracle?


BasesdedatosenSoftwareLibre

Respuesta: No
SAPseuneamySQLparacrearunmySQLMaxamedida(llamado
originalmentesapDB(2003));dichaRDBMSesorientadafuertementeallas
exploracionesOLTPysercompatibleconOLAP;agregandofuncionalidadesque
paralapocamySQLnoposea(triggers,procedimientosalmacenados,control
concurrente,transaccionesserializables,etc).
En2004sapDBesrenombradocomomaxDByelcontroldelproyectopasa
directamentealasmanosdemySQL.
En2006elcontroldelproyectovuelvealasmanosdeSAP.

ActualmentemaxDBseencuentraenlaversin7.6yelDatabaseStudiodeSAP
seliberabajolicenciaEclipse(abierta).

BasesdedatosenSoftwareLibre

Trivia
Esverdadquelasbasesdedatospropietarias
sontcnicamentemejoresquelaslibres?


BasesdedatosenSoftwareLibre

Respuesta: No
Unainvestigacinimparcialdeunaempresaconsultoradesistemas
(contratadaporelDepartamentodelTesoroylaSecretaradeDefensade
EUA)encontrqueentrelosdesarrolladoresdemanejadoresdebasesde
datosocurren:

Softwarelibre:0.434erroresporcada1,000lneasdecdigo
Propietario:de20a30erroresporcada1,000lneasdecdigo

Ademsqueocurrenciertosvicioscomoarrastrarbugsduranteaos
debidoaloscostosdereimplementacin;etc

BasesdedatosenSoftwareLibre

Trivia
Cadabasededatossirveparatodaslas
necesidades?


BasesdedatosenSoftwareLibre

Respuesta: No
cadaDBMS(DatabasemodelSystem)tienesunichodemercadoyest
implementadaypensadaparacubrirunasdemandasynecesidades
especficas.

Aqutrataremosdedevelaralgunas!


BasesdedatosenSoftwareLibre
PrimerosConceptos

Basededatos
Tcnicamenteunabasededatoseselconjuntode
datosqueestnalmacenadosyorganizadosbajo
unmismocontextoydemanerasistemticapara
suposterioruso.
AlgunosTipos:
Relacionales
Jerrquicas
Fuente: wikipedia
OrientadasaObjeto

BasesdedatosenSoftwareLibre
PrimerosConceptos

SGBD(SistemaGestordeBD)
Elsistemaintermediodegestinentreelusuario,
lasaplicacionesysusbasesdedatossonlos
SGBD.
Sonsoftwaremuyespecficodedicado
exclusivamentealalmacenamiento,gestiny
recuperacindedatosenbancosdedatos.

Fuente: wikipedia


BasesdedatosenSoftwareLibre
PrimerosConceptos

Almacndedatos
Almacndedatos(delingles,DataWarehousing)
esunasimplecoleccindedatosmuyvariable
tantoendimensionescomoeneltiempodedicada
aunmbitoespecficodelaempresa.
Permitentenercoleccionesdedatosparasu
anlisisempresarial
Lointegran:Metadatos,ETLyMiddleware

BasesdedatosenSoftwareLibre
PrimerosConceptos

OLAP(OnLineAnalyticalProcessing)
Permitelaconsultadegrandesalmacenesdedatos
medianteestructurasdevectoresasociadosy
estructurasmultidimensionales(cubosOLAP)
Porlogeneral,servidoresdedicadosresumeny
creanalmacenesparaseratacadosporun
analizadorOLAP
OpenOLAP(ROLAPyMOLAP)existepara
mySQLypostgreSQL

BasesdedatosenSoftwareLibre
PrimerosConceptos

DataMining(Mineradedatos)
Lamineradedatosessimplementeejecutar
bsquedasdeinformacinespecializadadentro
denuestrasbasesdedatosusandoalgoritmos
estadsticos(devarianza,clustering)o
informticos(genticos,IA,neuronales).
ExistenherramientascomoWeka(java)oR
(python)quepermitenejecutardataminingsobre
basededatosrelacionales.

BasesdedatosenSoftwareLibre

Ingres
Primerabasededatosrelacionalencumplirlos
principiosdeCodd
Estuvo10aosrelegadaporsuhijoPostgreSQL
en2006sereabrielproyectobajolaGPL
SoportaACIDyANSI:SQL92


BasesdedatosenSoftwareLibre
EntendiendomySQL

mySQL
MotorbasadoenOracle
InterpretadorbasadoenDB/2
UsaunPLbasadoenTransact
StorageEngineseparadosparacadanecesidad
Actualmentecuentaconvistas,vistasactualizables,
subselects,etc
ANSI::SQL2003(delosmsapegados)

BasesdedatosenSoftwareLibre
Caractersticas

StorageEngines(innoDB,Maria(*),Falcon(*),
ndb(*),federated,heap,BDB,myISAM,merge,
Archive)
Independenciadelanalizador(SQLmodes:MS
SQL,Oracle,postgresql,sybase,informix,DB2)
SoportaGIS,XMLyFullSearchTextdemanera
nativa
ClusterCarrierGradeahoraeslibre!

BasesdedatosenSoftwareLibre
Ejemplos

VeamosunejemplodemySQLenaccin


BasesdedatosenSoftwareLibre
EventosenmySQL

CREATEEVENTcomputar_nomina
ONSCHEDULEEVERY1DAY
DO
IFMONTH(CURRENT_DATE)<>
MONTH(CURRENT_DATE+INTERVAL'1'DAY)THEN
CALL`nomina`.`pre_nomina`();
ENDIF;


BasesdedatosenSoftwareLibre
ParticionamientoLgico

PARTITIONBYLIST(id_entidad)( PARTITIONp2VALUESIN(14,20,21)
PARTITIONp0VALUESIN(1) INDEXDIRECTORY=
INDEXDIRECTORY= '/home/mysql/cne/andes'
'/home/mysql/cne/caracas' DATADIRECTORY=
DATADIRECTORY= '/home/mysql/cne/andes',
'/home/mysql/cne/caracas', ...
PARTITIONp1VALUESIN(24,15,22) PARTITIONp6VALUESIN(2,4,9,10,23)
INDEXDIRECTORY= INDEXDIRECTORY=
'/home/mysql/cne/mirandazulia' '/var/lib/mysql/cne/resto'
DATADIRECTORY= DATADIRECTORY=
'/home/mysql/cne/mirandazulia', '/var/lib/mysql/cne/resto'

);

BasesdedatosenSoftwareLibre
EntendiendoPostgreSQL

postgreSQL
BasededatosObjetoRelacional
BasadaenIngres
Poseemuchascaractersticasdealtonivelcomo
dominios,camposseriales,PLenmsde16
lenguajesdistintos,tiposcompuestosyarreglos
UsaunaversinmodificadadePL/SQL
GuardaentablespacesypermiteMVCC

BasesdedatosenSoftwareLibre
Caractersticas

Tiposcompuestosyarreglos
Constraints
Herenciaaniveldetabla
Soportaseparacinenesquemas
ANSISQL92,99ypartede2003(>8.2)
Elmximotamaoderegistroesde1.6TBy32TB
paraunatabla

BasesdedatosenSoftwareLibre
Ejemplos

VeamosunejemplodepostgreSQL


BasesdedatosenSoftwareLibre
ConstraintsCheck

nombre:
~*'^[az]+$')
string:
~*'^[AZaz09]+$'
domain_name:
~*'\w{1,60}[.]?'
ip:
~'^([19]|[19]\d|1\d{2}|2[04]\d|25[05])[.]?([09]|[19]\d|1\d{2}|2[04]\d|25[05])[.]?
([09]|[19]\d|1\d{2}|2[04]\d|25[05])[.]?([09]|[19]\d|1\d{2}|2[04]\d|25[05])$'
email:
~*'^([azAZ09_'+*$%\^&!\.\])+\@(([azAZ09\])+\.)+([azAZ09:]{2,4})+$'

BasesdedatosenSoftwareLibre
UnBenchmarkErrado?


BasesdedatosenSoftwareLibre
UnBenchmarkdeStorages

InnoDBvs.MyISAMvs.Falcon


BasesdedatosenSoftwareLibre
YexisteunoconOracle?

SpecsoficialesdeSun
Basadoenvelocidad,cantidaddeHardware
adquirido,necesidaddeoptimizaciones
adicionales,modificacionesytunningalhardware,
softwareydatabase+rendimientogeneraldelas
consultas
jAppServer2007


BasesdedatosenSoftwareLibre
CuantocuestaMySQL?

mySQL
SunFireX4100(2x285,4x2GB,2X73GB)(2)
SunStorEdge3320,12x73GB,1RAIDCONT
SinglePortPCIUltra320SCSIHBA
Costo:59.260US$
PuntuacinTotal:720.56Unidades
CostodeUnidad(Costo/Puntuacin):82US$porUnidadJOPS


BasesdedatosenSoftwareLibre
CuantocuestaOracle?

Oracle
ServerHPIntegrityrx26601.6Ghz18GB4core(2)
12GBDDR2memorypair
SANArray1000
Costo:70.701US$
Oracle10gEnterprise+OracleAppServer+OraclePartitionOption
Costo:110.000US$!!
Puntuacin:874Unidades
CostodeUnidad(Costo/Puntuacin):206.75US$porunidad

BasesdedatosenSoftwareLibre
CuantocuestapostgreSQL?

PostgreSQL
ServerHPIntegrityrx26601.6Ghz18GB4core(2)
12GBDDR2memorypair
SANArray1000
Costo:70.701US$
PostgreSQL8.2(0US$)
Puntuacin:778.14Unidades
CostodeUnidad(Costo/Puntuacin):90.85US$porunidad


BasesdedatosenSoftwareLibre

Firebird
BasadaenBorlandInterbase
SuPLesPL/Iaunqueaceptalenguajesdeldominio
empresarial/financierocomoADA,COBOL,etc
Actualmenteelproyectoseesfuerzaenllevarala
completaadopcindeANSI::SQL2003


BasesdedatosenSoftwareLibre

BerkeleyDB
BasededatosObjetodealtavelocidad
Sufnprincipalesestarimbuidaenaplicaciones
openLDAP,ADS,Bindymuchohardwarellevan
imbuidaunabasededatosBerkeleyDB
SulicenciaesBSD
TieneunaversinespecialparaXML


BasesdedatosenSoftwareLibre

SapDB
DesarrolladoenconjuntoconmySQLAB
Implementacaractersticasnecesariasparala
plataformaSOAdeSAP
ComomySQL,SapDBesGPLyademsesauto
administrado(bajocosto,norequiereunDBA
permanente,etc)
Todalaplataformadedesarrollovienesobre
Eclipse

BasesdedatosenSoftwareLibre

SQLite
BasededatosImbuidadealtavelocidad
SoportamuchascaractersticasdeANSI:SQL92
Vieneimbuidaenlagranmayoradeloslenguajes
libres(perl,python,php,etc)
Esdemuchautilidadalahoradedesarrollar
aplicaciones
Symbian(smartphones)usanSQLiteimbuido

BasesdedatosenSoftwareLibre

ApacheDerby
DatabasedesarrolladaenJava
Sistemadedatosmixto(imbuidooclienteservidor)
quecorreenlaJVMjuntoalaaplicacinJava
Centradaendatos,permitegestinrelacional
(ANSI:SQL92)yjerrquica/objeto(XMLXQuery)
Alserimbuida,solovieneconJDBC


BasesdedatosenSoftwareLibre

TablaGeneraldeMigracin
Desde: Hasta:
Oracle10g PostgreSQL8.3
MSSQLServer MySQL5.0/5.1
IBMDB2/Sybase MySQL5.0/5.1
Paradox/Interbase/Informix Firebird
PrivativeOEMDatabases BerkeleyDB/BDBXML/Derby/SQLite
? Escoge!


BasesdedatosenSoftwareLibre

ysiquieromiAccess?
EntoncestienesOpenOfficeBase!
PermitemltiplesconexionesaDB
SoportapostgreSQL,mySQL,AlmacenesISAM
Asistentes,formularios


BasesdedatosenSoftwareLibre

PaqueteVs.Tecnologa

Vs.


BasesdedatosenSoftwareLibre

Conclusiones
Cadabasededatosposeeunautilidadnativa
Cadaunaseadaptaanecesidadesespecficas
Losbenchmarksrepresentanestadosdecada
implementacinynonecesariamenteacordealas
necesidadesactualesdelcliente
Sepuedehacerconvivirsistemasheterogeneos
Evitemoslospaquetes!

BasesdedatosenSoftwareLibre

Graciasporsuatencin
JessIgnacioLara
celular:04247332593
celular:
correo:jesuslara@covetel.com.ve
correo:

blog:
http://www.jesuslara.com.ve/blog/