Вы находитесь на странице: 1из 85

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

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.

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.

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.

ii

INDICE GENERAL
Pg.
DEDICATORIA

AGRADECIMIENTOS

ii

INDICE GENERAL

iii

INDICE DE CUADROS

vi

INDICE DE FIGURAS

vii

RESUMEN

viii

ABSTRACT

ix

INTRODUCCIN

CAPTULO I
PROBLEMTICA DE LA INVESTIGACIN
1.1

1.2

DESCRIPCIN DEL PROBLEMA

1.1.1 FORMULACIN DEL PROBLEMA

OBJETIVOS DE LA INVESTIGACIN

1.2.1 OBJETIVO GENERAL.

1.2.2 OBJETIVOS ESPECIFICOS...

CAPTULO II
MARCO TERICO
2.1

2.2

ANTECEDENTES DE LA INVESTIGACI

2.1.1 INVESTIGACIONES DE NIVEL INTERNACIONAL

2.1.2 INVESTIGACIONES DE NIVEL NACIONAL.

MARCO REFENCIAL..

12

2.2.1 SISTEMAS DISTRIBUIDOS.

12

2.2.2 BASE DE DATOS DISTRIBUIDAS.

13

2.2.3 BASE DE DATOS CENTRALIZADA

18

2.2.4

SISTEMAS

CENTRALIZADOS

SISTEMAS

DISTRIBUIDOS.

16

19

2.2.5 REDES DE COMPUTADORAS

21

2.2.6 TECNOLOGA DE LA INFORMACIN

23

2.2.7 LA NECESIDAD DE DISTRIBUIR DATOS.

24
iii

2.2.8 BASE DE DATOS Y DBMS..

25

2.2.9 PROCESAMIENTO DE CONSULTAS EN BASE DE


DATOS.

27

2.2.10 SEGURIDAD EN BASE DE DATOS DISTRIBUIDA

28

2.2.11 TRANSACCIONES DISTRIBUIDAS.

30

2.2.12

INTEGRIDAD

DE

DATOS

EN

ENTORNOS

DISTRIBUIDOS
2.3 GLOSARIO DE TERMINOS BSICOS

30
34

CAPTULO III
METODOLOGA
3.1

TIPO Y DISEO DE INVESTIGACIN..

37

3.1.1 TIPO DE INVESTIGACIN.

37

3.1.2 DISEO DE INVESTIGACIN...

37

3.2

MTODO......................................

38

3.3

UNIDAD DE ANLISIS..

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.
4.1.2

4.3

DE

BASE

DE

DATOS

RELACIONAL.

40

4.1.3 VENTAJAS Y DESVENTAJAS

40

4.1.4

4.2

CARACTERSTICAS

39

DISEO

DE

LAS

BASES

DE

DATOS

RELACIONALES

41

ANLISIS DE BASE DE DATOS NO RELACIONALES..

42

4.2.1 PORQUE UTILIZAR BASE DE DATOS NoSQL.

43

4.2.2 EJEMPLOS DE BASES DE DATOS NOSQL.

43

4.2.3 POR QU APARECEN LOS SISTEMAS NOSQL..

44

PRUEBA DE RENDIMIENTO BASE DE DATOS..

48
iv

4.3.1 DEFINICIN DE AMBIENTE DE PRUEBA..

48

4.3.2 ANLISIS COMPRATIVO...

51

4.3.3 EVALUACIN DE RESULTADOS.

64

CONCLUSICIONES

67

RECOMENDACIONES

69

BIBLIOGRAFA.

70

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

vi

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

vii

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

viii

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.
.

ix

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

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

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


3

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

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
5

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

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

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

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.

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

tecnolgicos que se realizan


de

computacionales.

continuamente

en

Existen

circuitos,

avances
dispositivos

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.

10

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.

11

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).

12

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

administracin

una
de

red

Base

de

comunicaciones. Generalmente,

de

Datos

Distribuida

se

la

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
13

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).

DataBase Management System: es una coleccin de programas que permite a un


usuario crear, manipular y mantener una Base de Datos

