Está en la página 1de 18

P

P
OSTGRE
OSTGRE
SQL
SQL
LA LA ALTERNATIVA ALTERNATIVA A A LOS LOS SGBD SGBD PROPIETARIOS PROPIETARIOS
Carlos Juan Martn Prez
Facultad de Ciencias Exactas y Naturales
Escuela de Informtica
Universidad Nacional de Costa Rica
Heredia, Costa Rica
email: cmartin@una.ac.cr
Licencia CC-BY-SA: http://creativecommons.org/licenses/by-sa/3.0/deed.es
PostgreSQL, la alternativa a los SGBD propietarios Red Costarricense de Software Libre
ndice de contenido
Abstract...................................................................................................................3
ey!ords.................................................................................................................3
"es#men..................................................................................................................3
$alabras Clave.........................................................................................................3
%. &ntrod#cci'n........................................................................................................(
). *escripci'n +eneral............................................................................................,
3. -standard S.L ...................................................................................................,
(. L/mites.................................................................................................................,
,. 0ipos de *atos.....................................................................................................1
1. Acceso conc#rrente a los datos...........................................................................1
2. 3antenimiento de la &ntegridad de los datos.....................................................2
4. Cons#ltas.............................................................................................................2
5. Seg#ridad de Acceso...........................................................................................4
%0. 0riggers6 "eglas y procedimientos almacenados..............................................5
%%. 7ndices.............................................................................................................%0
%). 8erencia..........................................................................................................%0
%3. "espaldo6 rec#peraci'n y replicaci'n.............................................................%%
%(. 9niversidad de -l Salvador6 -l Salvador........................................................%)
%,. Sociedad de Seg#ros de :ida del 3agisterio ;acional6 Costa "ica...............%3
%1. <ptimi=aci'n....................................................................................................%1
%2. Costos y Bene>icios..........................................................................................%2
%4. Agradecimientos..............................................................................................%2
%5. "e>erencias......................................................................................................%4
2 / 1
PostgreSQL, la alternativa a los SGBD propietarios Red Costarricense de Software Libre
A ABSTRACT BSTRACT
Noadays, t!e core of almost t!e !ole existent information systems is "ased on a relational
#ata"ase $ana%ement &ystem 'R#($&). *!ere are many ell +non ,ro,rietary o,tions in t!e
softare mar+et t!at can fulfill t!is need, nevert!eless in t!e ,resent t!ere also exist free o,tions t!at,
due to t!eir reduced advertisement ca,acity, are noticea"ly un+non, at least in our context. *!is
article descri"es t!e c!aracteristics of t!e R#($& -ost%re&./ as an alternative to more extended
,ro,rietary R#($& in features and stren%t!ness to suit any +ind of demand.
K KEYWORDS EYWORDS
Relational data"ase mana%ement systems, free softare.
R RESUMEN ESUMEN
Hoy en d0a, el n1cleo de la ,rctica totalidad de los sistemas de informaci2n existentes consiste en
el uso de un &istema 3estor de (ases de #atos '&3(#) relacionales. En el mercado del softare
existen m1lti,les o,ciones ,ro,ietarias "ien conocidas ,ara su,lir esta necesidad, sin em"ar%o en el
,resente tam"i4n existen o,ciones li"res 5ue, ,or su escasa ca,acidad ,u"licitaria, son nota"lemente
desconocidas, al menos en nuestro entorno. Este art0culo descri"e las caracter0sticas del &3(#
-ost%re&./ como alternativa en ,restaciones y ro"uste6 ,ara cual5uier ti,o de demanda a los &3(#
,ro,ietarios ms extendidos.
P PALABRAS ALABRAS C CLAVE LAVE
(ases de datos relacionales, softare li"re.
! / 1
PostgreSQL, la alternativa a los SGBD propietarios Red Costarricense de Software Libre
1. I 1. INTRODUCCIN NTRODUCCIN
7un5ue se a,lica a muc!os cam,os, ,ero ,rinci,almente en el mundo del softare de %esti2n, la
elecci2n del &istema 3estor de (ases de #atos '&3(#) es una circunstancia 5ue tiene una
trascendencia crucial ,ara el 4xito sostenido de un sistema informtico, cual5uiera 5ue sea su tama8o.
#urante nuestra formaci2n, tanto acad4mica como informal o autodidacta, nos suelen introducir
conce,tos ,rofundamente err2neos al res,ecto de 5u4 &3(# es el id2neo se%1n la ma%nitud del
,royecto, !a"itualmente inducidos ,or la excelente ,u"licidad 5ue los &3(# ,ro,ietarios ms
afamados ,royectan en nuestro entorno, es decir, los ,roductos de 9R7C/E: y $icrosoft: &./
&erver:... sinceramente, ;cuntas de las maravillosas ,restaciones, las cuales se ,a%an centavo a
centavo de d2lar de los EEUU ',a0s donde residen las casas matrices de am"os ,roductos), realmente
son ex,lotadas como ,ara 5ue la inversi2n val%a la ,ena<: en el ==> de los casos, a,enas utili6amos
los servicios "sicos de un %estor de "ases de datos relacionales estndar.
En efecto el el ,recio es un o"stculo en la ad5uisici2n y mantenimiento de nuestro &3(#, y
desafortunadamente la ,u"licidad de las casas de softare ,ro,ietario es una cortina 5ue se nos
extiende ,ara ta,ar otras o,ciones ,erfectamente via"les desde todo ,unto de vista, ms a1n cuando su
costo es *9*7/$EN*E CER9, !oy y siem,re.
*enemos tam"i4n 5ue mencionar otros im,edimentos indirectos son las ,lataformas de !ardare y
el sistema o,erativo ,ara so,ortar el &3(#, en los 5ue al fin y al ca"o tam"i4n de"emos invertir.
/a Universidad de El &alvador 'UE&) tiene una ex,eriencia acumulada de ms de ? a8os en el uso
de -ost%re&./
@
como &3(# ,rinci,al, es,eramos 5ue lo 5ue les vamos a mostrar a continuaci2n les
sea de utilidad ,ara ,oder tomar una futura decisi2n al res,ecto.
% http://!!!.postgres?l.org
" / 1
PostgreSQL, la alternativa a los SGBD propietarios Red Costarricense de Software Libre
2. D 2. DESCRIPCIN ESCRIPCIN G GENERAL ENERAL
PostgreSQL es un &3(# o"AetoBrelacional li"re, su licencia es de ti,o C(&#D y ,or tanto la
sosteni"ilidad del esfuer6o est ase%urada. Com,arndolo con otros &3(#Es li"res como $y&./,
In%res o Fire"ird, dada la am,litud de ,osi"ilidades 5ue -ost%re&./ ofrece, es sin duda el &3(# 5ue
ms se asemeAa en versatilidad a los &3(#Es ,ro,ietarios como 9racle:, &y"ase:, #(F: o
&./&erver:.
7l i%ual 5ue otros ,royectos de softare li"re, como 3NUG/inux, 7,ac!e, etc. el desarrollo de
-ost%re&./ no es controlado ,or una com,a80a, sino 5ue descansa en una comunidad de
desarrolladoras y varias com,a80as '&un, FuAitsu, &+y,e o RedHat, ,or citar las ms conocidas).
3. E 3. ESTANDARD STANDARD SQL SQL
-ost%re&./ cum,le en %eneral 'y muc!o meAor 5ue otros &3(#s) con los estndares de &./ 'los
7N&IB&./ =F y ==, incluso las 1ltimas versiones ya contem,lan ,arte del &./ FHHI), sin em"ar%o se
de"e mencionar 5ue en al%unas sentencias extiende las ca,acidades de dic!o estandard yGo carece de
al%una de las funcionalidades definidas en el mismo, como cual5uier otro &3(# ,ro,ietario. Es
sumamente im,ortante revisar con detenimiento las exi%encias en la ,ro%ramaci2n del lado del &3(#,
,ues aun5ue toda dificultad es su,era"le, estos detalles de"en tenerse en cuenta ,ara la reali6aci2n de
una mi%raci2n exitosa as0 como la ex,lotaci2n de al%una caracter0stica ventaAosa.
4. L 4. LMITES MITES
/os l0mites de -ost%re&./ ,ueden ser resumidos en los si%uientes ,untos:
*ama8o mximo de la "ase de datos: Ilimitado
*ama8o mximo de una ta"la: IF *"
*ama8o mximo de una fila: @.J *"
# / 1
PostgreSQL, la alternativa a los SGBD propietarios Red Costarricense de Software Libre
*ama8o mximo de un cam,o: @ 3" 'F 3" si es un (/9()
N1mero mximo de filas ,or ta"la: Ilimitado
N1mero mximo de columnas ,or ta"la: de F?H a @JHH, de,endiendo de los ti,os de las
columnas.
N1mero mximo de ta"las o vistas en una "ase de datos: Ilimitado
N1mero mximo de 0ndices so"re una ta"la: Ilimitado
5. T 5. TIPOS IPOS DE DE D DATOS ATOS
#e forma nativa -ost%re&./ so,orta una am,lia variedad de ti,os de datos comunes, ,or eAem,lo
ti,os num4ricos de ,recisi2n ar"itraria o limitada, secuencias, textos de lon%itud definida e ilimitados,
fec!as y !oras de formato confi%ura"le se%1n definici2n de localidad, ti,os "inarios de %ran tama8o,
5ue son almacenados y com,rimidos a,arte de los datos de un modo trans,arente al usuario, etc4tera.
7dems se dis,one de al%unos ti,os de datos ,ara a,licaciones es,ec0ficas 5ue resuelven
excelentemente al%unos ,ro"lemas concretos como ,rimitivas %eom4tricas, direcciones I-, "lo5ues
CI#R, direcciones $7C y el ms interesante, matrices cual5uier ti,o de dimensiones ilimitadas.
K ms a1n: en -ost%re&./ se ,ueden definir nuevos ti,os de datos, totalmente indexa"les y con el
conAunto de o,eradores y conversores 5ue sea ,reciso, incluso so"recar%ando los ya existentes. Un
eAem,lo de 4sto es el ,royecto -ost3I& 5ue im,lementa la infraestructura de "ase de datos necesaria
,ara el so,orte de un &istema de Informaci2n 3eo%rfica.
6. A 6. ACCESO CCESO CONCURRENTE CONCURRENTE A A LOS LOS DATOS DATOS
-ost%re&./ %estiona la concurrencia en el acceso a los datos mediante un sistema conocido como
Control $ultiBLersi2n de Concurrencia '$LCC), 5ue ,ro,orciona a cada usuario una ima%en
'conocida en el ar%ot como sna,s!ot) de la "ase de datos, ,ermitiendo reali6ar cam"ios a la "ase de
datos sin 5ue 4stos sean visi"les a otros usuarios !asta 5ue la transacci2n es confirmada 'en ar%ot,
$ / 1
PostgreSQL, la alternativa a los SGBD propietarios Red Costarricense de Software Libre
committed). Esto elimina radicalmente los "lo5ueos de lectura y ase%ura el mantenimiento de los
,rinci,ios conocidos como 7CI#
F
de una forma eficiente. #ic!o sea de ,aso, este es el mismo
mecanismo 5ue usa 9racle: , en contra,osici2n con muc!o ,eor sistema de &./ &erver: '!asta la
versi2n FHH?) o #(F: 5ue usan "lo5ueo de filas 'ro loc+in%). No o"stante lo antedic!o, est a
dis,osici2n del usuario el uso de todo ti,o de "lo5ueo de filas o ta"las si es 5ue el sistema $LCC no
,ro,orciona los resultados deseados en al%1n ti,o de a,licaci2n es,ec0fica.
-or su,uesto, dado 5ue -ost%res&./ es un &3(# 7CI#, so,orta ,erfectamente el uso de
transacciones, a fin de %aranti6ar la atomicidad de las o,eraciones reali6adas en varias consultas
encadenadas. #entro de las transacciones ,uede %uardarse el estado tem,oral de los datos mediante el
uso de Csave,ointsD.
. M . MANTENIMIENTO ANTENIMIENTO DE DE LA LA I INTEGRIDAD NTEGRIDAD DE DE LOS LOS DATOS DATOS
Una de las caracter0sticas ms im,ortantes de -ost%re&./ es su com,letitud y fia"ilidad al res,ecto
de la manutenci2n de la inte%ridad de los datos, so,ortando claves ,rimarias 'sim,les y com,uestas),
restricciones de inte%ridad referencial en forma de claves externas, con definici2n de com,ortamiento
so"re actuali6aciones o "orrados 'en cascada, restrin%ida o asi%naci2n de nulo), restricciones de
unicidad y todo ti,o de com,ro"aciones a nivel de columna 'no nulos y de contenido o Cc!ec+sD) y de
fila.
!. C !. CONSULTAS ONSULTAS
7l%unos &3(#Es, a ,esar de ser ms r,idos en cuanto a los tiem,os de res,uesta en consultas
sim,les, carecen de mecanismos 5ue son im,rescindi"les cuando se trata de ex,lotar toda la ,otencia
del len%uaAe de consultas &./. Estamos !a"lando de com,osiciones 'Aoins) internos y externos, a la
derec!a o a la i65uierda y, ,or su,uesto, el maneAo de su"consultas. En la versi2n M.N se a8adi2 el
so,orte de la recursividad en las consultas
I
, lo cual ,ermite consultar de un modo muy ele%ante
estructuras con relaciones de inte%ridad referencial definidas so"re la ,ro,ia ta"la.
) AC&*: Atomicidad6 Consistencia6 a&slamiento6 *#rabilidad @&S</&-C %00)1-%:%55)6secc.(A
3 http://!!!.postgres?l.org/docs/4.(/static/?#eries-!ith.html
% / 1
PostgreSQL, la alternativa a los SGBD propietarios Red Costarricense de Software Libre
9tra de las meAoras nota"les es el maneAo de funciones de ventanas so"re los resultados de una
consulta 'indo functions
N
), 4sto es similar a la funcionalidad de a%ru,aci2n t0,ica, ,ero res,eta las
caracter0sticas individuales de los resultados en una consulta en ve6 de ofrecer una fila ,or resultado
a%ru,ado.
En cuanto a la ca,acidad del motor de "1s5ueda, la im,lementaci2n actual del o,timi6ador de
consultas utili6a un al%oritmo 5ue ,rcticamente alcan6a un resultado cuasiB2,timo en el
reordenamiento de las com,osiciones en las consultas. &in em"ar%o este al%oritmo, en casos donde el
n1mero de com,osiciones es %rande, ,uede tardar una cantidad excesiva de tiem,o, lo 5ue lo !ace muy
ina,ro,iado ,ara consultas 5ue vinculan un %ran n1mero de ta"las. -ara resolver este inconveniente
est a dis,osici2n el 9,timi6ador 3en4tico de consultas '3E.9), el cual resuelve este ,ro"lema
utili6ando este ti,o de ,aradi%ma.
7dems de so,ortar "1s5uedas de texto "asada en ex,resiones re%ulares, existen m2dulos
es,eciales ,ara la "1s5ueda y extracci2n de texto 5ue cum,la ciertas condiciones, ,untundolo en
funci2n de su relevancia. 7simismo tam"i4n existen extensiones 5ue !a"ilitan la "1s5ueda so"re O$/.
". S ". SEGURIDAD EGURIDAD DE DE A ACCESO CCESO
-ost%re&./ tiene la ca,acidad de controlar el acceso al &3(# se%1n usuarioG%ru,o de usuarios,
"ase de datos a la 5ue se conecta e I- 'tanto I-vN como I-vJ) y la autenticaci2n as0 como la
transferencia de datos es encri,tada con &&/.
En lo relativo a la definici2n de ,ermisos so"re los o"Aetos de la "ase de datos, -ost%re&./ ,ermite
definir ,ermisos so"re los o"Aetos ,ara usuarios y %ru,os de usuarios 'roles). /os o"Aetos 5ue ,ueden
ser controlados son ta"las com,letas, "ases de datos, es,acios de almacenamiento f0sico 'ta"les,aces),
funciones, len%uaAes, es5uemas y maneAo de otros usuarios. En la versi2n M.N se a8adi2 el so,orte de
se%uridad a nivel de columna.
( http://!!!.postgres?l.org/docs/4.(/static/t#torial-!indo!.html
/ 1
PostgreSQL, la alternativa a los SGBD propietarios Red Costarricense de Software Libre
1#. T 1#. TRIGGERS RIGGERS$ R $ REGLAS EGLAS Y Y PROCEDIMIENTOS PROCEDIMIENTOS ALMACENADOS ALMACENADOS
Como en los restantes &3(#s ,rofesionales, en -ost%re&./ se ,ueden introducir ,rocedimientos y
funciones almacenadas ,ara ser eAecutadas en el ,ro,io &3(#. El len%uaAe nativo ,ara la definici2n de
estos o"Aetos el -/G,%&./, un len%uaAe ciertamente similar al -/G&./ de 9racle:, sin em"ar%o la
aride6 de este ti,o de len%uaAes as0 como la falta de flexi"ilidad ,ara el control del fluAo del
,rocedimiento 'sentencias de iteraci2n y ramificaci2n) !a ,otenciado la ado,ci2n de otros len%uaAes
dentro la definici2n de funciones, y !ay ,ara todos los %ustos:
/en%uaAes inter,retados: -/G-erl, ,lG-H-, -/G-yt!on, -/GRu"y, -/Gs!, y -/G*cl
/en%uaAes com,ilados: C, CPP y Qava '-/GQava)
/en%uaAes de ,rocesamiento estad0stico: R '-/GR)
/as funciones ,ueden ser eAecutadas con los ,rivile%ios del usuario 5ue las llama o "ien con los del
usuario 5ue defini2 la funci2n. /os tri%%ers 5ue so,orta -ost%re&./ reali6an una funci2n 5ue ,ueden
ser definida en cual5uiera de los len%uaAes antes mencionados, y ,or su,uesto ,ueden ser eAecutados
antes o des,u4s de cual5uier ti,o de actividad so"re una ta"la o vista, o"Aetos los cuales tam"i4n
,ueden tener varios tri%%ers definidos so"re ellos. El uso de sentencias de &./ dinmico dentro de un
,rocedimiento definido en -/G,%&./ est totalmente so,ortado y no !ay nin%1n ,ro"lema ,ara la
reali6aci2n de consultas so"re la ta"la donde los datos estn actuali6ndose 'datos mutantes).
Una caracter0stica de -ost%re&./ muy interesante son las denominadas Cre%lasD, 5ue ,ermiten
literalmente transformar una consulta o "ien a8adirle al%1n ti,o de funcionalidad adicional. -or 1ltimo
ca"e destacar 5ue -ost%re&./ im,lementa un sistema de eventos 5ue ,ermite la intercomunicaci2n de
mensaAes desde un cliente, ,rocedimiento o tri%%er a cual5uier otro cliente conectado a la "ase de datos
5ue !aya definido estar a la escuc!a de tal mensaAe. #e esta forma ,ueden ,ro%ramarse muy fcilmente
a,licaciones de monitoreo de datos sin tener 5ue estar consultando re,etidamente la "ase de datos !asta
cum,lir la condici2n deseada. *am"i4n es ,erfectamente facti"le la transmisi2n de datos de una "ase de
datos a otra, tanto en el mismo servidor como en otro remoto, en una consulta en &./.
& / 1
PostgreSQL, la alternativa a los SGBD propietarios Red Costarricense de Software Libre
11. 11. NDICES NDICES
Uno de los mecanismos ms im,ortantes en las "ases de datos relacionales son los 0ndices, los
cuales aceleran infinitamente las consultas de mayor relevancia so"re los datos almacenados. En
-ost%re&./ el usuario ,uede definir los 0ndices 5ue necesite, "ien usando los ti,os !a"ituales '(Btrees
y !as!s) o "ien utili6ando la tecnolo%0a 3i&*
?
,ara ti,os de datos o mecanismos de "1s5ueda
es,ec0ficos. /os 0ndices de -ost%re&./ tienen las si%uientes caracter0sticas:
Escaneo adelante/atrs, no es necesario definir un 0ndice adicional ,ara acelerar "1s5uedas
ordenadas descendentemente.
ndices basados en expresiones Un 0ndice ,uede ser creado con el resultado de una ex,resi2n
o funci2n, en ve6 de usar sim,lemente el valor de una columna.
ndices parciales, 5ue s2lo indexan ,arte de los datos una ta"la se%1n una ex,resi2n ti,o
CRHERE ...D , esto ,ermite definir 0ndices ms ,e5ue8os y ,or tanto ms r,idos so"re una
,arte de los datos.
ndices de estrategia adaptable: 3i&* 'Sr"oles de "1s5ueda %enerali6ados) y 3IN '0ndice
%enerali6ado invertido). Tste 1ltimo adems de ,oder ada,tar la al%oritmia de "1s5ueda
mantiene una estructura de claveBlista de ocurrencias, lo 5ue lo !ace id2neo ,ara el uso so"re
ti,os de datos com,leAos como arrays.
12. % 12. %ERENCIA ERENCIA
Ha"0amos mencionado 5ue -ost%re&./ es un &3(# ob!etoBrelacional. En efecto, se incor,ora el
conce,to de !erencia ,ro,io de la 9rientaci2n a 9"Aetos, ,ermitiendo 5ue una ta"la ,ueda !eredar sus
caracter0sticas de una o varias ta"las ,adre 'en efecto, so,orta !erencia m1lti,le). 7utomticamente
-ost%re&./ se encar%ar de Ccom,artirD los datos entre las ta"las em,arentadas, insertando y "orrando
tu,las en la ta"la ,adre cuando se inserten o "orren en la ta"la !iAa. *am"i4n, la adici2n de una
columna en la ta"la ,adre im,licar su a,arici2n en la ta"la !iAa.
, +iS06 +enerali=ed Search 0ree6 o Brbol de BCs?#eda +enerali=ado6 es #na estr#ct#ra de datos
y librer/a de >#nciones ?#e permite constr#ir prDcticamente c#al?#ier tipo de Drbol de
bCs?#eda sobre practicamente c#al?#ier tipo de datos
1' / 1
PostgreSQL, la alternativa a los SGBD propietarios Red Costarricense de Software Libre
7un5ue este conce,to tiene muc!o desarrollo ,or delante, la im,lementaci2n actual ya facilita en
"uena medida el tra"aAo con ta"las 5ue est4n modelando una traducci2n de las es,eciali6aciones y
%enerali6aciones 5ue se definen en los es5uemas de modelado conce,tual Entidad Relaci2n Extendido
'EER). En la ,rctica el conce,to de !erencia ,ermite im,lementar el ,articionamiento de ta"las,
,udiendo !acer ms eficiente la "1s5ueda so"re cual5uier ta"la !iAa o directamente so"re la ta"la ,adre.
13. R 13. RESPALDO ESPALDO$ $ RECUPERACIN RECUPERACIN Y Y REPLICACIN REPLICACIN
7,arte de los res,aldos sim,les, -ost%re&./ im,lementa la t4cnica de escritura adelantada en
"itcoras sucesivas 'R7/ o Rrite 7!ead /o%) ,ara refleAar cual5uier cam"io en la "ase de datos. Esto
,ermite ,oder recu,erar la "ase de datos com,letamente eAecutando los cam"ios de la "itcora so"re
una ima%en de los datos. Este ,rocedimiento tiene los si%uientes efectos "eneficiosos:
No necesitamos una ima%en de la "ase de datos ,erfectamente consistente como ,unto de inicio,
,ues cual5uier inconsistencia se corre%ir al eAecutar los cam"ios de las "itcoras, de este modo no
necesitamos ms 5ue una !erramienta de com,resi2n sim,le ,ara arc!ivar el "ac+u,.
#ado 5ue ,odemos Auntar todas las "itcoras de cam"ios indefinidamente, se ,uede res,aldar de un
modo continuo arc!ivando las "itcoras, lo cual es es,ecialmente valioso en "ases de datos
masivas, donde es ,rcticamente invia"le en tiem,o y en inversi2n en medios de almacenamiento
,ara reali6ar res,aldos com,letos de la "ase de datos con muc!a frecuencia.
No es necesario eAecutar todas las "itcoras !asta la 1ltima %uardada, se ,uede detener el ,roceso de
eAecuci2n de las "itcoras en cual5uier ,unto y as0 tener una ima%en consistente de la "ase de datos
como si estuviera en ese momento. Im,l0citamente aseveramos el so,orte de una recu,eraci2n de
ti,o C,ointBinBtimeD, dado 5ue es ,osi"le restaurar la "ase de datos a cual5uier momento en el
tiem,o desde 5ue el res,aldo "ase fue tomado.
&i alimentamos de un modo continuo la serie de "itcoras a otro servidor 5ue !aya sido car%ado con
el mismo "ac+u, "ase, tendremos un sistema de res,aldo Cen calienteD: en cual5uier momento
,odemos levantar el se%undo servidor y tendremos una co,ia ,rcticamente %emela de la "ase de
datos.
11 / 1
PostgreSQL, la alternativa a los SGBD propietarios Red Costarricense de Software Libre
7dems de los antedic!os mecanismos de res,aldo y restauraci2n, estn a dis,osici2n li"re el uso
de !erramientas de re,licaci2n 5ue !a"ilitan el "alanceo de car%a y estructuras de "ases datos de alta
dis,oni"ilidad tanto s0ncrona como as0ncrona, en forma multiBmaestro '-%Cluster, (ucardo
res,ectivamente) o "ien maestroGesclavo '&lonyBI)
14. U 14. UNIVERSIDAD NIVERSIDAD DE DE E EL L S SALVADOR ALVADOR$ E $ EL L S SALVADOR ALVADOR
En la Universidad de El &alvador existen en la actualidad @? servidores 5ue so,ortan los sistemas
de %esti2n de la 7dministraci2n 7cad4mica y otros sistemas administrativos. Nin%uno de ellos su,era
los UF,HHH y su confi%uraci2n "sica es #e"ian 3NUG/inux como sistema o,erativo, 7,ac!eF, -H- y
-ost%re&./ como "ase de datos.
Con esa confi%uraci2n se !a ,odido dar res,uesta al mximo nivel ,osi"le de la demanda de
servicios informticos al estudiante, teniendo "ases de datos de ms de F3" de datos y ta"las de ms de
un mill2n de filas, o"teniendo siem,re un o,timo desem,e8o en un !ardare ciertamente modesto.
Hasta el momento ,resente -ost%re&./ !a satisfec!o am,liamente sus necesidades, estando en
todo caso de nuestra ,arte el uso de todas las ,restaciones 5ue como &3(# nos ofrece, es ,or esto 5ue
aconseAamos ve!ementemente considerar este &3(# como una o,ci2n sosteni"le ,ara el
almacenamiento de datos en cual5uier instituci2n o em,resa. Es ,ertinente rese8ar 5ue existen %randes
instituciones y em,resas usando -ost%re&./, !tt,:GG.,ost%res5l.or%Ga"outGusers. &i "ien no se
indican en la anterior ,%ina, el core de ne%ocio de &+y,e
J
, la conocida red social Hi?
V
, as0 como la
5ue Ka!oo ,roclama como mayor "ase de datos del mundo 'F ,eta"ytes) est "asada en -ost%re&./
M
.
1 https://developer.sEype.com/SEype+arage/*b$roFects/SEype$ostgres?lGhitepaper
2 http://!!!.comp#ter!orld.com.a#/indeH.php/idI)33251,((
4 http://!!!.comp#ter!orld.com/action/article.doJ
commandKvie!ArticleBasicLtaHonomy&dK%4Larticle&dK50425%4LintsrcKhmMtopic
12 / 1
PostgreSQL, la alternativa a los SGBD propietarios Red Costarricense de Software Libre
15. S 15. SOCIEDAD OCIEDAD DE DE S SEGUROS EGUROS DE DE V VIDA IDA DEL DEL M MAGISTERIO AGISTERIO N NACIONAL ACIONAL$ $
C COSTA OSTA R RICA ICA
En esta instituci2n se tiene una 1nica "ase de datos se%mentada en @I es5uemas. En dic!os
es5uemas se tienen los o"Aetos t0,icos de un &3(# relacional: ta"las, restricciones, 0ndices, secuencias,
vistas y o"Aetos ,ro%ramados en el len%uaAe -/G&./. -ara tener una idea de la enver%adura de la "ase
de datos ,odemos se8alar 5ue tiene JI? ta"las y un tama8o total de @@.I 3" de datos en texto ,lano.
Es destaca"le la existencia de una ta"la !ist2rica de casi FI millones de re%istros 'I 3" de datos).
*odas las ta"las !acen uso de clave ,rimaria y, en al%unos casos, se definen adicionalmente
restricciones de unicidad, a,arte de m1lti,les 0ndices definidos so"re uno o varios cam,os de cada ta"la
y numerosas restricciones de inte%ridad referencial entre las diferentes ta"las, confi%urando as0 un
es5uema relacional de com,leAidad "astante alta.
&o"re tal "ase de datos se !icieron ,rue"as de desem,e8o en com,araci2n con el &3(# 9racle:
actual, o"teni4ndose resultados altamente ,ositivos en el si%uiente entorno:
Plata"or#a actual en producci$n en ser%idor real& servidor Oeon do"le .uad Core JN "its
I.NH 3!6, @J 3" R7$, almacenamiento ,or canal de fi"ra 2,tica en un H- EL7 NNHH 'max.
NHH $(Gs). &istema 9,erativo Rindos FHHI &erver RF.
Plata"or#a de pruebas& servidor virtual Oeon .uad Core JN "its I.NH 3!6, M 3" R7$, ,or
canal de fi"ra 2,tica en un H- EL7 NNHH 'max. NHH $(Gs). &istema 9,erativo 3NUG/inux.
*odas las ,rue"as de rendimiento en la ,lataforma de ,roducci2n fueron reali6adas en !orario no
la"oral ,ara %aranti6ar la ausencia de car%a so"re el &3(# y, en el caso de las ,lataformas ,ro,uestas,
son servidores dedicados exB,rofeso ,ara estas ,rue"as, ,or lo 5ue no existe nin%una otra actividad 5ue
,udiera alterar los resultados. /as consultas fueron lan6adas directamente en las res,ectivas terminales
de comandos de los &3(# ,ara minimi6ar cual5uier ti,o de interferencia ,or el ,rocesamiento en el
lado cliente.
1! / 1
PostgreSQL, la alternativa a los SGBD propietarios Red Costarricense de Software Libre
Consideramos reali6ar una consulta 5ue ,usiera a ,rue"a la ca,acidad de los &3(# ,ara resolver la
o,eraci2n ms costosa 'una com,osici2n o Aoin) donde estuviera involucrada la ta"la ms voluminosa
de la (# 'clie.,a%osWyWdesem"olsosWcl, 5ue tiene ms de FF,V millones de filas.
SELECT
P&'(')*+,' T-.,/*
<racleN 00:03:0)
$ostgreS.L 00:00:(2
/a consulta se re,iti2 varias veces en cada ,lataforma, o"teniendo tiem,os similares. El resultado
o"tenido fue excelente a favor de la ,lataformas con -ost%re&./ y 3NUG/inux.
-ara com,ro"ar las ,restaciones de los &3(#s en o,eraciones de inserci2n, modificaci2n y
eliminaci2n de datos se esco%i2 nuevamente la ta"la anteriormente mencionada ,or ser la ms
densamente ,o"lada ,ara reali6ar las ,rue"as. 7 fin de 5ue las ,rue"as fueran com,ara"les se %aranti62
5ue todas las estructuras de indexado y dis,aradores 'tri%%ers) fueran e5uivalentes y estuvieran
convenientemente activadas en cual5uiera de las ,lataformas, ,ara lo cual se reali62 la o,ortuna
ada,taci2n del 1nico dis,arador so"re dic!a ta"la, el cual sin em"ar%o reali6a llamadas a diferentes
funciones y ,rocedimientos 5ue reali6an consultas so"re la misma y otras ta"las.
En el caso de inserci2n se utili62 un conAunto de F@ sentencias insert, a sa"iendas de 5ue la ,rimera
sentencia tendr0a un mayor costo ',or el acceso al diccionario de datos) y las dems reducir0an su
tiem,o de eAecuci2n.
INSERT
P&'(')*+,'
T-.,/*
1
.+*

M.0*+
T-.,/*
1-23-.4(.1
P.*+
T-.,/*
1-23-.4(.1
<racleN
5
20 ms %0 ms (0 ms
$ostgreS.L 3)0 ms ) ms 22 ms
5 La precisi'n del timing de <racle es s'lo hasta las dOcimas de seg#ndo.
1" / 1
PostgreSQL, la alternativa a los SGBD propietarios Red Costarricense de Software Libre
En el caso de sentencias (pdate, se reali6aron dos o,eraciones ,ara com,arar el rendimiento entre
ellas. #ic!as sentencias altera"an un total de @HV filas. -ara evitar cual5uier ti,o de interferencia ,or el
env0o de mensaAes a las res,ectivas terminales se coment2, tanto en el tri%%er de 9racle como en la
funci2n asociada al tri%%er en -ost%re&./, la elevaci2n del mensaAe de notificaci2n 5ue sustitu0a a la
exce,ci2n dis,uesta en el tri%%er ori%inal, ,ues dic!o tri%%er no ,ermit0a actuali6aciones, limitaci2n
contra,roducente ,ara nuestras ,rue"as.
UPDATE
P&'(')*+,' P+-,.+' S.2345'
<racleN ),0 ms )0 ms
$ostgreS.L %12 ms %0 ms
En este caso a,reciamos nuevamente ventaAa de -ost%re&./ frente a 9racle, sin em"ar%o es
m0nima considerando la escala de tiem,o utili6ada 'milise%undos).
-or 1ltimo, ,ara sentencias delete, se consider2 5ue la eAecuci2n de una o,eraci2n era ms 5ue
suficiente testimonio del rendimiento en %eneral de los &3(#s a la !ora de reali6ar los cam"ios. #ic!a
o,eraci2n consist0a en eliminar ,recisamente las F@ filas insertadas ,reviamente, ,ara lo 5ue se !ac0a la
corres,ondiente consulta de selecci2n en la misma sentencia.
DELETE
P&'(')*+,' T-.,/*
<racleN 00:0%:35
$ostgreS.L 00:00:%0
En este caso, con toda certe6a influido ,or la reali6aci2n de la consulta 'a la vista de las diferencias
entre las dos ,lataformas -ost%re&./), 9racle se desem,e82 realmente mal en com,araci2n con
-ost%re&./.
En suma, ,odemos afirmar con total certe6a 5ue en el as,ecto de rendimiento del &istema 3estor de
(ase de #atos no existir ,ro"lema al%uno en caso de reali6ar la mi%raci2n a -ost%re&./, ,or el
contrario, muy ,ro"a"lemente se ,erci"ir una meAor0a nota"le, ms ,rofunda a1n cuanto ms %randes
sean los conAuntos de datos consultadosGactuali6ados.
1# / 1
PostgreSQL, la alternativa a los SGBD propietarios Red Costarricense de Software Libre
Una de las ,osi"ilidades 5ue no es ,osi"le reali6ar con la versi2n dis,oni"le del &3(# 9racle
'&tandard) es ,articionar la ta"la 5ue !emos utili6ado como ,rue"a ,ara acelerar en lo ,osi"le las
consultas. -ost%re&./ so,orta el ,articionamiento de forma nativa mediante el uso de sus
caracter0sticas orientadas a o"Aetos 'cada ,artici2n !ereda las caracter0sticas de la ta"la ,adre), ,or lo
5ue consideramos a,ro,iado al menos !acer la ,rue"a de ,articionar la ta"la y com,arar el rendimiento
con la consulta de selecci2n antes descrita.
/os resultados finalmente fueron "astante a,ro,iados, ,ues la misma consulta reali6ada so"re la
ta"la ,articionada se calcul2 en un tiem,o similar al de la consulta sin ,articionar, a sa"iendas de 5ue
las caracter0sticas de la consulta no utili6ar0an los 0ndices definidos so"re el cam,o ,articionado, lo 5ue
re,resenta el ,eor caso. -or tanto un ,articionamiento ms atinado 'reali6ado se%1n al%una
caracter0stica de sus clave ,rimaria ,or eAem,lo) ,odr0a sin duda acelerar nota"lemente las consultas
ms frecuentes.
16. O 16. OPTIMI6ACIN PTIMI6ACIN
-or defecto, -ost%re&./ tiene unos ,armetros muy conservadores en el uso de los recursos del
sistema ',rinci,almente memoria R7$) a fin de coexistir ra6ona"lemente con otros servicios 5ue
,udieran tener "astante demanda de este recurso.
/a literatura consultada
@H
y se%1n la ex,eriencia de uso, recomendamos utili6ar los si%uientes
valores de confi%uraci2n ,ara 5ue -ost%re&./ a,rovec!e al mximo los recursos existentes:
Editar GetcGsysctl.conf y a8adir +ernel.s!mmaxXvalor
@@
. El valor de"e ex,resarse en "ytes. Este
,armetro controla el tama8o mximo de un se%mento de memoria com,artida.
7Austar los ,armetros en el fic!ero de confi%uraci2n de -ost%re&./ ',ost%res5l.conf)
s!aredW"uffers, or+Wmem, maintenanceWor+Wmem y effectiveWcac!eWsi6e.
%0http://!!!.revsys.com/!ritings/postgres?l-per>ormance.html
http://!!!.postgres?l.org/docs/4.3/interactive/r#ntime-con>ig-reso#rce.html
http://!!!.ca.postgres?l.org/docs/momFian/h!Mper>ormance
%%-n caliente p#ede cambiarse con sysctl -! Eernel.shmmaHKvalor
1$ / 1
PostgreSQL, la alternativa a los SGBD propietarios Red Costarricense de Software Libre
P'+7,.(+* V'&*+
Eernel.shmmaH %/3 de la "A3 disponible @en bytesA
sharedMb#>>ers %/( de la "A3 disponible @en 3bA
!orEMmem 1( 3b @emp/ricoA
maintenanceM!orEMmem %)4 3b @emp/ricoA
e>>ectiveMcacheMsi=e %/) de la "A3 disponible @en 3bA
1. C 1. COSTOS OSTOS Y Y B BENE8ICIOS ENE8ICIOS
-ost%re&./, adems de li"re, es %ratis, y el tiem,o de ada,taci2n de cual5uier ,ersona
administradora de otro ti,o de "ase de datos es realmente m0nimo ,or la %ran com,ati"ilidad con otros
&3(#Es, as0 5ue ,ara !acer un anlisis costoB"eneficio de este softare no !ay ms remedio 5ue
res,onder a la ,re%unta ;satisface mis necesidades RE7/E&< 'enfati6amos reales ,ara distin%uir 4stas
de las necesidades creadas ,or la ,u"licidad o los eAecutivos de ventas). &i es as0, el costo es menor 5ue
H, es decir, su,one un a!orro, ,uesto 5ue usted va a invertir considera"lemente menos en !ardare 5ue
si lo !iciera con un &3(# ,ro,ietario. &i adems usted decide instalarlo so"re 3NUG/inux, s1mese al
a!orro el costo del sistema o,erativo, 5ue en el caso de servidores, es un %asto ciertamente im,ortante.
1!. A 1!. AGRADECIMIENTOS GRADECIMIENTOS
'nstituciones& Universidad de El &alvador, la Universidad Nacional de Costa Rica, la &ociedad de
&e%uros de Lida del $a%isterio Nacional de Costa Rica.
(rganizaciones& 3ru,o de Usuarios de 3NUG/inux de la Universidad de El &alvador, 7sociaci2n
&alvadore8a de Usuarios de 3NUG/inux, Red Costarricense de &oftare /i"re.
Personas& a todas y cada una de las ,ersonas 5ue !e tenido la suerte de conocer, ,ues %racias a
ellas !e com,rendido lo ,oco 5ue s4 y lo muc!o 5ue a1n me falta.
1% / 1
PostgreSQL, la alternativa a los SGBD propietarios Red Costarricense de Software Libre
1". R 1". RE8ERENCIAS E8ERENCIAS
!tt,:GG.,ost%res5l.or%
!tt,:GG.,ost%res5l.or%Ga"outG,ressGfeaturesMN
!tt,:GG.,ost%res5l.or%GdocsGM.NGinteractiveGindex.!tml
!tt,:GG.,ost%res5l.or%Ga"outGfeaturematrix
!tt,:GG.,ost%res5l.or%Ga"outGadvanta%es
!tt,:GG,%foundry.or%G
!tt,:GGen.i+i,edia.or%Gi+iGCom,arisonWofWrelationalWdata"aseWmana%ementWsystems
!tt,:GGtroels.arvin.d+Gd"Grd"msG
1 / 1