-
UNIVERSIDAD NACIONAL DEL ALTIPLANO
ESCUELA DE POSTGRADO
PROGRAMA DE MAESTRIA
MAESTRA EN INFORMTICA
TESIS
MTRICAS DE PERFORMANCE EN ADMINISTRACIN DE BASES DE
DATOS DISTRIBUIDAS EN INTERNET
PRESENTADA POR:
WILLY ENRIQUE QUISPE ACCHA
PARA OPTAR EL GRADO ACADMICO DE:
MAGISTER SCIENTIAE EN INFORMTICA
MENCIN EN INGENIERA DE SOFTWARE
PUNO, PERU
2014
-
2
-
UNIVERSIDAD NACIONAL DEL ALTIPLANO
ESCUELA DE POSTGRADO
PROGRAMA DE MAESTRIA
MAESTRA EN INFORMTICA
TESIS
MTRICAS DE PERFORMANCE EN ADMINISTRACIN DE BASES DE
DATOS DISTRIBUIDAS EN INTERNET
PRESENTADA POR:
WILLY ENRIQUE QUISPE ACCHA
PARA OPTAR EL GRADO ACADMICO DE:
MAGISTER SCIENTIAE EN INFORMTICA
MENCIN EN INGENIERA DE SOFTWARE
APROBADA POR EL SIGUIENTE JURADO: PRESIDENTE
.
M.Sc. ERNESTO NAYER TUMI FIGUEROA
PRIMER MIEMBRO
.
M.Sc. PEDRO LEONARDO QUISPE TICONA
SEGUNDO MIEMBRO
.
M.Sc. REYNALDO SUCARI LEON
ASESOR DE TESIS
.
M.Sc. PACO WILSON MARCONI QUISPE
Puno, 5 de Febrero de 2014.
-
i
DEDICATORIA
Dedico este trabajo principalmente a Dios, por haberme dado la
vida y permitirme
el haber llegado hasta este momento tan importante de mi
formacin profesional.
A mi madre, a pesar de nuestra distancia fsica, siento que ests
conmigo siempre
y aunque nos faltaron muchas cosas por vivir juntos. S que este
momento
hubiera sido tan especial para ti como lo es para m. A mi padre,
por ser el pilar
ms importante y por demostrarme siempre su cario y apoyo
incondicional sin
importar nuestras diferencias de opiniones. A mi esposa Lurdes,
a quien quiero
como una compaera, por compartir momentos significativos conmigo
y por
siempre estar dispuesta a escucharme y ayudarme en cualquier
momento y a mis
hijos Max Brandon y Betsy Shamira, porque sin ellos no hubiera
logrado esta
meta.
.
-
ii
AGRADECIMIENTOS
- Agradezco a Dios por protegerme durante todo mi camino y darme
fuerzas
para superar obstculos y dificultades a lo largo de mi vida.
- A la Universidad, catedrticos por haberme permitido ascender
un grado
ms en mi formacin profesional.
- A mi madre y padre, que con su demostracin de padres
ejemplares me
han enseado a no desfallecer ni rendirme ante nada y siempre
perseverar
a travs de sus sabios consejos.
- A mi esposa, por acompaarme durante todo este arduo camino
y
compartir conmigo alegras y fracasos.
- Gracias a todas las personas que me ayudaron directa e
indirectamente en
la realizacin de esta tesis.
-
iii
INDICE GENERAL
Pg.
DEDICATORIA i
AGRADECIMIENTOS ii
INDICE GENERAL iii
INDICE DE CUADROS vi
INDICE DE FIGURAS vii
RESUMEN viii
ABSTRACT ix
INTRODUCCIN 1
CAPTULO I
PROBLEMTICA DE LA INVESTIGACIN
1.1 DESCRIPCIN DEL PROBLEMA 3
1.1.1 FORMULACIN DEL PROBLEMA 4
1.2 OBJETIVOS DE LA INVESTIGACIN 4
1.2.1 OBJETIVO GENERAL. 4
1.2.2 OBJETIVOS ESPECIFICOS... 4
CAPTULO II
MARCO TERICO
2.1 ANTECEDENTES DE LA INVESTIGACI 5
2.1.1 INVESTIGACIONES DE NIVEL INTERNACIONAL 5
2.1.2 INVESTIGACIONES DE NIVEL NACIONAL. 9
2.2 MARCO REFENCIAL.. 12
2.2.1 SISTEMAS DISTRIBUIDOS.
2.2.2 BASE DE DATOS DISTRIBUIDAS.
2.2.3 BASE DE DATOS CENTRALIZADA
2.2.4 SISTEMAS CENTRALIZADOS Y SISTEMAS
DISTRIBUIDOS.
2.2.5 REDES DE COMPUTADORAS
2.2.6 TECNOLOGA DE LA INFORMACIN
2.2.7 LA NECESIDAD DE DISTRIBUIR DATOS.
12
13
18
16
19
21
23
24
-
iv
2.2.8 BASE DE DATOS Y DBMS..
2.2.9 PROCESAMIENTO DE CONSULTAS EN BASE DE
DATOS.
2.2.10 SEGURIDAD EN BASE DE DATOS DISTRIBUIDA
2.2.11 TRANSACCIONES DISTRIBUIDAS.
2.2.12 INTEGRIDAD DE DATOS EN ENTORNOS
DISTRIBUIDOS
25
27
28
30
30
2.3 GLOSARIO DE TERMINOS BSICOS 34
CAPTULO III
METODOLOGA
3.1 TIPO Y DISEO DE INVESTIGACIN.. 37
3.1.1 TIPO DE INVESTIGACIN. 37
3.2
3.3
3.1.2 DISEO DE INVESTIGACIN...
MTODO......................................
UNIDAD DE ANLISIS..
37
38
38
CAPTULO IV
RESULTADOS Y DISCUSIN
4.1 ANLISIS DE BASE DE DATOS RELACIONALES. 39
4.1.1 TIPOS DE SISTEMA DE GESTIN DE BASE DE
DATOS.
39
4.1.2 CARACTERSTICAS DE BASE DE DATOS
RELACIONAL.
4.1.3 VENTAJAS Y DESVENTAJAS
4.1.4 DISEO DE LAS BASES DE DATOS
RELACIONALES
40
40
41
4.2 ANLISIS DE BASE DE DATOS NO RELACIONALES..
4.2.1 PORQUE UTILIZAR BASE DE DATOS NoSQL.
42
43
4.3
4.2.2 EJEMPLOS DE BASES DE DATOS NOSQL.
4.2.3 POR QU APARECEN LOS SISTEMAS NOSQL..
PRUEBA DE RENDIMIENTO BASE DE DATOS..
43
44
48
-
v
4.3.1 DEFINICIN DE AMBIENTE DE PRUEBA..
4.3.2 ANLISIS COMPRATIVO...
4.3.3 EVALUACIN DE RESULTADOS.
48
51
64
CONCLUSICIONES 67
RECOMENDACIONES 69
BIBLIOGRAFA. 70
-
vi
INDICE DE CUADROS
Pg.
Cuadro 1 Especificaciones tcnicas base de datos Postgre
........... 44
Cuadro 2 Especificaciones tcnicas base de datos Mongo .....
44
Cuadro 3 Especificaciones tcnicas base de datos MySQL..
.......... 44
Cuadro 4 Especificaciones de escenarios.. ..... 45
Cuadro 5 Estructura de la tabla/coleccin para los escenario
..... 45
Cuadro 6 Variables para evaluacin.. ...... 46
Cuadro 7 Tiempos de insercin escenario N 1. .... 47
Cuadro 8 Tiempos de insercin escenario N 2. .... 47
Cuadro 9 Consumo de recursos escenario N 1. ....... 48
Cuadro 10 Consumo de recursos escenario N 2 .. 51
Cuadro 11 Errores de insercin en escenario N 1......... ..
55
Cuadro 12 Errores de insercin en escenario N 2......... ..
56
Cuadro 13 Error de acceso de BD. En escenario N 1... .. 57
Cuadro 14 Error de acceso de BD. En escenario N 2... .. 58
Cuadro 15 Resumen de pruebas .......... .. 60
-
vii
INDICE DE FIGURAS
Pg.
Figura 1: Topologas de Redes de Comunicacin ....... 27
Figura 2: Paginacin escenario N 1 ................. 48
Figura 3: Acceso a disco fsico en escenario N 1 ...... 49
Figura 4: Uso de procesador en escenario N 1 .......... 50
Figura 5: Consumo de memoria RAM en escenario N 1 ...... 51
Figura 6: Paginacin en escenario N 2 ........ 52
Figura 7: Acceso a disco fsico en escenario N 2... ...... 52
Figura 8: Uso de procesador en escenario N 2 ....... 53
Figura 9: Consum de memoria RAM en escenario N 2 ...... 54
Figura 10: Porcentaje de errores de insercin en escen. N 1 .....
55
Figura 11: Porcentaje de errores de insercin en escen. N 2 .....
56
Figura 12: Porcentaje de errores de acceso a bd. N 1 ........
58
Figura 13: Porcentaje de errores de acceso a bd. N 2 ........
59
Figura 14:Porcentaje de xito en implementacin. de solucin
............. 60
-
viii
RESUMEN
Esta tesis describe el anlisis de mtricas de performance en
administracin
de bases de datos distribuidas en Internet, para cumplir con
dicho objetivo se
hizo el anlisis de bases de datos relacionales y no relacionales
y finalmente
se hizo un anlisis comparativo entre las bases de datos
relacionales y no
relacionales. La metodologa empleada para cumplir con los
objetivos se
emple el mtodo analtico pues se har un anlisis de las ventajas
y
desventajas de Software MongoDB, MySQL y PostgreSQL. Este
trabajo
de investigacin pretende proponer una alternativa de base de
datos que es
el de tipo de no relacional (NoSQL) frente a las bases de datos
de tipo
relacional, de forma que puedan ser competitivas y hagan uso de
las
tecnologas emergentes que abordan las necesidades de hoy en da.
Las
conclusiones de la investigacin luego de realizado el anlisis de
mtricas de
performance en administracin de bases de datos distribuidas en
Internet se
concluye que la mejor opcin al momento de implementar una
solucin para
el desarrollo datos NoSQL documental, ya que el porcentaje de
tener xito
es del 70%, el cual es notablemente superior al caso en el que
se
implemente una base de datos relacional.
Palabras clave: anlisis, Base de datos, Internet
-
ix
ABSTRACT
This thesis describes the analyze of metric of performance in
administration of
data base in internet distributions, for carrying out with that
objective we did
the analyze of relational and not relational data base and
finally we did
comparative analysis between relational and not relational data
base. The
methodology used for carying out with the objectives were
analitic method it
will be analyze of advantange and disadvantange of Software
"Mongo,DB,MySQL and PostgreeSQL" . This work of research tries
to propose
an alternative of data base which is the kind of not relational
(NoSQL) beside
the data base of kind relational, it can be competetives and it
uses the
emerging tecnhologies to approach the necesities of today's. The
conclusions
of the research was realized the analyzes of metric of
performance in
administration of data base in internet distributions we
conclude that the best
option in the moment of implement a solution for developmenting
documental
NoSQL datas, the achivement of percentage is 70%, which is the
highest
notably in the case when we implements a relational data
base.
Key word: analysis, data base, internet.
.
-
1
INTRODUCCIN
Actualmente las organizaciones que manejan bases de datos operan
con
gran cantidad de datos, esto se debe a la cantidad de usuarios,
aplicaciones
y necesidades internas o externas. Tanto es el crecimiento de
estas
tecnologas que no es mantenible ni escalable continuar en
algunos casos
con los mismos motores de bases de datos ya que dificulta la
administracin y mantenimiento de la informacin.
Hasta ahora se pueden identificar a grandes rasgos dos
tecnologas de
gestin para el almacenamiento de datos: Las basadas en SQL y las
que
no siguen este estndar, denominadas NoSQL; las primeras son
las
mayormente conocidas como MySQL y Oracle de la compaa
Oracle,
SQL Server de Microsoft, PostgreSQL de PostgreSQL Global
Developer
Group.
Las bases de datos NoSQL surgieron como consecuencia de los
rendimientos de los motores basados en SQL, ya que no cumplan
las
expectativas de tiempo de respuesta. Esta siguiente generacin de
sistemas
de gestin de bases de datos contiene unas caractersticas
particulares, ya
que es no relacional, distribuida, de cdigo abierto y
horizontalmente
escalable estas caractersticas se explicarn en detalle ms
adelante-,
de esta forma se optimiza el tiempo de consulta sobre las bases
de datos y
soportan una mayor cantidad de datos.
La presente tesis se encuentra dividida por cuatro captulos,
exponiendo a
continuacin
-
2
En el CAPITULO I, se identifica el problema y objetivos de
estudio por
los cuales se va a desarrollar la investigacin.
En el CAPITULO II, se realiza un anlisis de las base de datos
y
sistemas distribuidos
En el CAPITULO III, se describe la metodologa de
investigacin
En el CAPITULO IV, se da a conocer el anlisis y resultados
de
la investigacin.
Finalmente se adiciona las conclusiones, recomendaciones,
bibliografa y
anexos de la investigacin desarrollada
-
3
CAPITULO I
PROBLEMTICA DE INVESTIGACIN
1.1 DESCRIPCIN DEL PROBLEMA
En la actualidad las bases de datos facilita el almacenamiento
de
informacin lo cual se ha vuelto indispensable para cualquier
institucin
o empresa que maneja bases de datos que contengan informacin
til; el
problema radica en la sobrecarga de base de datos en un solo
servidor, ya
que por el crecimiento de cualquier institucin o empresa
requiere que sus
servidores estn fsicamente esparcidos en varios sitios de la
red.
Cada sitio es un sistema de base de datos en s mismo, con el fin
de
que un usuario de cualquier sitio de la red pueda obtener acceso
a los datos,
tal como si todos los datos estuvieran almacenados en un solo
servidor, es
en realidad una especie de objeto virtual, cuyos datos se
almacenan
fsicamente en varias bases de datos reales pero ubicadas en
diferentes
sitios.
La disponibilidad de las bases de datos y de las redes de
computadoras ha promovido el desarrollo de un nuevo campo
denominado
bases de datos distribuidos. La utilizacin de bases de datos
distribuidos representa una solucin viable para instituciones o
empresas
-
4
que manejen una gran cantidad de informacin y estn esparcidas en
varios
servidores o sitios de la red.
1.1.1 FORMULACIN DEL PROBLEMA
Concretando el inters de esta investigacin y de lo
expuesto anteriormente, se plante la siguiente interrogante:
De qu manera se puede realizar el anlisis de mtricas de
performance en
la administracin de bases de datos distribuidas en internet?
1.2 OBJETIVOS DE LA INVESTIGACIN
Se plante los siguientes objetivos:
1.2.1 OBJETIVO GENERAL
Realizar un anlisis de mtricas de performance en
administracin
de bases de datos distribuidas en Internet.
1.2.2 OBJETIVOS ESPECFICOS Analizar las bases de datos
Relacionales
Analizar las bases de datos no Relacionales
Realizar las pruebas de rendimiento de bases de datos no
relacional
versus las bases de datos relacionales
-
5
CAPITULO II
MARCO TERICO
2.1 ANTECEDENTES DE LA INVESTIGACIN
2.1.1 INVESTIGACIONES DE NIVEL INTERNACIONAL
MENNDEZ LEONEL DE CERVANTES, Antonio Francisco
(2009). Planificacin de sistemas distribuidos en tiempo real.
Tesis para
optar el grado de Doctor de Ingeniera Computacin. Mxico.
Universidad nacional Autnoma de Mxico.
Dicho trabajo de investigacin estudia el comportamiento de
los
sistemas distribuidos en tiempo real y plantea dos
contribuciones para
realizar un anlisis ms acucioso de dichos sistemas: en primer
lugar se
plantea una mtrica de disponibilidad de nodos que participan en
un
sistema distribuido, esta mtrica adems de proponer como evaluar
dicha
disponibilidad, permite tambin evaluar el rendimiento del
sistema distribuido.
La segunda contribucin del trabajo, plantea la necesidad y la
posibilidad de
tener un planificador global para los sistemas distribuidos en
tiempo real.
Se presentan dos casos de estudio en los que se pueden apreciar
tanto
la viabilidad como las caractersticas de ambas contribuciones;
en el primer
-
6
caso de estudio se implementa la mtrica de disponibilidad del
nodo en un
sistema distribuido de alto rendimiento (Cluster), en donde la
mtrica
permite obtener un uso equitativo del sistema distribuido al
balancear la
carga entre los nodos participantes con lo que se logra un buen
rendimiento
del sistema distribuido y un incremento en su desempeo al
compararlo con
otras tcnicas de distribucin de cargas. En el segundo caso de
estudio se
utiliza el planificador global propuesto para planificar un
sistema distribuido
de control en tiempo- real. El uso de este planificador presenta
entre otras
ventajas la posibilidad de encontrar las cotas de muestreo del
sistema que le
permitan operar dentro de los lmites de desempeo aceptable as
como la
velocidad de transmisin que debe tener la red de
comunicaciones.
PALENCIA GUTIRREZ, Jos Carlos (1999). Anlisis de
planificabilidad de sistemas distribuidos de tiempo real basados
en
prioridades fijas. Tesis para optar el grado de Doctor.
Santander.
Universidad de Cantabria.
En la tesis doctoral se estudia el anlisis de sistemas de tiempo
real en los
que se debe verificar el cumplimiento de ciertos requerimientos
temporales,
principalmente referidos a plazos mximos de ejecucin. Esta
verificacin se
realiza mediante el anlisis de planificabilidad basado en el
clculo de
tiempos de respuesta de peor. El estudio se centra en los
sistemas
multiprocesadores y distribuidos gobernados por eventos y
planificados
mediante polticas basadas en asignacin de prioridades fijas.
Dentro de
este mbito no se conocen tcnicas exactas de anlisis, de manera
que
parte de la investigacin se ha orientado a la bsqueda de
tcnicas
-
7
analticas aproximadas que verifiquen suficientemente el
cumplimiento de los
requisitos temporales. El trabajo presentado en esta tesis se
dirige
bsicamente a esa bsqueda. Por un lado, se centra en la
formalizacin y
optimizacin de las tcnicas de anlisis previamente desarrolladas
por otros
autores, mediante modelos que aproximan el comportamiento real
de los
sistemas distribuidos de forma que sean analizables, aunque
introduciendo
con ello cierto pesimismo, que hace que el anlisis no resulte
exacto, pero s
suficiente. Por otro lado, la tesis se centra en la bsqueda de
un nuevo
modelo que permita reducir el pesimismo en el anlisis. El modelo
que se
propone es el basado en tareas con offsets dinmicos, mediante el
que se
consiguen mejoras sustanciales frente a los modelos
anteriormente
utilizados. Tambin se optimiza el anlisis al considerar las
relaciones de
precedencia en la ejecucin de tareas dentro del sistema
distribuido. La
inclusin de estas relaciones de precedencia cuando deducimos
las
expresiones analticas que conducen a la obtencin de los tiempos
de
respuesta hace que se reduzca fuertemente el pesimismo. Este
modelo se
ha encontrado tambin adecuado para el anlisis de tareas que
se
suspenden o para el anlisis de tareas con prioridades variantes,
dentro de
sistemas multiprocesadores y distribuidos.
CAMPOVERDE BORJA, Henry Daniel (2012). Desarrollo de
aplicaciones web mediante HTML5 y la base de datos NoSQL
mongo
DB. Tesis para optar el ttulo de Ingeniero en Sistemas.
Ecuador.
Universidad del Azuay.
HTML desde su primera versin descrita tiempos atrs, ha ido
evolucionando
-
8
hasta llegar a su actual versin HTML5. Esta tesis est basado en
aquella
nueva versin, desarrollando as una aplicacin web orientada a
redes
sociales, con el objetivo de exponer cambios y mejoras que han
surgido a la
par con HTML5 y aadiendo una nueva alternativa para el
almacenamiento
de datos como lo es MongoDB, una base de datos NoSQL, que
intenta solventar limitaciones del modelo relacional al momento
de trabajar
con una cantidad masiva de datos.
RUIZ CARRETE, Jos Guadalupe (2004). Procesamiento de
consultas
en bases de datos paralelas. Tesis para optar el grado de
Maestro en Ciencias en la Especialidad de Computacin. Mxico.
Centro
de Investigacin y de Estudios Avanzados del IPN.
En aos recientes, se ha producido un incremento continuo en
la
cantidad de datos manipulados por los sistemas manejadores de
bases de
datos (DBMS). Ms an, ya no resulta extrao para un DBMS
manipular
bases de datos con tamaos que van desde los cientos de
gigabytes
hasta terabytes. Por otra parte, los sistemas con mltiples
procesadores son
cada vez ms accesibles, por lo que es posible aplicar cmputo
paralelo para
procesar grandes volmenes de informacin en las bases de
datos.
El procesamiento de juntas (joins) en bases de datos, es una
operacin
que demanda muchos recursos de cmputo, sobre todo en bases de
datos
grandes. Para resolver este problema se hace necesario combinar
tcnicas
de bases de datos (especialmente bases de datos distribuidas
y
procesamiento paralelo) para reducir los tiempos de respuesta a
los usuarios
de una base de datos grande. En este trabajo, se muestran
algoritmos para
-
9
realizar cada una de las etapas involucradas en la implementacin
de una
base de datos en paralelo. Los algoritmos son desarrollados en C
haciendo
uso de la interfaz de paso de mensajes (MPI)
2.1.2 INVESTIGACIONES DE NIVEL NACIONAL PRO CONCEPCION, Luzmila
Elisa (2010). Base de datos
distribuidos usando algoritmos genticos para optimizacin de
proceso
transaccin en la Web. Tesis para optar el grado acadmico de
Doctor en Ingeniera. Lima-Per. Universidad Nacional Federico
Villareal.
La tesis est orientada al crecimiento y evolucin del servidor
web de
una manera econmica y escalable que lleva a un rendimiento
ptimo. Por
consiguiente, existe la necesidad de estudiar los procesos de
transacciones
del sistema, de tal manera que se aplique otra alternativa como
algoritmos
genticos para optimizar el proceso de transaccin en el servidor,
a fin de
as mejorar los procesos del servidor web y mejorar la atencin a
los
clientes/usuarios.
El objetivo es implementar un simulador de transacciones
orientado a la
toma de decisiones del administrador de transacciones con la
aplicacin de
algoritmos genticos. Se us los algoritmos genticos para
determinar que
transaccin se debe tomar para asignarlo en la cola de
procesos.
Las conclusiones de esta tesis son: se ha realizado un anlisis
de los
modelos de transacciones que operan actualmente y se ha
extrado
tales mecanismos para llevarlo a un proceso de toma de
decisiones en
funcin de los algoritmos genticos.
-
10
Se ha implementado un simulador prototipo para un sistema de
aplicacin
con algoritmos genticos, para optimizar el proceso de
transaccin, antes de
procesar datos, se evaluaran los procesos de transacciones
sobre: tiempo
de simulacin, nmero de transacciones, tiempo de la transaccin,
numero
de recursos, longitud de la cola del recurso. Probabilidad
de
cruzamiento, probabilidad de mutacin, transacciones en cola,
atendidos, en
lectura, en escritura, tiempo consumido, y se consigue los
resultados de
procesos ptimos; el tiempo de procesamiento de datos mediante
el
simulador es menor que el tiempo de procesamiento de datos que
en el
procesador convencional, mejor uso del recurso de la
computadora.
OATE LLERENA, Luis Robert (2005). Diseo de bases de
datos distribuida empleando la arquitectura de replicacin
Oracle. Tesis
para optar el Ttulo Profesional de Ingeniero de Sistemas.
Trujillo- Per.
Universidad Nacional de Trujillo.
La cantidad de innovaciones tecnolgicas que ha habido ha
promovido
un cambio en la forma de observar a los sistemas de informacin
y, en
general, a las aplicaciones computacionales. Existen avances
tecnolgicos que se realizan continuamente en circuitos,
dispositivos
de almacenamiento, programas y metodologas. Sin embargo, los
cambios
tecnolgicos van de la mano con la demanda de los usuarios y
programas
para la explotacin exhaustiva de tales dispositivos mejorados.
Por tanto,
existe un continuo desarrollo de nuevos productos los cuales
incorporan
ideas nuevas desarrolladas por compaas e instituciones
acadmicas.
-
11
Un rea en la cual las soluciones estn integrando tecnologa
con
nuevas arquitecturas o formas de hacer las cosas es, sin lugar a
dudas, el
rea de los sistemas distribuidos de informacin. Ellos se
refieren al
manejo de datos almacenados en facilidades de cmputo localizadas
en
muchos sitios ligados a travs de una red de comunicaciones. Un
caso
especfico de estos sistemas distribuidos es lo que se conoce
como bases de
datos distribuidas. Las razones por las que compaas y negocios
migran
hacia bases de datos distribuidas incluyen razones
organizacionales y
econmicas, para obtener una interconexin confiable y flexible
con las
bases de datos existentes, y por un crecimiento futuro. El
enfoque distribuido
de las bases de datos se adapta ms naturalmente a la estructura
de las
organizaciones. Adems, la necesidad de desarrollar una aplicacin
global
(que incluya a toda la organizacin), se resuelve fcilmente con
bases de
datos distribuidas. Si una organizacin crece por medio de la
creacin de
unidades o departamentos nuevos, entonces, el enfoque de bases
de datos
distribuidas permite un crecimiento suave.
-
12
2.2 MARCO REFERENCIAL
2.2.1 SISTEMAS DISTRIBUIDOS
Un sistema distribuido consiste de una coleccin de
computadoras
autnomas, unidas por una red de cmputo y equipadas con
software
especfico (Colouris, 2001).
Un sistema distribuido es una coleccin de computadoras
independientes que aparecen ante los usuarios del sistema como
una nica
computadora (Tanenbaum, 1996).
El desarrollo de la tecnologa y en particular la de los
sistemas
distribuidos de cmputo ha tenido como metas a alcanzar, el tener
sistemas
cada vez ms rpidos, eficientes, confiables, precisos y
adaptables. Algunos
sistemas buscan brindar mayor calidad de servicio y rapidez al
aumentar
el nmero de servidores. En los sistemas de misin crtica, lo que
se busca
es la continuidad en la operacin del sistema, donde lo ms
importante no es
la rapidez sino su disponibilidad, an a expensas de realizar
inversiones
redundantes en tecnologa que slo ser usada en caso de falla. En
otro
tipo de sistemas lo que se busca es la precisin o capacidad de
cmputo,
pasando a un segundo plano el tiempo que el sistema tarde en
entregar los
resultados. Otro tipo de necesidades son aquellas que surgen
cuando lo
ms importante es el tiempo de entrega, si el resultado es
correcto pero
tardo, se convierte en invlido para todo el sistema, o peor an,
ocasiona
que el sistema se colapse; este ltimo tipo de sistema se conocen
como
Sistemas de Tiempo - Real (Garcia, 2003).
-
13
2.2.2 BASE DE DATOS DISTRIBUIDAS
Las BDD aportan las ventajas de la computacin distribuida al
dominio de
la gestin de BD. Un sistema de cmputo distribuido consiste en
un
conjunto de elementos de procesamiento, no necesariamente
homogneos,
que estn interconectados por una red de computadoras, y que
cooperan en
la ejecucin de ciertas tareas asignadas. Como objetivo general,
los
sistemas de cmputo distribuido dividen un problema grande y, a
veces,
inmanejable, en piezas ms pequeas y las resuelven eficientemente
de
forma coordinada. La viabilidad econmica de este enfoque
proviene de dos
razones:
Se aprovecha ms la potencia de la estacin de trabajo para
resolver tareas complejas.
Cada elemento de procesamiento autnomo se puede gestionar
independientemente y puede desarrollar mejor sus
aplicaciones.
Ahora es posible definir a una Base de Datos Distribuida
desde
diferentes puntos de vista, se plantean a continuacin
algunas
definiciones:
Una Base de Datos Distribuida es una nica base de datos lgica
que
est fsicamente separada en varias computadoras que se
encuentran
conectadas por una red de comunicaciones. Generalmente, la
administracin de Base de Datos Distribuida se encuentra
centralizada como un recurso corporativo mientras que se
provee
flexibilidad y manejo local (Burleson, 1994).
Una Base de Datos Distribuida es una coleccin de mltiples
Base
-
14
de Datos, lgicamente interrelacionadas, diseminadas sobre una
red de
computadoras. Un DBMS1 distribuido (DDBMS) es un sistema de
software que permite la administracin de la Base de Datos
Distribuida y
hace que esa distribucin permanezca transparente al usuario
(Ozsu
& Valduriez,1996).
1 DataBase Management System: es una coleccin de programas que
permite a un
usuario crear, manipular y mantener una Base de Datos
-
15
Una Base de Datos Distribuida no es una coleccin de archivos
que
pueden ser almacenados individualmente en cada nodo o estacin
de
trabajo de una red. Para formar una Base de Datos Distribuida
estos archivos
necesariamente deben estar interrelacionados, permitiendo un
acceso va
una interfaz comn.
El objetivo principal para la distribucin de datos es proveer un
acceso
sencillo a la informacin por parte de los usuarios de mltiples
localidades o
nodos de trabajo de una red de computadoras. Para alcanzar este
objetivo,
los sistemas de base de datos distribuidos deben de proveer
transparencia
de ubicacin, que significa que el usuario no necesita conocer la
localizacin
fsica de cada dato dentro de la red. Idealmente, la informacin
en la red
aparece como si fuera parte de una base de datos convencional
(no
distribuida) almacenada en un sitio central, hacia donde todos
los usuarios
convergen (Bobak, 1993).
2.2.2.1 TIPOS DE BASE DE DATOS DISTRIBUIDAS
El trmino DDBMS puede describir diversos sistemas que
presentan
muchas diferencias entre s. El punto principal que todos estos
sistemas
tienen en comn es el hecho que los datos y el software estn
distribuidos
entre mltiples sitios conectados por alguna especie de red
de
comunicaciones. Se discutir a continuacin varios tipos de DDBMS
y los
criterios y factores que distinguen a algunos de estos sistemas
(Bell &
Grimson, 1992).
El primer factor que se considera es el grado de
homogeneidad
del software del DDBMS. Si todas las estaciones de trabajo
utilizan software
-
16
idntico, al igual que todos los usuarios de la Base de Datos
Distribuida,
en este caso en ambiente ser homogneo, en caso contrario se dice
que el
sistema es heterogneo. Otro factor relacionado con el grado
de homogeneidad es el grado de autonoma local. Si el sitio local
no
puede funcionar como un DBMS autnomo, el sistema no tiene
autonoma
local. Por otro lado, si se permite a las transacciones locales
acceder
directamente al nodo servidor, el sistema tendr cierto grado de
autonoma
local.
En un extremo de la gama de autonoma, tenemos un DDBMS que
da
al usuario la impresin de ser un DBMS centralizado. Solo hay un
esquema
conceptual del modelo de datos y todo acceso al sistema rehace a
travs de
un sitio que es parte del DDBMS, de modo que no hay autonoma
local. En el
otro extremos se encuentran con un DBMS distribuido
denominado
Federativo o Federado (o sistemas con mltiples Base de Datos).
En un
sistema as, cada servidor es un DBMS centralizado independiente
y
autnomo que tiene sus propios usuarios locales, transacciones
locales y
Administrador de Base de Datos (DBA), por tanto posee un alto
grado de
autonoma local. El trmino bases de datos federales (BDF) se
utiliza cuando
algn esquema de la federacin de Base de Datos es compartido por
las
aplicaciones. Por otro lado, un sistema de mltiples Base de
Datos no tiene
un esquema global e interactivamente construye uno segn la
aplicacin que
lo necesita. Los dos sistemas son hbridos entre sistemas
centralizados y
distribuidos, y la distincin que se hace entre ellos no se sigue
estrictamente.
Se hace referencia a ambos como DBF en un sentido genrico.
-
17
2.2.2.2 OBJETIVOS DE UNA BASE DE DATOS DISTRIBUIDA
Existen varias condiciones de negocio que alientan el uso de
Base de
Datos Distribuida (Breitbart, Komondoor, Rastogi, Seshadri,
&
Silberschatz,1999):
Distribucin y autonoma de unidades de negocio. Las
organizaciones se
encuentran esparcidas geogrficamente y cada unidad
organizacional
necesita disponer de sus datos en forma local.
Compartir los datos. Las decisiones empresariales se toman en
funcin
de las necesidades globales de la empresa.
Costo y disponibilidad en las comunicaciones de datos. El costo
de las
comunicaciones es generalmente elevado. Mantener copias locales
de
los datos es una forma confiable y econmica para tener un
acceso
rpido y econmico a la informacin dentro de la organizacin.
Recuperacin de Base de datos. Replicar la informacin en
diferentes
estaciones de trabajo es una estrategia para asegurar que una
Base de
Datos daada pueda ser rpidamente recuperada, permitiendo de
esa forma aumentar la disponibilidad de los datos.
Los principales objetivos que se persiguen con Base de Datos
Distribuida consisten en proveer al usuario de un acceso a los
datos desde
diferentes ubicaciones. Desde aqu se pueden derivar algunas
consideraciones que deben estar provistas en los sistemas
que
soporten distribucin de informacin:
Transparencia de localizacin: el usuario no debe conocer la
ubicacin de
los datos para poder acceder a ellos.
-
18
Autonoma local: cada sitio donde residan datos tiene el control
exclusivo
sobre ellos. Esto se logra mediante un DBMS que acta como
administrador local de los datos. Cada sitio, si bien cuenta con
autonoma,
coopera con el resto de los sitios, compartiendo la informacin
y
controlando el uso correcto de la misma Comparado con las Bases
de
Datos centralizadas, una Base de Datos Distribuida presenta
ventajas
que se describen a continuacin:
Incrementar la fiabilidad y disponibilidad
Control local de los datos
Crecimiento modular
Menor costo en las comunicaciones
Mejor tiempo de respuesta
2.2.3 BASE DE DATOS CENTRALIZADA
Los sistemas centralizados han sido utilizados durante tres
dcadas
(60, 70, 80) como base para la tecnologa de informacin, pero
desde
mediados de los 90, algunos nuevos aspectos surgieron para
tender hacia la
utilizacin de sistemas distribuidos como soporte para la
tecnologa de
informacin (Simon,1996):
Avances en tecnologa de computadoras y de comunicaciones
utilizadas para implementar la infraestructura de tecnologas
de
informacin.
Crecimiento en las aplicaciones que llevan a la tecnologa
de informacin hacia niveles operacionales, administrativos y
-
19
estratgicos de las organizaciones.
Permitir que las estructuras organizacionales se adapten
rpidamente
a los cambios en los ambientes de negocios.
Los cambios producidos en la dcada del 90 que motivan
avances tecnolgicos para la IT pueden resumirse en:
Mejora en la infraestructura y diseo de aplicaciones para la
tecnologa
de informacin.
Evolucin contina en computadoras personales (estaciones de
trabajo)
Posibilidad de interconexin de estaciones de trabajo (redes
de computadoras)
Servicios de informacin de rea global (bsicamente internet)
2.2.4 SISTEMAS CENTRALIZADOS Y SISTEMAS DISTRIBUIDOS
La perspectiva histrica sobre la evolucin de los sistemas
distribuidos
revela un nmero de ventajas y desventajas. En general, para el
desarrollo
actual y futuro de sistema de informacin tanto las polticas
centralizadas
como las distribuidas deberan ser tenidas en cuenta. Un
sistema
centralizado puede ser muy til para el usuario final y puede
ofrecer
una mejor seguridad, integridad de informacin y funcionalidad
(Colouris,
2001).
Los sistemas distribuidos, adems, tiene asociadas diferentes
caractersticas que pueden presentar tanto ventajas como
desventajas
operativas. Estos pros y contras deben ser cuidadosamente
analizados en
funcin de cada problema particular, para que, de esta forma, la
decisin de
utilizacin o no se tome en forma correcta.
-
20
Se presentan a continuacin ciertos pros y contras de los
sistemas distribuidos. Como aspectos positivos se pueden
mencionar:
Mayor flexibilidad: las componentes de un sistema distribuido
pueden
ser agregadas, actualizadas, mudadas de sitio o directamente
removidas sin afectarse entre s.
Autonoma local: cada estacin de trabajo (nodo o localidad)
tiene
el control absoluto de sus recursos.
Mejoras en la fiabilidad y disponibilidad: los sistemas
centralizados
son ms vulnerables a cadas. Si el sitio central deja de
operar,
todos los usuarios se ven imposibilitados de trabajar. Los
sistemas
distribuidos tienen mltiples componentes del mismo tipo,
configurados
independientemente y de manera tal que el sistema es tolerante
a
fallos (si una estacin de trabajo no responde otra tomar su
lugar y el
cliente, en general, podr satisfacer sus necesidades).
Mejoras en la performance: al separar los servicios del
sistema
en mltiples localidades, el usuario podr acceder ms rpidamente
a
los recursos. Adems, es posible lograr un mayor nivel de
paralelismo
en el acceso a los datos.
Entre las desventajas asociadas a los sistemas distribuidos
pueden mencionarse:
Sistemas ms difciles de controlar debido al nmero creciente
de recursos en el mismo.
Mayor dificultad para brindar seguridad. Los sistemas
distribuidos
son ms propensos a ataques, la autonoma local puede hacer
-
21
que una localidad deje puertas abiertas por donde puedan
efectuarse
accesos indebidos. El control sobre la seguridad de los
recursos
resulta ms complejo.
Las herramientas de desarrollo de sistemas distribuidos y el
personal
que las pueden utilizar son ms escasos. La experiencia en el
desarrollo y utilizacin de herramientas est ms enfocada
hacia
sistemas centralizados.
Reducir la fiabilidad y disponibilidad. Claramente se observa
que
esta caracterstica est definida previamente como una ventaja.
Cmo
debe, entonces, ser interpretada? Los sistemas centralizados
pueden
ofrecer control fsico, operacional y condiciones de ambiente con
ms
experiencia de desarrollo, esto significa que los sistemas
deberan ser
ms fiables y deberan estar disponibles antes en el tiempo.
Los
sistemas distribuidos, por el contrario, agregan ms aspectos que
los
hacen ms proclives a fallos, ms difciles de probar y que
necesitan
ms recursos humanos y de tiempo para su desarrollo.
2.2.5 REDES DE COMPUTADORAS
Se define una red de computadoras como una coleccin de
estaciones
de trabajo autnomas que son capaces de intercambiar informacin
entre
ellas. Las claves de la definicin son: interconexin y autonoma.
El concepto
de autonoma, ya definido previamente, es una necesidad bsica
para la
generacin de una Base de Datos Distribuidas (Tanenbaum,
1996).
Existen varios criterios para clasificar redes de computadoras.
Un
criterio es la estructura de interconexin, otro es el modo de
transmisin, y el
-
22
tercero lo representa la distribucin geogrfica.
De acuerdo con la estructura de interconexin, denominado
topologa,
se pueden clasificar las redes como: Estrella, Anillo,
Jerrquica, Anidada, etc.
En trminos de esquemas de comunicacin pueden ser redes punto a
punto
o redes multipunto. En las redes punto a punto cada par de nodos
se conecta
entre ellos, y no comparten el canal con otros nodos, mientras
que una red
multipunto posee un canal comn de comunicaciones, el cual es
utilizado por
cada estacin de trabajo de la red. Por ltimo, y de acuerdo a la
distribucin
geogrfica, se pueden caracterizar las redes en WAN (Wide Area
Network) o
LAN (Local Area Network) (Hallsall, 1992).
Las redes WAN pueden estar constituidas tanto con topologa
multipunto como punto a punto. El medio fundamental de
transmisin
para topologa multipunto se denomina broadcast (en lneas
generales, se
enva un mensaje al medio, donde todos los nodos escuchan, y solo
la
estacin de trabajo destinataria responde al mismo). Las redes
WAN con
topologa punto a punto pueden tener diversos tipos de
conexiones,
estrella, anillo, etc. como se plante en el prrafo anterior.
Las redes WAN comnmente estn compuestas por equipos
heterogneos que requieren que el medio de transmisin sea capaz
de
adaptarse a esta heterogeneidad. Para ello, se dispone de
estandarizaciones que solucionan el problema. La arquitectura
de
interconexin de la ISO/OSI para sistemas abiertos (open systems)
es una
variante posible.
-
23
Las redes LAN son redes limitadas geogrficamente. Proveen un
mayor ancho de banda para las comunicaciones. Los medios de
comunicacin son, generalmente, cables (pticos, coaxiles o
estructurados)
aunque en algunos casos la comunicacin puede hacerse wireless
(sin
cable). Estos medios proveen un mejor ancho de banda para
establecer las
comunicaciones y una mejor performance en las transmisiones.
En
general, una red LAN provee mejores oportunidades de trabajo,
como
distribuir el proceso de control de aplicaciones, servidores de
archivos
centralizados, disminuir el costo de almacenamiento secundario,
etc.
Las necesidades de mercado actual hacen necesario compartir
ambas ideas
de redes. Esto es, una organizacin puede tener, en distintas
ubicaciones, redes LAN; de esta forma, se mejora las
prestaciones que
necesitan localmente los usuarios. Adems, cada una de estas
redes
son interconectadas para compartir informacin, generando as una
red
WAN. En estos casos, el medio ms utilizado para establecer
la
comunicacin entre redes LAN ser Internet.
2.2.6 TECNOLOGA DE LA INFORMACIN
Las organizaciones actuales se estn expandiendo ms all de
los
lmites geogrficos tradicionales en bsqueda de nuevas
oportunidades de
negocios, nuevos clientes, nuevos mercados, tratando de mejorar
su
viabilidad financiera y organizacional. Esto deriva en la
necesidad de
una Tecnologa de Informacin ms flexible y productiva que soporte
el
incremento innovador de los sistemas de informacin. Las
organizaciones
estn creando infraestructuras de tecnologas de informacin
que
-
24
soporten el envo de informacin, experiencia y servicios de
acuerdo a
la demanda existente en tiempo y forma correcta para estaciones
de trabajo
tanto fijas o mviles.
La industria de la tecnologa de informacin evoluciona hacia un
cambio
innovador. Las estaciones de trabajo se transforman desde lo que
se puede
llamar cmputo intensivo hacia comunicacin intensiva
(informacin
intensiva), agregando la utilizacin de datos multimediales. En
conclusin,
el objetivo fundamental de diseo de la tecnologa de sistemas
distribuidos apunta a presentar al usuario la ilusin que todos
los
recursos se localizan en su estacin de trabajo. Un sistema
distribuido en
este contexto es simplemente una coleccin de computadoras
autnomas,
conectadas por una red, que permite compartir recursos y la
cooperacin
entre aplicaciones, con la finalidad de responder ante una tarea
dada (Simon,
1996).
2.2.7 LA NECESIDAD DE DISTRIBUIR DATOS
El objetivo principal para la distribucin de datos es proveer un
acceso
sencillo a la informacin por parte de los usuarios de mltiples
localidades o
nodos de trabajo de una red de computadoras. Para alcanzar este
objetivo,
los sistemas de Base de Datos Distribuidos deben proveer
transparencia de
ubicacin, que significa que el usuario no necesita conocer la
localizacin
fsica de cada dato dentro de la red. Idealmente, la informacin
en la red
aparece como si fuera parte de una Base de Datos convencional
(no
distribuida) almacenada en un sitio central, hacia donde todos
los usuarios
convergen (Bobak, 1993).
-
25
2.2.8 BASE DE DATOS Y DBMS
Una Base de Datos es una componente ms de los sistemas de
informacin. Se puede definir una Base de Datos de diversas
formas:
Coleccin de datos interrelacionados (Elmasri & Navathe,
2002). Coleccin de archivos diseados para servir a mltiples
aplicaciones
(Silberschatz, Korth, & Sudarshan, 1998) Contenedor para
relaciones variables, el contenido de una BD dada
en cualquier momento de tiempo es un conjunto de relaciones
variables (Darwen, 1998).
Las definiciones de Base de Datos precedentes son muy generales,
por
ejemplo se puede considerar que la coleccin de palabras que
conforman
esta pgina de texto estn relacionadas y, por ende, constituyen
una
Base de Datos. No obstante, el uso comn de Base de Datos es
ms
restrictivo. Una Base de Datos tiene un conjunto de propiedades
implcitas:
Representa algn aspecto del mundo real. Los cambios de este
mundo real se reflejan en la Base de Datos.
Es una coleccin lgicamente coherente de datos con algn tipo
de significados inherente. En general, cualquier ordenamiento
aleatorio
de datos no representa una Base de Datos, como lo seran las
palabras
que conforman esta pgina del texto.
Una Base de Datos es diseada, construida y manipulada con
datos
para un propsito especfico, definido en los requerimientos
del
problema original y para ser utilizada por un conjunto de
usuarios.
-
26
Entonces una BD tiene alguna fuente desde la cual se derivan
los
datos, algn grado de interaccin con eventos del mundo real y
una
audiencia que est activamente interesada en el contenido de la
misma.
Un DBMS (DataBase Management System) es una coleccin de
programas que permite a un usuario crear, manipular y mantener
una Base
de Datos. El DBMS es un software de propsito general que
facilita el
proceso de definicin, construccin y manipulacin de Base de Datos
para
varias aplicaciones. Cuando se define una Base de Datos se
involucra la
especificacin de tipos estructuras y limitaciones de datos, los
cuales sern
almacenados en ella. La construccin de una Base de Datos es el
proceso
de recolectar los datos sobre algn dispositivo (disco rgido,
por
ejemplo) controlado por el DBMS. Por ltimo, manipular una Base
de Datos
incluye aquellas funciones de consulta con el fin de obtener
ciertos
resultados especficos a partir de los datos almacenados.
Las ventajas que se tienen al utilizar una Base de Datos son
(Hoffer &
Prescott, 2002):
Independencia entre datos y programas de aplicacin Redundancia
mnima de datos
Mejorar la consistencia de la informacin
Mejorar la productividad del rea de negocios
Mejorar la calidad de datos mejorando su accesibilidad y
tiempo
de respuesta
Minimizar el mantenimiento.
-
27
2.2.9 PROCESAMIENTO DE CONSULTAS EN BASE DE
DATOS DISTRIBUIDA
Una consulta expresada en un lenguaje de alto nivel como
SQL,
primero debe pasar por un anlisis lxico, un anlisis sintctico y
una
validacin. El analizador lxico identifica los smbolos del
lenguaje en el texto
de la consulta, mientras que el analizador sintctico revisa la
sintaxis de la
consulta para determinar si est formulada de acuerdo con las
reglas
sintcticas del lenguaje de consulta. Adems, la consulta se debe
validar,
para lo cual se debe comprobarse que todos los nombres de
atributos y de
relaciones sean vlidos y tengan sentido desde el punto de vista
semntico
en el esquema de BD que se est utilizando.
Adems, una consulta tiene muchas posibles estrategias de
ejecucin,
y el proceso de elegir la ms adecuada para procesar una consulta
se
conoce como optimizacin de consulta. El proceso de optimizacin
de
consultas consiste en determinar cul es el mejor esquema de
resolucin, el
cual debera ser el que mejor respuesta tenga en performance.
En un esquema distribuido existen factores adicionales a los que
se
tienen en cuenta para la optimizacin de consultas en un
esquema centralizado. Un factor es el costo de transferir datos
por la red, otro
factor es la disponibilidad de la informacin (en que nodos se
encuentra el
dato, si los nodos estn momentneamente disponibles, etc.). No es
el
objetivo de este trabajo el estudio de procesamiento distribuido
de consultas
(Ceri, 1991).
-
28
2.2.10 SEGURIDAD EN BASE DE DATOS DISTRIBUIDA
Un requerimiento importante de los DBMS, tanto distribuidos
como
centralizados, es la habilidad de soportar control sobre los
datos. Esto
incluye administracin de vistas, control de la seguridad,
control de la
integridad. En otras palabras, estas capacidades deben asegurar
que
los usuarios autorizados lleven a cabo las operaciones correctas
sobre la
base de datos manteniendo la integridad en la Base de Datos
(Fernandez et
al., 1981).
La definicin de las reglas que controlan la manipulacin de los
datos
es parte de las tareas de DBA (administrador de la Base de
Datos). En
general, las reglas son similares a sistemas centralizados con
algunos
agregados. La seguridad de los datos es una funcin importante
del DBMS
que protege la informacin contra acceso no autorizado. La
seguridad de
datos incluye dos aspectos: proteccin de datos y control de
autorizacin.
La proteccin de datos es necesaria para prevenir acceso no
autorizado de usuarios. Esta funcin, tpicamente, es provista por
el sistema
de archivos en el contexto de sistemas operativos, tanto,
centralizados o
distribuidos. La principal aproximacin para la proteccin de
datos es la
encriptacin de los mismos.
El control de autorizacin debe garantizar que slo los
usuarios
autorizados lleven a cabo las operaciones que les fueron
permitidas sobre la
Base de Datos. Tanto los DBMS centralizados como los
distribuidos
son capaces de establecer restricciones de acceso a subconjuntos
de la
Base de Datos o de usuarios. De las soluciones para control
de
-
29
autorizacin en sistemas centralizados, se derivan las soluciones
para
DBMS distribuidos, con algn grado ms de complejidad.
En lo que respecta al control de autorizacin distribuido,
los
problemas son autentificacin de usuarios remota, manipulacin de
reglas de
autorizacin distribuidas, manipulacin de grupos de vistas y
grupos de
usuario.
La autentificacin remota es necesaria dado que cualquier
sitio
del DDBMS puede aceptar programas iniciados y autorizados en
otros nodos
de la red. Para prevenir accesos remotos a usuarios no
autorizados el
usuario debe ser identificado y autenticado en el nodo accedido.
Son
posibles dos soluciones:
La informacin de autenticacin de usuarios es replicada en cada
nodo.
Los programas locales, iniciados en cada sitio remoto,
deben,
tambin indicar el nombre de usuario y su password.
Todos los sitios del sistema distribuido se identifican y
autentican a
s mismo de la misma forma que lo hacen los usuarios. La
comunicacin
entre sitios es protegida por el uso de password de sitio. Una
vez
inicializado el sitio debe ser autenticado.
Las reglas de autorizacin distribuidas son expresadas de la
misma
forma que los sistemas centralizados. Todas las reglas deben
estar
disponibles, replicadas, para todos los sitios de la red.
-
30
2.2.11 TRANSACCIONES DISTRIBUIDAS
El acceso a los datos en los sistemas distribuidos se realiza
mediante
transacciones, que deben conservar las propiedades. Hay que
tener en
cuenta que en un esquema distribuido existen dos tipos de
transacciones
diferentes: transacciones locales y transacciones globales (Gray
& Reuter, 1996).
Las transacciones locales son las que tienen acceso y actualizan
datos
slo en una Base de Datos local, residente en un nodo o
localidad, en
tanto que las transacciones globales tienen acceso y actualizan
datos en
varios nodos o localidades de la red. Asegurar las propiedades
de las
transacciones locales es similar al proceso realizado en
entornos
centralizados.
Sin embargo, en caso de transacciones globales, esta tarea
es
mucho ms compleja y requiere un estudio mucho ms detallado
2.2.12 INTEGRIDAD DE DATOS EN ENTORNOS DISTRIBUIDOS
2.2.12.1 FALLOS EN ENTORNOS DISTRIBUIDOS
Los sistemas distribuidos pueden sufrir los mismos tipos de
fallos que
los sistemas centralizados (por ejemplo, errores de software,
errores de
hardware o fallos graves de disco). Sin embargo, hay otros tipos
de fallos
con los que tratar en los entornos distribuidos (Tanenbaum,
1996). Los tipos
principales de fallo, que ahora aparecen, son:
Fallo de una estacin de trabajo o nodo Prdida de mensajes
Fallo en el enlace de comunicaciones Divisin de la red.
-
31
La prdida o deterioro de los mensajes es una posibilidad que
siempre
se encuentra presente en los sistemas distribuidos. Protocolos,
como TCP/IP,
surgen para tratar con estos errores y tratar de minimizar su
impacto.
En lo que respecta a conceptos como fallo en el enlace
de comunicaciones o divisin de la red hay que analizar,
primeramente, la
manera en que pueden interconectarse los sistemas distribuidos.
Cada nodo
o estacin de trabajo puede estar conectado de varias formas
(algunas de
las conexiones posibles se presentan en la figura 1.
Figura 1 Topologas de Redes de Comunicacin
Fuente: http://wikitel.info/wiki/Redes_de_comunicaciones
-
32
Cada configuracin presenta ventajas e inconvenientes. Se
pueden
comparar segn los criterios siguientes:
Costo de instalacin: el costo de enlazar fsicamente los nodos
del
sistema.
Costo de comunicaciones: el costo en tiempo y dinero para
enviar
un mensaje desde el nodo A al nodo B.
Disponibilidad: el grado en que se puede tener acceso a los
datos a
pesar del fallo de algunos de los enlaces o estaciones de
trabajo.
Las diferentes topologas descriptas en la figura 1 representan
distintas
formas de conexin (representadas por los arcos) entre estaciones
de
trabajo (representadas por los nodos de un grafo). Una red
totalmente
conectada, entonces, presenta una conexin fsica punto a punto
entre cada
par de nodos de la red. De esta forma se logra tener una red
donde el nivel
de disponibilidad es alto, el costo de mandar un mensaje es el
mnimo
posible, pero el costo de la instalacin resulta muy elevado. Por
otro lado,
una red tipo estrella tendr un costo de instalacin mucho menor,
pero todos
los mensajes debern pasar por el nodo central, generando as un
punto
nico de fallos que disminuir la disponibilidad y har aumentar el
costo de
comunicaciones (Hasse & Henrich,1995).
Si se dispone de una red parcialmente conectada hay enlaces
directos
entre algunos nodos. Por tanto, costo de instalacin es menor a
una
red totalmente conectada, pero los mensajes entre dos nodos sin
conexin
directa deben rutearse a travs de una secuencia de enlaces
de
-
33
comunicaciones, aumentando su costo. Si fallara un enlace de
comunicaciones, habra que volver a rutear los mensajes que
se
deberan transmitir por ese enlace. En algunos casos es posible
encontrar
otro camino por la red, de manera que los mensajes pueden
alcanzar su
destino. En otras situaciones, el fallo puede ocasionar que se
produzca una
divisin de la red, cuando no se encuentra un camino alternativo
para enviar
el mensaje. La divisin de la red produce situaciones de fallo
delicadas que
en algunos casos, como el protocolo de compromiso de tres fases,
puede
llevar a inconvenientes para preservar la integridad de la
informacin en la
BDD (Skeen, 1991).
Para que un sistema distribuido sea robusto debe detectar
los
fallos, volver a configurar el sistema para que el proceso de
transacciones
pueda continuar y recuperarse cuando se repare el enlace (nodo)
fallado.
Los diferentes tipos de fallo se tratan de manera diferente. La
prdida
de mensajes se trata mediante la retransmisin. La retransmisin
reiterada
de un mensaje por un enlace, sin que se reciba un acuse de
recibo, es
sntoma de fallo del enlace. La red suele intentar encontrar una
ruta
alternativa para el mensaje. El fallo en encontrar esta ruta
puede ser
sntoma de divisin de la red. No es posible, por lo general,
diferenciar entre
fallo de un emplazamiento y divisin de la red. El sistema puede
detectar el
fallo pero no identificar su tipo.
Una vez detectada una situacin anmala (fallo) el sistema
debe
reconfigurarse para poder continuar de un modo normal su
funcionamiento. Para ello existen una serie de acciones:
-
34
Si se han guardado datos replicados en el nodo que no responde,
hay
que actualizar el diccionario de datos distribuidos para que
cualquier transaccin generada no acceda a dicho nodo para
buscar
informacin de esa copia.
Si estaban activas transacciones generadas en esa localidad
hay
que abortarlas, para ello existen los protocolos de compromiso
que se
describirn en la seccin siguiente.
Si el nodo cado actuara como servidor central de algn tipo
de
operacin, se deber seleccionar un nuevo servidor alternativo. Si
bien
anteriormente
se discuti que en un entorno distribuido no debe existir sitios
centrales,
algunas operaciones temporales requieren de su existencia.
Ms
adelante se discutirn estas situaciones y su solucin.
Luego, la recuperacin del nodo y su reingreso al sistema
distribuido
tambin requiere una serie de acciones. Estas incluyen actualizar
los
diccionarios distribuidos para que el nodo pueda ser nuevamente
accedido,
y actualizar la copia de la BD para que reflejen los cambios
realizados
mientras estaba sin conexin.
2.3 GLOSARIO DE TRMINOS BSICOS Adaptacin. Habilidad de un
sistema para mantener su estructura, proceso
y funciones particulares, cuando se enfrenta a cambios en el
medio.
Administracin. Gestin de recursos para un mejor aprovechamiento
de
los mismos.
-
35
Algoritmo. Un procedimiento por pasos, que en un determinado
nmero
de ellos produce l ptimo.
Anlisis. Separacin y distincin de las partes de un todo hasta
llegar
a conocer sus principios constitutivos.
Bases de datos. Sistema formado por un conjunto de datos
almacenados
en memorias de almacenamiento masivo que permiten el acceso
directo a
esos datos y un conjunto de programas que manipulan ese conjunto
de datos.
Bit. Unidad mnima de transmisin de datos, empleada
principalmente
en referencia a mdems o comunicaciones de red.
Byte. Unidad de informacin, compuesta de 8 bits consecutivos.
Cada byte
puede representar, por ejemplo, una letra.
Cdigo pseudoaleatorio. Seal con propiedades similares a las
del
ruido pseudoaleatorio. Es un patrn complicado pero repetido de
unos y
ceros.
Comunicacin. Intercambio de informacin que fluye de forma
multidireccional segn el tamao del grupo. Es la transduccin que
existe
entre dos sistemas o un sistema y un subsistema o un sistema
concreto y
uno abstracto, o modelo, en un proceso ciberntico.
Consulta. Mtodo para acceder a los datos en las bases de
datos.
Datos. Representacin simblica (numrica, alfabtica, algortmica
etc.), un
atributo o una caracterstica de una entidad.
Digitalizacin. Convertir una representacin analgica en una
-
36
representacin digital, directamente manejable por una
computadora.
Estructura. Arquitectura estable en las relaciones entre
subsistemas y
sistemas.
Protocolo. Proceso de sincronizacin de intercambio de informacin
en una
secuencia lgica.
Red. Proceso de comunicacin permanente, abierto y dinmico en
paralelo,
en forma de retcula con relaciones redundantes.
Sistema. Es una reunin o conjunto de elementos relacionados con
un
objetivo comn. "Es una unin de partes o componentes, conectados
en una
forma organizada". "Las partes se afectan por estar en el
sistema y se
cambian si lo dejan". "La unin de las partes hace algo". Un
sistema puede
existir realmente como un agregado natural de partes
componentes
encontradas en la naturaleza.
-
37
CAPITULO III
METODOLOGA
3.1 TIPO Y DISEO DE INVESTIGACIN
3.1.1 TIPO DE INVESTIGACIN
Para definir los alcances de esta investigacin, es necesario
saber primero que existen diferentes tipos de investigacin,
segn
Hernndez, Fernndez & Baptista (2014) enfoca la investigacin
hacia 4
tipos que son exploratorios, descriptivos, correlacinales y
explicativos.
De acuerdo con las caractersticas, objetivos de la investigacin
ser
de tipo explicativo, ya que tenemos que realizar un anlisis
comparativo
entre las bases de datos relacionales con bases de datos no
relacionales.
3.1.2 DISEO DE INVESTIGACIN
De acuerdo con Hernndez, Fernndez & Baptista (2014), existen
dos
tipos de diseos: la investigacin experimental y la investigacin
no experimental.
De acuerdo al inters de esta investigacin ser de tipo no
experimental, ya que observamos todo los factores en su ambiente
de trabajo
natural, sin afectar ninguna variable.
-
38
3.2 MTODO
Dentro de las bases de datos relacionales y no relacionales
existen dos
grupos los cuales son: las gratuitas y las que necesitan el pago
de
licenciamiento para funcionar. Para cumplir con los objetivos de
la presente
investigacin se opt por utilizar las bases de datos que son
gratuitas de
cdigo no propietario, lo que permite descargarlas y hacer uso de
la
funciones sin ningn costo.
Se emplear el mtodo analtico pues se har un anlisis de las
ventajas y desventajas de Software MongoDB, MySQL y
PostgreSQL.
Para lograr el objetivo final de este trabajo de investigacin,
el cual es
identificar una alternativa viable NoSQL, es necesario un
conocimiento
suficiente de informacin tanto de bases de datos de este tipo
SQL, as
como los requisitos y sus necesidades
3.3 UNIDAD DE ANLISIS
El estudio y el desarrollo del presente proyecto se realizaron
sobre el
producto de Software MongoDB, MySQL y PostgreSQL para cumplir
con los
objetivos de la presente investigacin.
-
39
CAPITULO IV
RESULTADOS Y DISCUSIONES
4.1 ANLISIS DE BASE DE DATOS RELACIONALES
En la actualidad, las bases de datos relacionales se han
proyectado a
ser una de las herramientas ms difundidas, las cuales permiten
almacenar,
manipular y recuperar informacin de diversos campos.
Las bases de datos relacionales es una base de datos que cumple
con
el modelo relacional, el cual es el modelo ms utilizado en la
actualidad para
implementar bases de datos ya planificadas. Permiten
establecer
interconexiones (relaciones) entre los datos (que estn guardados
en tablas),
y a travs de dichas conexiones relacionar los datos de ambas
tablas.
4.1.1 TIPOS DE SISTEMA DE GESTIN DE BASE DE DATOS
Existen dos sistemas de gestin de base de datos: sistemas de
gestin
propietarios y sistemas de cdigo abierto.
Entre los sistemas de gestin propietarios tenemos:
Oracle
Microsoft SQL Server
DB2, etc.
-
40
Entre los sistemas de gestin de cdigo abierto tenemos:
MySQL
Postgres
Firebird
SQLite,etc
4.1.2 CARACTERSTICAS DE BASE DE DATOS RELACIONAL
Una Base de Datos se compone de varias tablas o relaciones.
No pueden existir dos tablas con el mismo nombre ni
registro.
Cada tabla es a su vez un conjunto de registros (filas y
columnas).
La relacin entre una tabla padre y un hijo se lleva a cabo por
medio de
las claves primarias y ajenas (o forneas).
Las claves primarias son la clave principal de un registro
dentro de
una tabla y stas deben cumplir con la integridad de datos.
Las claves ajenas se colocan en la tabla hija, contienen el
mismo valor
que la clave primaria del registro padre; por medio de stas se
hacen las
formas relacionales
4.1.3 VENTAJAS Y DESVENTAJAS
4.1.3.1 VENTAJAS
Provee herramientas que garantizan evitar la duplicidad de
registros.
Garantiza la integridad referencial, as, al eliminar un registro
elimina
todos los registros relacionados dependientes.
Favorece la normalizacin por ser ms comprensible y
aplicable.
-
41
4.1.3.2 DESVENTAJAS
Presentan deficiencias con datos grficos, multimedia, CAD y
sistemas
de informacin geogrfica.
No se manipulan de forma manejable los bloques de texto como
tipo
de dato.
Las bases de datos orientadas a objetos (BDOO) se propusieron
con el
objetivo de satisfacer las necesidades de las aplicaciones
anteriores y
as, complementar pero no sustituir a las bases de datos
relacionales.
4.1.4 DISEO DE LAS BASES DE DATOS RELACIONALES
El primer paso para crear una base de datos, es planificar el
tipo de
informacin que se quiere almacenar en la misma, teniendo en
cuenta dos
aspectos: la informacin disponible y la informacin que
necesitamos.
La planificacin de la estructura de la base de datos, en
particular de
las tablas, es vital para la gestin efectiva de la misma. El
diseo de la
estructura de una tabla consiste en una descripcin de cada uno
de los
campos que componen el registro y los valores o datos que
contendr cada
uno de esos campos.
Los campos son los distintos tipos de datos que componen la
tabla, por
ejemplo: nombre, apellido, domicilio. La definicin de un campo
requiere: el
nombre del campo, el tipo de campo, el ancho del campo, etc.
Los registros constituyen la informacin que va contenida en
los
campos de la tabla, por ejemplo: el nombre del paciente, el
apellido del
paciente y la direccin de este. Generalmente los diferentes
tipos de campos
-
42
que se pueden almacenar son los siguientes: Texto (caracteres),
Numrico
(nmeros), Fecha / Hora, Lgico (informaciones lgicas si/no,
verdadero/falso,
etc.), imgenes.
En resumen, el principal aspecto a tener en cuenta durante el
diseo de
una tabla es determinar claramente los campos necesarios,
definirlos en
forma adecuada con un nombre especificando su tipo y su
longitud.
4.2 ANLISIS DE BASE DE DATOS NO RELACIONALES
Las bases de datos NoSQL son sistemas de almacenamiento de
informacin que no cumplen con el esquema entidad-relacin al que
todos
nos acostumbramos desde las primeras bases de datos. Mientras
que las
tradicionales bases de datos relacionales basan su
funcionamiento en tablas,
joins y transacciones ACID, las bases de datos NoSQL no
imponen
una estructura de datos en forma de tablas y relaciones entre
ellas (no
imponen un esquema pre-fijado de tablas), en ese sentido son ms
flexibles,
ya que suelen permitir almacenar informacin en otros formatos
como clave-
valor (similar a tablas Hash), Mapeo de columnas, Documentos o
grafos.
Adems de la carencia de un esquema predeterminado, la
principal caracterstica de las bases de datos NoSQL es que estn
pensadas
para manipular enormes cantidades de informacin de manera muy
rpida.
Para ello suelen almacenar toda la informacin que pueden en
memoria
(utilizando el disco como una mera herramienta de persistencia),
y estn
preparadas para escalar horizontalmente sin perder rendimiento.
Suelen
funcionar bastante bien en hardware de bajo coste (PCs normales
y
corrientes), y permiten el escalado horizontal aadiendo nuevas
mquinas
-
43
en caliente (idealmente sin necesidad de reinicio del
sistema).
4.2.1 PORQUE UTILIZAR BASE DE DATOS NOSQL
Si se pretende desarrollar una aplicacin que requiera la
lectura/escritura de cantidades enormes de datos y que pueda
dar
servicio a millones de usuarios sin perder rendimiento, entonces
debemos
plantearnos el uso de una base de datos NoSQL. Las grandes
redes
sociales como Facebook y twitter o el propio Google las utilizan
como medio
fundamental de almacenamiento de informacin.
Se puede utilizar una base de datos NoSQL para almacenar
toda
la informacin de una aplicacin, aunque la mayora de los casos se
recurre
a sistemas mixtos que combinan los clsicos sistemas
relacionales
(fcilmente manipulables e interrogables con el lenguaje SQL) con
soluciones
NoSQL para aquellas funcionalidades que requieren millones de
consultas e
tiempo real.
4.2.2 EJEMPLOS DE BASES DE DATOS NOSQL
Cassandra fue desarrollada por Facebook para su sistema de
mensajera, y posteriormente donado a la fundacin Apache (a
finales del
2010 Facebook paso a utilizar HBase sobre Hadoop). Otro ejemplo
de base
de datos NoSQL de clave-valor que est adquiriendo muy buena fama
es
Redis2.
MongoDB es de las ms conocidas bases de datos orientadas a
documentos, y Neo4J las ms popular orientada a grafos.
-
44
4.2.3 POR QU APARECEN LOS SISTEMAS NOSQL
Primero debemos aclarar que las bases de datos relacionales no
tienen
nada de malo, es ms, vale la pena mencionar que con el avance
de
la tecnologa patrocinada por las grandes empresas que se dedican
a las
bases de datos como Oracle, Microsoft, IBM, Informix, etc. Se
han
desarrollado tcnicas para escalar sus productos en funcin a la
demanda y
uso al que son sometidas dichas implementaciones. Entre las
ms
populares para la web estn MySql, PostgreSQL, Oracle, etc.
2
Redis es un coleccin de datos estructurados
-
45
Una vez mencionado lo anterior podemos analizar la evolucin que
la
web ha sufrido. El factor determinante en la evolucin de la web
es el
propsito que se le ha dado a la misma, por ejemplo:
Web 2.03 (Enfocado a lo social). Software como Servicio2
(Relacionado con los servicios en la nube o
cloud computing).
Estos dos trminos son los que definen las aplicaciones web de
hoy en
da. Una combinacin de las dos ha dado origen a un nuevo negocio
los
startups, su forma de funcionamiento podramos resumirla de la
siguiente
manera: los desarrolladores crean ideas que facilitan la vida a
los usuarios y
los ofrecen como servicios web muchas veces gratuitos, para
luego una vez
que tengan una base de usuarios aceptable implementar un modelo
de
negocio basado en la publicidad, etc. Un ejemplo de esto puede
ser
Facebook que adems de la publicidad hace tambin negocio con
las
aplicaciones, por ejemplo City Ville. Podemos citar tambin a
Twitter,
FourSquare como claros ejemplos. Tambin se valen de otros
modelos de
negocio como los denominamos servicios web freemium, a los que
nos
suscribimos generalmente de forma gratuita y luego tenemos la
posibilidad
de contratar adicionales al servicio gratuito por los que si
tenemos que pagar,
por ejemplo Dropbox (sistema de almacenamiento online) ofrece su
servicio
de almacenamiento gratuito hasta 2GB y si deseamos ms
espacio
debemos pagar una cuota anual. De esta manera podemos comprender
que
las aplicaciones web se han convertido en un negocio rentable,
para el
que necesitamos simplemente buenas ideas.
3 WEB 2.0: es un trmino asociado con aplicaciones web que
facilitan el compartir informacin y la colaboracin en la web.
Ejemplos los servicios de red social, las wikis, blogs, etc
-
46
Una vez entendido lo explicado anteriormente es necesario
observar la
popularidad que dichos servicios han ido obteniendo, hay algunas
ideas que
tienen xito y llegan a tener miles o incluso millones de
suscripciones, y
otros que no llegan a un nivel considerable de usuarios. El que
nos interesa
estudiar es el primer caso, donde dichos servicios o
aplicaciones web
comenzaron a popularizarse y a crecer en nmero de usuarios
llegando
hasta millones, las empresas enfrentaron nuevos desafos para
mantener la
calidad del servicio. Uno de estos retos es la escalabilidad, si
bien los
modelos relacionales se pueden adaptar para hacerlos escalar
incluso en los
entornos ms difciles, s que es cierto que, a menudo, se hacen
cada vez
menos intuitivos a medida que aumenta la complejidad. Triples y
cudruples
JOINs en consultas SQL, a veces poco eficientes, y sistemas
de
almacenamiento de resultados en cachs para acelerar la resolucin
de
las peticiones y evitar ejecutar cada vez estas pesadas
operaciones, son
el pan de cada da en muchos de estos proyectos de software.
Por este motivo principalmente es que las empresas de gran nivel
como
Facebook, Google, Amazon han creado proyectos aplicando
tecnologas de
base de datos alternativas a las tradicionales relacionales. Han
prestado
principal atencin a las bases de datos documentales y
clave/valor; y, en
base a estas han creado sus motores de almacenamiento como por
ejemplo:
Google cre BigTable, Facebook cre Cassandra, Amazon cre
Dynamo,
etc. Luego de desarrollar dichos proyectos la mayor parte de
empresas han
liberado el cdigo de sus creaciones como software open Source,
el mismo
que ha ido mejorado por comunidades de desarrollo y empresas
particulares
que venden soporte y asesoramiento en el desarrollo de
aplicaciones que
-
47
usen dichas bases de datos.
De esta manera los sistemas NoSQL surgen como una nueva
alternativa (basada en tecnologa ya existente: bases de
datos
clave/valor y documentales) para solventar estos problemas
proponiendo
una estructura de almacenamiento ms verstil, aunque sea a costa
de
perder ciertas funcionalidades como las transacciones que
engloban
operaciones en ms de una coleccin de datos, o la incapacidad de
ejecutar
el producto cartesiano de dos tablas (tambin llamado JOIN)
teniendo que
recurrir a la desnormalizacin de datos.
Vale la pena recalcar que las bases de datos NoSQL no buscan
reemplazar a las bases de datos tradicionales; es ms, la mayor
parte de
empresas que usan NoSQL han desarrollado aplicaciones hbridas
que
usan en conjunto bases de datos tradicionales y NoSQL en un
mismo
ecosistema. Es por este motivo que los ingenieros de la
herramienta en
estudio MongoDB publicaron lo que han llamado la filosofa de
MongoDB
que se expresa en la frase Using the Right Tool for the Right
Job, estas
palabras quieren decir: usando la herramienta indicada para el
trabajo
indicado. Estas palabras dejan claro que las bases de datos
NoSQL no han
surgido como reemplazo a las bases de datos relacionales, sino
como una
herramienta ms a considerar cuando desarrollemos un proyecto, es
decir
que en ciertos escenarios ser mejor usar una base de datos
tradicional, en
otros ser mejor una combinacin de bases de datos NoSQL con bases
de
datos tradicionales, y por supuesto habrn casos en los que
podamos usar
bases de datos NoSQL solas.
-
48
4.3 PRUEBA DE RENDIMIENTO BASE DE DATOS NOSQL
DOCUMENTAL VERSUS SQL RELACIONAL
4.3.1 DEFINICIN DE AMBIENTE DE PRUEBA
Todas las pruebas se realizaran bajo las mismas condiciones
de
hardware, tiempo, estructuracin bsica y disponibilidad de
recursos, esto
con la finalidad de no proporcionar ninguna clase de ventaja o
desventaja a
cualquiera de las bases de datos sometidas a la prueba.
La prueba en los distintos escenarios se realizara con las
siguientes
especificaciones tcnicas del sistema operativo y software para
la
simulacin de las consultas a las bases de datos por parte de los
usuarios:
Sistema Windows 7 en la versin Ultimate
Procesador Intel Core i3
Memoria RAM de 1024 MB
Disco duro con capacidad de 30 GB
El software Jakarta-Jmeter utilizado en la versin 2,4 para
realizar las
prueba de estrs, para las distintas bases de datos, dicha
aplicacin de
software cuenta con la posibilidad de realizar pruebas a
cualquier base de datos
que soporte conexiones ODBC.
A continuacin se presenta el cuadro 1 con el resumen de los
aspectos y
caractersticas ms importantes de la primera base de datos
relacional
sometida a las pruebas de rendimiento.
-
49
Cuadro 1 Especificaciones tcnicas base de datos PostgreSQL
Caractersticas Soporte
Versin 9,1,4
Tipo Relacional
ACID Si
Tamao mximo de la base de datos Ilimitado
Tamao mximo de la tabla 32 TB
Tamao mximo de campo 1 GB
Cantidad mxima de columnas por tabla 250- 1600 (dependiendo del
tipo)
Sistemas operativos Linux y Unix, Mac OS X y Windows 32/64 bit
Fuente: PostgreSQL.
http://www.postgresql.org.es/sobre_postgresql.
En el cuadro 2 se presenta un resumen de los aspectos y
caractersticas de la primera base de datos NoSQL Sometida a las
pruebas de
rendimiento.
Cuadro 2 Especificaciones tcnicas base de datos MongoDB
Caracterstica Soporte
Versin 10gen
Tipo NoSQL documental
ACID No
Tamao mximo de la base de datos Ilimitado
Tamao mximo del nodo 3 TB
Cantidad mxima de nodos Ilimitado
Tamao mximo de documentos por nodo 12 millones
Sistemas operativos Linux y Unix, Mac OS X y Windows 32/64 bit
Fuente: PostgreSQL.
http://www.10gen.com/use-case/high-volume-data-feeds.
En el cuadro 3 contiene los aspectos tcnicos de la segunda
base
de datos relacional sometida a las pruebas de rendimiento.
Cuadro 3 Especificaciones tcnicas base de datos MySQL
Caracterstica Soporte
Versin 5,5,24
Tipo Relacional ACID Si
Tamao mximo de la base de datos Ilimitado
Tamao mximo del nodo 2 TB
Cantidad mxima de nodos 1 GB
Tamao mximo de documentos por tabla 1- 15(dependiendo del
tipo)
Sistemas operativos Linux y Unix, Mac OS X y Windows 32/64
bit
Fuente: PostgreSQL
http://dev.mysql.com/doc/refman/5.0/es/table-size.html.
-
50
4.3.1.1 DEFINICIN DE ESCENARIOS DE PRUEBA
Las especificaciones de los escenarios de prueba se detallan en
el cuadro 4:
Cuadro 4
Especificaciones de escenarios Especificaciones Escenario 1
Escenario 2
Duracin 10 min. 10 min.
Descripcin
Simulacin de 10 000 usuarios realizando 100 inserciones a la
base de datos cada 15 seg.
Simulacin de 100 000 usuarios realizando 100 inserciones a la
base de datos cada 15 seg.
Polticas de insercin
Consultas a una tabla para las bases de datos relacionales y a
una coleccin en el caso de la base de datos NoSQL.
Consultas a una tabla para las bases de datos relacionales y a
una coleccin en el caso de la base de datos NoSQL.
Fuente: Elaboracin Propia
La estructura utilizada en todas las bases de datos sometidas
a
las pruebas de rendimiento se describe en el cuadro 5:
Cuadro 5 Estructura de la tabla/coleccin para los escenarios
PUBLICACIN
Nombre (char)
Nickname (char)
Texto (text) Fuente: Elaboracin Propia
4.3.1.2 VARIABLES A EVALUAR
En el cuadro 6 se enumeran las variables internas de salida y
entrada
de las cuales se tiene control y mediante ellas se realizan los
respectivos
anlisis para determinar el rendimiento de las distintas bases de
datos
en los escenarios descritos con anterioridad.
-
51
Cuadro 6 Variables para evaluacin
Tipo de variable Variables
Internas de entrada
Tiempo entre inserciones
Cantidad de inserciones
Tiempo total de inserciones
Internas de salida
Tiempo de respuesta
Consumo de recursos
Porcentaje de fallo
Disponibilidad Fuente: elaboracin propia.
El anlisis de rendimiento se basar nicamente en las
variables
internas de salida.
A continuacin se describirn brevemente las variables que
formarn parte del anlisis de rendimiento de las distintas bases
de datos.
Tiempo de respuesta: es el tiempo medio que la base de datos
tarda en
realizar el total de inserciones solicitadas.
Consumo de recursos: es el porcentaje de uso de CPU, memoria
RAM,
uso de procesador y espacio en disco utilizado durante las
inserciones a la base de datos.
Porcentaje de fallo: medicin del porcentaje de inserciones
exitosas y de
inserciones fallidas a la base de datos.
Disponibilidad: porcentaje de accesos exitosos y fallidos a la
base de
datos.
4.3.2 ANLISIS COMPRATIVO POSTGRESQL, MYSQL Y
MONGODB 10GEN
Las pruebas realizadas a las bases de datos consisten en la
insercin
masiva y concurrente de datos durante 10 minutos, a continuacin
se
muestran, describen y analizan los resultados obtenidos en los
diversos escenarios.
-
52
4.3.2.1 TIEMPOS DE RESPUESTAS
El tiempo de respuesta hace referencia al lapso de tiempo para
realizar la
insercin de un registro dentro de la base de datos. En el cuadro
7 se listan los
resultados de inserciones obtenidos en las tres bases de datos
para el escenario 1.
Cuadro 7 Tiempos de insercin escenario N 1
Parmetros PostgreSQL MySQL MongoDB
Total de accesos 501 517 199 959 760 120
Intentos de inserciones cada 15 seg. 100 100 100
Tiempo medio por insercin (ms.) 212 1640 107 Fuente: elaboracin
propia.
A continuacin se presenta en el cuadro 8, con los resultados
obtenidos en las pruebas de insercin de las tres bases de datos
en
escenario 2.
Cuadro 8 Tiempos de insercin escenario N 2
Parmetros PostgreSQL MySQL MongoDB
Total de accesos 281 132 236 779 895 003
Intentos de inserciones cada 15 seg. 1 000 1 000 1 000
Tiempo medio por insercin (ms.) 6 280 16 460 121 Fuente:
elaboracin propia.
De acuerdo a los resultados obtenidos en las pruebas de los
dos
escenarios se observa que las bases de datos relacionales
insertan menos
datos que la base de datos NoSQL, esto se debe a que el tiempo
medio de
insercin por dato es ms elevado en las primeras con respecto a
la base de
datos NoSQL documental.
4.3.2.2 CONSUMO DE RECURSOS
Durante el tiempo que se realizaron las pruebas de los
distintos
escenarios en todo momento se monitoriz el estado de los
recursos
del computador, en el cual se encontraban las bases de datos, a
continuacin se
muestran los resultados obtenidos correspondientes al consumo de
recursos del
computador por parte de las bases de datos.
-
53
En el cuadro 9 se presenta un resumen del porcentaje de
recursos
consumidos durante el escenario 1 por las bases de datos
sometidas a las
pruebas.
Cuadro 9 Consumo de recursos escenario N 1
Recurso PostgreSQL MySQL MongoDB
Archivo de paginacin 22,25% 18,41% 12,21%
Disco fsico 20,50% 55,13% 15,62%
Procesador 69,64% 72,55% 23,79%
Memoria RAM 48,31% 43,39% 20,92% Fuente: elaboracin propia.
Los resultados porcentuales del uso del recurso de paginacin
por
cada una de las bases de datos sometidas a las pruebas del
escenario 1 se
pueden observar en la figura 2.
Figura 2 Paginacin escenario N 1
Fuente: elaboracin propia.
Como se observa, el uso de paginacin por parte de las bases de
datos
relacionales es relativamente bajo, pero a pesar de eso
presentan un
consumo mayor con respecto a la base de datos NoSQL
documental.
-
54
Se debe considerar que a mayor porcentaje de consumo de recursos
se
incurre en un menor rendimiento del equipo.
En la figura 3 se observan los porcentajes de utilizacin de
disco duro o
acceso al mismo, por parte de las bases de datos sometidas a las
pruebas
del escenario 1.
Figura 3 Acceso a disco fsico en escenario N 1
Fuente: elaboracin propia.
El mayor porcentaje de acceso a disco fsico lo realiza el DBMS
MySQL
con un 55 %, lo cual representa una carga para el sistema y
por
consiguiente un bajo rendimiento del equipo.
El porcentaje de uso de procesador que realiz cada una de las
bases
de datos durante la realizacin de las pruebas del escenario 1
se
encuentra representada de forma grfica en la figura 4.
-
55
Figura 4 Uso de procesador en escenario N 1
Fuente: elaboracin propia.
Uno de los recursos ms importantes que afectan el
rendimiento
del equipo es el consumo de procesador, por consiguiente una
aplicacin
que consume menos recursos de procesamiento es ms favorable que
una
que consume la mayor parte del procesador.
El uso de procesador, por parte de PostgreSQL y de
MySQL es notablemente elevado, representando ms del 50 % de
la
capacidad de procesamiento, por lo consiguiente reducen en gran
manera