14

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
15

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.

16

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

consideraciones que deben

aqu

estar

se

provistas

pueden
en

los

derivar

algunas

sistemas

que

soporten distribucin de informacin:


Transparencia de localizacin: el usuario no debe conocer la ubicacin de
los datos para poder acceder a ellos.
17

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
de informacin

las

aplicaciones que

llevan

la

tecnologa

hacia niveles operacionales, administrativos y

18

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.
19

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

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
20

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

21

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

esta

estandarizaciones que

heterogeneidad.
solucionan

el

Para

ello,

problema.

se
La

dispone

arquitectura

de
de

interconexin de la ISO/OSI para sistemas abiertos (open systems) es una


variante posible.

22

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

23

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

distribuidos apunta a presentar

diseo de la
al

usuario la

tecnologa de
ilusin que

sistemas
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).

24

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.

25

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.

26

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).

27

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
28

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.

29

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.
30

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

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

31

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

32

comunicaciones, aumentando
comunicaciones, habra

su

costo.

Si

fallara

un

enlace

de

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:

33

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.

34

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

35

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.

36

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.

37

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.

38

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.
39

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.

40

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

41

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 clavevalor (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

42

en caliente (idealmente sin necesidad de reinicio del sistema).


4.2.1 PORQUE UTILIZAR BASE DE DATOS NOSQL
Si

se

pretende

desarrollar

una

aplicacin

lectura/escritura de cantidades enormes de

que

datos y que

requiera

la

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.

43

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.

Redis es un coleccin de datos estructurados

44

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

45

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
46

usen dichas bases de datos.


De esta manera los sistemas NoSQL surgen como una nueva
alternativa (basada
clave/valor

en

tecnologa

ya

existente:

bases

de

datos

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.

47

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.

48

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)
Linux y Unix, Mac OS X y Windows 32/64 bit
Sistemas operativos
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
Linux y Unix, Mac OS X y Windows 32/64 bit
Sistemas operativos
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.

Versin
Tipo

Cuadro 3
Especificaciones tcnicas base de datos MySQL
Caracterstica
Soporte
5,5,24
Relacional

ACID

Si

Tamao mximo de la base de datos


Tamao mximo del nodo
Cantidad mxima de nodos
Tamao mximo de documentos por tabla
Sistemas operativos

Ilimitado
2 TB
1 GB
1- 15(dependiendo del tipo)
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.

49

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 Simulacin de 100 000


usuarios
realizando
100 usuarios realizando 100
inserciones a la base de inserciones a la base de
datos cada 15 seg.
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.

50

Cuadro 6
Variables para evaluacin
Tipo de variable
Variables
Tiempo entre
inserciones
Internas de entrada Cantidad de inserciones
Tiempo total de
inserciones
Tiempo de respuesta
Consumo de recursos
Internas de salida
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

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.
51

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.
52

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.

53

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.

54

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
MySQL

uso

de

procesador,

por

parte

de

PostgreSQL

de

es notablemente elevado, representando ms del 50 % de la

capacidad de procesamiento, por lo consiguiente reducen en gran manera el


rendimiento del equipo, por otra parte, el consumo de procesador que realiza
MongoDB es considerablemente bajo.
A continuacin, en la figura 5 se muestra el consumo porcentual de
memoria RAM en el cual incurri cada base de datos durante las pruebas
realizadas en el escenario 1.

55

Figura 5
Consumo de memoria RAM en escenario N 1

Fuente: elaboracin propia.

El consumo de memoria RAM, por parte de PostgreSQL, es casi del 50


% del total del equipo, esto posiblemente es causado por el poco uso de
archivo de paginacin que realiza el programa, de igual manera el uso de
memoria que realiza MySQL es considerablemente elevado si se compara
con el consumo de memoria RAM por parte de MongoDB.
En el cuadro 10 se muestra el resumen de resultados obtenidos
durante las pruebas realizadas a las tres bases de datos en el escenario 2.
Cuadro 10
Consumo de recurso escenario N 2
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.

En la figura 6 se observa de manera porcentual la utilizacin del


recurso de paginacin, por parte de las tres bases de datos en el escenario 2.

56

Figura 6
Paginacin en escenario N 2

Fuente: elaboracin propia.

El uso de archivo de paginacin por parte de PostgreSQL en promedio


es de 32,25 % el cual es mayor al de los otros dos DBMS, lo cual ayuda a
reducir el acceso a disco por parte de la base de datos.
El porcentaje de acceso a disco fsico utilizado por las bases de datos
durante las pruebas del escenario 2 se encuentra representado en la figura 7.
Figura 7
Acceso a disco fsico en escenario N 2

Fuente: elaboracin propia.

57

El porcentaje de acceso a disco en el caso de PostgreSQL es


ms reducido que el de las otras bases de datos, esto debido a que realiz
mayor paginacin, por lo tanto no fue necesario acceder a disco para
insertar los datos, ya que todo se manej en memoria. Aunque es
importante mencionar que este porcentaje bajo de acceso a disco puede
provocar un bajo nmero de inserciones exitosas a la base de datos.
A continuacin se presentan los porcentajes de consumo de procesador
por parte de las bases de datos en las pruebas realizadas en el escenario 2,
los cuales estn representados de forma grfica en la figura 8.
Figura 8
Uso de procesador en escenario N 2

Fuente: elaboracin propia.

El uso de procesador por parte de PostgreSQL y MySQL es demasiado


elevado, lo cual posee un impacto considerable en el rendimiento del equipo,
por el contrario MongoDB realiza un consumo moderado del procesador lo cual
ayuda a la mejora del rendimiento.
En la figura 9 se muestra el consumo de memoria RAM en el que
incurrieron las bases de datos durante las pruebas realizadas en el escenario 2.
58

Figura 9
Consum de memoria RAM en escenario N 2

Fuente: elaboracin propia.

El

consumo de memoria RAM por parte de PostgreSQL es

considerablemente elevado y afecta al rendimiento del equipo.


4.3.2.3 RESPUESTAS A FALLOS
Uno de los objetivos primordiales de la realizacin de las pruebas de
rendimiento, para las diversas bases de datos es medir el porcentaje
de inserciones fallidas durante toda la prueba, a continuacin se muestran
los resultados obtenidos por cada base de datos en los diversos escenarios.
Las pruebas de fallos estn configuradas con la opcin de continuar al
momento de encontrar un error, con la finalidad de no interrumpir la prueba.
A continuacin se describe mediante un cuadro el total de accesos que
se tuvo a la base de datos, de los cuales algunos tuvieron xito al momento
de realizar la insercin de los datos solicitados y otros fueron rechazados.

59

Cuadro 11
Errores de insercin en escenario N 1
Parmetros
PostgreSQL MySQL MongoDB
Total de accesos
501 517 199 959
760 120
Duracin de la prueba (min.)
10
10
10
Inserciones fallidas
17 603
48 950
152
Inserciones exitosas
483 914 151 009
759 968
Porcentaje de error
3,51%
24,48%
0,02%
Fuente: elaboracin propia.

Como se observa, el porcentaje de error de la base de datos MongoDB


es el ms bajo, lo cual indica que soporta mayor concurrencia de accesos e
inserciones que las otras bases de datos del tipo relacional. A pesar que el
porcentaje de errores de las bases de datos relacionales no es tan elevado,
la base de datos NoSQL documental posee un porcentaje de error
considerablemente menor que el de las relacionales.
En la figura 10 se presenta un resumen del porcentaje de errores en las
inserciones para cada una de las bases de datos en las pruebas realizadas
en el escenario 1.
Figura 10
Porcentaje de errores de insercin en escenario N 1

Fuente: elaboracin propia.

60

Se observa un bajo porcentaje de inserciones errneas en la base de


datos MongoDB siendo este menor del 1 %, por el contrario MySQL es la
base de datos que posee el mayor porcentaje de error lo cual conlleva a
inconsistencia en los datos, datos daados o ilegibles.
En cuadro 12 se presentan los resultados de inserciones exitosas
e inserciones rechazadas por cada una de las bases de datos durante
las pruebas realizadas en el escenario 2, al final se encuentra el porcentaje
que representa la cantidad de errores incurridos por cada base de datos.
Cuadro 12
Errores de insercin en escenario N 2
Parmetros
PostgreSQL MySQL MongoDB
Total de accesos
281 132 236 779
895 003
Duracin de la prueba (min.)
10
10
10
Inserciones fallidas
94 122 102 904
89
Inserciones exitosas
187 010 133 875
894 914
Porcentaje de error
33,48 % 43,46 %
0,01%
Fuente: elaboracin propia.

Al igual que en el escenario 1 se observa que el porcentaje de error de


la base de datos MongoDB es el ms bajo, lo cual indica que soporta mayor
concurrencia de accesos e inserciones.
Figura 11
Porcentaje de errores de insercin en escenario N 2

Fuente: elaboracin propia.

61

4.3.2.4 DISPONIBILIDAD
La medicin del grado de disponibilidad se bas en la medicin
de cuntos usuarios pudieron hacer uso del servicio de la base de datos y
realizar el intento de insercin a la base de datos.
No hay que confundir las inserciones fallidas con las fallas de
disponibilidad, ya que en el caso de inserciones fallidas el usuario tuvo
acceso al servicio y en el caso de fallas de disponibilidad indica que el
usuario no pudo si quiera acceder a la base de datos para realizar el intento
de insercin.
En el cuadro 13 que se presenta a continuacin se resumen los
accesos fallidos y exitosos a la base de datos.
Cuadro 13
Errores de acceso a base de datos en escenario N 1
Parmetros
PostgreSQL MySQL MongoDB
Total de accesos
501 929 200 100
760 125
Duracin de la prueba (min.)
10
10
10
Inserciones fallidas
412
141
5
Inserciones exitosas
501 517 199 959
760 120
Porcentaje de error
0,08 %
0,07 % 0,0006 %
Fuente: elaboracin propia.

Como se observa en cuadro 13 la base de datos que posee una


mejor tasa de accesos es la NoSQL documental, ya que nicamente
obtuvo 5 accesos fallidos durante las pruebas realizadas lo cual representa
un 0,0006 % de error el cual es considerablemente bajo.
El porcentaje de accesos fallidos o error al acceder a la base de datos
en las pruebas del escenario 1 se representa en la figura 15.

62

Figura 12
Porcentaje de errores de acceso a base de datos N 1

Fuente: elaboracin propia.

Las bases de datos de PostgreSQL y MySQL se encuentran muy


cercanas en cuanto a errores de acceso se refiere, a pesar de que el
porcentaje de error de acceso no es demasiado alto en las bases de datos
relacionales, al compararlo con el porcentaje de error que posee la base de
datos NoSQL documental MongoDB se aprecia una diferencia significativa.
En el cuadro 14 se resumen los resultados de accesos exitosos y
fallidos a cada una de las bases de datos ocurridos durante las pruebas
realizadas en el escenario 2.
Cuadro 14
Errores de acceso a base de datos en escenario N 2
Parmetros
PostgreSQL MySQL MongoDB
Total de accesos
282 132 237 879
895 013
Duracin de la prueba (min.)
10
10
10
Inserciones fallidas
1 000
1 100
10
Inserciones exitosas
281 132 236 779
895 003
Porcentaje de error
0,35 %
0,46 %
0,001 %
Fuente: elaboracin propia.

Debido a que el nmero de intentos de acceso a las bases de datos


aument, de igual manera se increment el margen de error de accesos
63

en todas las bases de datos, a pesar del aumento como se observa la base
de datos NoSQL documental continua poseyendo un porcentaje de error
menor del 1 %.
Figura 13
Porcentaje de errores de acceso a base de datos N 2

Fuente: elaboracin propia.

Como se observa en la figura 13, las bases de datos relacionales


PostgreSQL y MySQL aumentaron considerablemente el margen de error al
aumentar el nmero de usuarios, por el contrario, la base de daros NoSQL
documental MongoDB aument el margen de error, pero a pesar de esto
sigue siendo notablemente menor al de las otras dos.
4.3.3 EVALUACIN DE RESULTADOS
Como se observa en los resultados obtenidos durante las pruebas
realizadas a las distintas bases de datos, se concluye que la mejor opcin para
una solucin web que no involucre transacciones monetarias u otra operacin
de alta importancia que necesite, ACID es una base de datos NoSQL
documental.

64

En el cuadro 15 se resumen los aspectos evaluados en las pruebas en


ambos escenarios y se indica cul es el ganador en cada prueba mediante
los nmeros 1, 2 y 3, siendo 1 el mejor, 2 el segundo mejor y 3 el peor.
Cuadro 15
Resumen de pruebas
Prueba
Mejor tiempo insercin a la base de datos.
Mejor tiempo de acceso a la base de datos.
Menor consumo de memoria RAM.
Menor consumo de procesador.
Mejor uso de paginacin de archivos.
Menor porcentaje de errores.

PostgreSQL

MySQL

2
3
3
2
1
2

MongoDB

3
2
2
3
2
3

1
1
1
1
3
1

Fuente: elaboracin propia.

Con base en los resultados descritos en cuadro 15, es evidente que la


base

de

datos

NoSQL

documental

MongoDB

en

la

mayora

de

aspectos, supera a las bases de datos relacionales de PostgreSQL y


MySQL, lo cual la convierte en la mejor opcin al momento de implementar
una solucin para un sitio de web de alto rendimiento.
Figura 14
Porcentaje de xito en implementacin de solucin

Fuente: elaboracin propia.

La mejor opcin al momento de implementar una solucin para el


desarrollo de un sitio web de alto rendimiento, es la implementacin de una
65

base de datos NoSQL documental, ya que el porcentaje de tener xito es


del 70 por ciento, el cual es notablemente superior al caso en el que se
implemente una base de datos relacional.
Los tiempos de respuesta de MongoDB superan por mucho a la
mayora de bases de datos relacionales, es por esta razn que grandes
compaas como Disney, MTV, Foursquare, entre otras, han optado por la
implementacin de esta base de datos en los sitios. La gran facilidad
con la que escala horizontalmente es una gran ventaja que ayuda a que
MongoDB sea ms utilizada cada da.
MongoDB es una base de datos del tipo NoSQL documental, de
acuerdo a los resultados obtenidos en las pruebas realizadas en los 2
escenarios que se plantearon anteriormente, se postula como una muy
buena opcin para reemplazar el uso de las bases de datos relacionales en
los sitios web que buscan un alto rendimiento y disponibilidad.
Es importante denotar que no todas son ventajas al momento de
implementar MongoDB como base de datos en una aplicacin web, ya que
posee algunos inconvenientes como: el manejo de ACID y de transacciones.

66

CONCLUSIONES
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 de
un sitio web de alto rendimiento, es la implementacin de una base de 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.
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.
Las bases de datos no relacionales (NoSQL) documental es la ms
utilizada en la actualidad, por las compaas debido a las mltiples ventajas,
como la funcionalidad intuitiva, es MongoDB 10gen. Las bases de datos
NoSQL documentales, como es el caso de MongoDB 10gen, no poseen
seguridad o integridad de datos, es por esta razn que no se deben utilizar en
transacciones importantes, por ejemplo, transacciones bancarias. Las bases de
datos no relacionales (NoSQL) de acuerdo a los resultados obtenidos en las
67

pruebas realizadas en los 2 escenarios se concluye como una buena opcin


para reemplazar el uso de datos relacionales en los sitios web que buscan un
alto rendimiento y disponibilidad. La naturaleza de los sitios web que han
implementado el uso de las bases de datos NoSQL documentales y que han
obtenido beneficios sustanciales es la administracin de

contenido,

entretenimiento, redes sociales o para mostrar informacin en tiempo real.

68

RECOMENDACIONES
PRIMERO.- Al realizar este tipo de proyectos debemos tener en cuenta que
se debe de realizar un anlisis bastante minucioso, es vital determinar los
requerimientos y sus caractersticas para de esta manera se pueda cubrir
con las necesidades requeridas para de esta manera evitar gastos
innecesarios.
SEGUNDO.- Se debe desarrollar un buen diseo de la Base de Datos que la
informacin no contenga datos redundantes, en el caso de una base de
datos relacional.
TERCERO.- Es importante saber que al momento de utilizar software libre para
disminuir costos y mantener un buen rendimiento, se debe tener en cuenta la
capacidad que deben tener estos programas para el buen manejo de la
informacin.

69

BIBLIOGRAFA
Bell, D., & Grimson, J. (1992). DISTRIBUTED DATABASE SYSTEMS.
Addsion Wesley.
Bobak, A. (1993). DISTRIBUTED AND MULTIDATABASE SYSTEMS.
The Bantam Books.
Breitbart, Y., Komondoor, R., Rastogi, R., Seshadri, S., & Silberschatz,
A.

(1999).

UPDATE

PROPAGATION

PROTOCOLS

FOR

REPLICATED DATABASES. Philadephia, Pennsylvannia.


Burleson, D. (1994). MANAGING DISTRIBUTED DATABASES. BUILDING
BETWEEN DATABSE ISLANDS. Wiley QED.
Ceri, G. (1991). A CLASIFICATION OF UPDATE METHODOS FOR
REPLICATED

DATABASES.

Computer

Science

Departament,

Stanford University.
Colouris, G. (2001). DISTRIBUTED SYSTEMS: CONCEPTS AND
DESIGN. Addison-Wesley.
Darwen,

H.

(1998).

FOUNDATION

FOR

OBJECT

RELATIONAL

DATABASES.
Elmasri, R., & Navathe, S. (2002). FUNDAMENTO DE SISTEMAS DE

70

BASES DE DATOS. Addison Wesley.


Fernandez, E., Summers, R., & Wood, C. (1981). DATABASE SECURITY
AND INTEGRITY. Addison Wesley.
Garcia, A. (2003). PROPUESTA DE UN METODO DE PLANIFICACION
PARA LA RECONFIGURACION EN LINEA EN UN SISTEMA DE
TIEMPO - REAL. Mexico: Universidad Nacional Autonoma de Mxico.
Gray, J., & Reuter, A. (1996). THE DANGERS OF REPLICATION AND
A SOLUTION. Canada: Montreal.
Hallsall, F. (1992). DATA COMMUNICATIONS, COMPUTER NETWORKS
AND OPEN SYSTEMS. Addison Wesley, Reading, MA.
Hasse, O., & Henrich, A. (1995). ERROR PROPAGATION IN DISTRIBUTED
DATABASES. CIKM'95 Baltimore MD USA.
Hernndez, R., Fernndez, C., & Baptista, P. (2014). METODOLOGIA DE LA
INVESTIGACIN. Mexico: McGRAW-HILL/INTERAMERICANA.
Hoffer, J., & Prescott, F. (2002). MODERN DATABASE
MANAGEMENT. Prentice Hall.
Osorio, F. (2008). BASES DE DATOS RELACIONALES TEORIA Y
PRTICA. Medellin: Textos Academicos.
Ozsu, M., & Valduriez, P. (1996). DISTRIBUTED AND PARALLEL
DATABASE SYSTEMS. Prentice Hall.
Silberschatz, A., Korth, H., & Sudarshan, S. (1998). FUNDAMENTOS DE
BASE DE DATOS. Mc Graw Hill.
Simon, E. (1996). DISTRIBUTED INFORMATION SYSTEMS. FROM C/S
TO DISTRIBUTED MULTIMEDIA. Mc Graw Hill.

71

Skeen, D. (1991). NONBLOCKING COMMIT PROTOCOL.


Tanenbaum, A. (1996). SISTEMAS OPERATIVOS DISTRIBUIDOS.
Mexico: Prentice Hall.

72

7
3

Вам также может понравиться