Anda di halaman 1dari 10

BASES DE DATOS DISTRIBUIDAS

Una Base de Datos Distribuida (BDD) es un conjunto de mltiples bases de datos


lgicamente relacionadas las cuales se encuentran distribuidas entre diferentes sitios
interconectados por una red de comunicaciones, los cuales tienen la capacidad de
procesamiento autnomo lo cual indica que puede realizar operaciones locales o
distribuidas. Un sistema de Bases de Datos Distribuida (SBDD) es un sistema en el cual
mltiples sitios de bases de datos estn ligados por un sistema de comunicaciones de tal
forma que, un usuario en cualquier sitio puede acceder los datos en cualquier parte de la
red.
En un sistema distribuido de bases de datos se almacenan en varias computadoras. Los
principales factores que distinguen un SBDD de un sistema centralizado son los siguientes:
Hay mltiples computadores, llamados sitios o nodos.
Estos sitios deben de estar comunicados por medio de algn tipo de red de
comunicaciones para transmitir datos y rdenes entre los sitios.
En consecuencia, la llamada "base de datos distribuida" es en realidad una especie de
objeto virtual, cuyas partes componentes se almacenan fsicamente en varias bases de
datos "reales" distintas ubicadas en diferentes sitios. De hecho, es la unin lgica de esas
bases de datos. En otras palabras, cada sitio tiene sus propias bases de datos "reales"
locales, sus propios usuarios locales, sus propios DBMS y programas para la administracin
de transacciones (incluyendo programas de bloqueo, bitcoras, recuperacin, etc ), y su
propio administrador local de comunicacin de datos ( administrador DC ).

Objetivos de las BDD


1) Lograr Mayor Seguridad
2) Conseguir Minimizar Costos
3) Evitar concurrencia
4) Aumentar Productividad
Las 12 reglas:
1. Autonoma local: Los sitios en un sistema distribuido deben ser autnomos.

2. No dependencia de un sitio central: no debe haber particularmente ninguna dependencia


de un sitio maestro central para algn servicio central.
3. Operacin continua: una ventaja de los sistemas distribuidos es que deben proporcionar
mayor confiabilidad y mayor disponibilidad.
4. Independencia de ubicacin: los usuarios no tienen que saber donde estn almacenados
fsicamente los datos, si no que deben ser capaces de comportarse como si todos los datos
estuvieran almacenados en su propio sitio local.
5. Independencia de fragmentacin: un sistema soporta la fragmentacin de datos cuando
una varrel puede ser divida en partes o fragmentos, para efectos de almacenamiento fsico.
6. Independencia de replicacin: un sistema soporta la replicacin de datos cuando una
varrel almacenada dada puede ser representada por muchas copias distintas o rplicas,
guardadas en muchos sitios distintos.
7. Procesamiento de consultas distribuidas
8. Administracin de transacciones distribuidas: hay dos aspectos principales en la
administracin de transacciones: el control de la recuperacin y el control de la
concurrencia.
9. Independencia de hardware: es necesario tener la posibilidad de ejecutar el mismo DBMS
en diferentes plataformas de hardware y, adems, hacer que esas mquinas diferentes
participen como socios igualitarios en un sistema distribuido.
10. Independencia de sistema operativo: es necesario no solo tener la posibilidad de
ejecutar el mismo DBMS en diferentes plataformas de hardware, si no tambin ejecutarlo
en diferentes plataformas de sistema operativo.
11. Independencia de red: es necesario tener la posibilidad de soportar tambin una
variedad de redes de comunicacin distintas.
12. Independencia de DBMS: todo lo que en realidad necesitamos es que todos los
ejemplares del DBMS en sitios diferentes soporten la misma interfaz, aunque no tienen que
ser necesariamente copias del mismo software DBMS.

DISCIPLINAS DE ESTUDIO DE LAS BASES DE DATOS DISTRIBUIDAS


Como principales disciplinas de estudio para conocer las bases de datos tenemos las
siguientes:
A) INGENIERIA: Para conocer cmo se desarrollan y que forma tendrn para implementarse.

B) ALGEBRA: Buscando establecer relaciones en base a funciones algebraicas.


C) BASES DE DATOS: Buscando un adecuado funcionamiento de acuerdo a los principios de
estas.
D) REDES: Implementado en adecuado sistema para su funcionamiento sin concurrencia.

ARQUITECTURA BASE DE DATOS DISTRIBUIDAS


En esta parte ser de gran utilidad establecer y dejar en claro cmo ser la comunicacin
entre la base de datos para que cuando se implemente en las dems sedes no se tenga que
volver a organizar.
Es de vital importancia dejar claro cmo ser la interaccin entre el cliente-servidor para
que al guardar datos o hacer los diferentes tipos de operaciones no se duplique la
informacin y se tenga la certeza de obtener datos reales. Para esto definiremos 3 niveles
que son:
1. Nivel interno: es el nivel ms bajo de abstraccin, y define cmo se almacenan los datos
en el soporte fsico, as como los mtodos de acceso.
2. Nivel conceptual: es el nivel medio de abstraccin. Se trata de la representacin de los
datos realizada por la organizacin, que recoge las vistas parciales de los requerimientos de
los diferentes usuarios y las aplicaciones posibles. Se configura como visin organizativa
total, e incluye la definicin de datos y las relaciones entre ellos.
3. Nivel externo: es el nivel de mayor abstraccin. A este nivel corresponden las diferentes
vistas parciales que tienen de la base de datos los diferentes usuarios. En cierto modo, es la
parte del modelo conceptual a la que tienen acceso.

DEFINICION DEL TERMINO CLIENTE-SERVIDOR


1.El modelo cliente-servidor (client-server), describe el proceso de interaccin entre la
computadora local (el cliente) y la remota (el servidor).
El cliente le hace peticiones(requests, solicitudes, requerimientos) al servidor, el cual
procesa dicho requerimiento y retorna los resultados al cliente apropiado.
Por lo general, los clientes y los servidores se comunican entre s a travs de una red, pero
tambin pueden residir ambos en un mismo sistema (el mismo hardware).

2.El Cliente-Servidor es un sistema distribuido entre mltiples Procesadores donde hay


clientes que solicitan servicios y servidores que los proporcionan. La Tecnologa
Cliente/Servidor, es un modelo que implica productos y servicios enmarcados en el uso de
la Tecnologa de punta, y que permite la distribucin de la informacin en forma gil y eficaz
a las diversas reas de una organizacin (empresa o institucin pblica o privada), as como
tambin fuera de ella.
3.Cliente
El cliente es el proceso que permite al usuario formular los requerimientos y pasarlos al
servidor, se le conoce con el trmino front-end.
El Cliente normalmente maneja todas las funciones relacionadas con la manipulacin y
despliegue de datos, por lo que estn desarrollados sobre plataformas que permiten
construir interfaces grficas de usuario (GUI), adems de acceder a los servicios distribuidos
en cualquier parte de una red.
Las funciones que lleva a cabo el proceso cliente se resumen en los siguientes puntos:
Administrar la interfaz de usuario.
Interactuar con el usuario.
Procesar la lgica de la aplicacin y hacer validaciones locales.
Generar requerimientos de bases de datos.
Recibir resultados del servidor.
Formatear resultados.
Servidor
Es el proceso encargado de atender a mltiples clientes que hacen peticiones de algn
recurso administrado por l. Al proceso servidor se le conoce con el trmino back-end.
El servidor normalmente maneja todas las funciones relacionadas con la mayora de las
reglas del negocio y los recursos de datos.
Las funciones que lleva a cabo el proceso servidor se resumen en los siguientes puntos:
Aceptar los requerimientos de bases de datos que hacen los clientes.
Procesar requerimientos de bases de datos.
Formatear datos para trasmitirlos a los clientes.
Procesar la lgica de la aplicacin y realizar validaciones a nivel de bases de datos.
IBM define al modelo Cliente-Servidor
Es la tecnologa que proporciona al usuario final el acceso transparente a las aplicaciones,
datos, servicios de cmputo o cualquier otro recurso del grupo de trabajo y/o, a travs de
la organizacin, en mltiples plataformas. El modelo soporta un medio ambiente distribuido

en el cual los requerimientos de servicio hechos por estaciones de trabajo inteligentes o


"clientes, resultan en un trabajo realizado por otros computadores llamados servidores.
Por qu Cliente-Servidor?
Muchos clientes ven interesante al esquema Cliente-Servidor por razones que estn ms
all de los mritos tcnicos. Esto es ciertamente vlido, pero tenga cuidado con las trampas
en las que pueda caer si la solucin Cliente-Servidor no fue realizada por una razn tcnica
primaria. Hay tres razones primordiales a considerar en Cliente-Servidor:
Tamao de Datos: Visual FoxPro, al igual que todas las variantes de xBase anteriores a l,
tena la limitacin de 2 GB en cualquiera de sus tablas o archivos. Esta limitacin tiene que
ver con la manera en que los bloqueos son realizados en los registros individuales y,
mientras que es ciertamente factible que este lmite sea alcanzado, esto es diferente a
cmo normalmente lo hace Microsoft. A pesar de que hay muchos workarrounds para estos
lmites, estos incrementan los retos con Visual FoxPro en cuanto las tablas se agranden
tiempos prolongados para reindexar en caso de corrupcin, por ejemplo. En resumen, si el
tamao se vuelve un factor mayor, considere si el uso de Cliente-Servidor es adecuado.
Seguridad: Fundamentalmente, todos los accesos a las tablas FoxPro van a travs de la red
del sistema operativo, as que los usuarios necesitan tener acceso a los directorios
conteniendo las tablas VFP. Cualquiera que pueda tener acceso a las tablas puede,
eventualmente, imaginarse como leerlos. Tambin es simple usar un driver ODBC y Excel, o
si ellos necesitan usar un editor hexadecimal para romper su esquema de encriptacin.
Muchos sistemas Cliente-Servidor pueden eliminar esta amenaza en conjunto con la
restriccin de acceso de los clientes a la interface del servidor, y no necesariamente a todos
los datos. Si est tratando con material altamente confidencial, Cliente-Servidor tiene
sentido por razones de seguridad.
Bajo Ancho de Banda: Visual FoxPro es el producto para manejo bases de datos escritorio
y basado en LAN ms rpido y con mejor mejor desempeo disponible en el mercado hoy
en da. Pero VFP obtiene su desempeo fenomenal tomando ventaja del ambiente LAN,
pre-obteniendo informacin de columna, haciendo localmente algn tipo de caching de
encabezados de tablas y contenidos de ndices. Mientras que el proceso de adquirir esta
informacin es casi imperceptible en un ambiente de red, haciendo lenta la apertura inicial
de tablas en milisegundos, esto puede ser un retardo substancial si se est en un cable
delgado (por ejemplo, conexiones Dial-Up, WAN o Internet saturado) entre el cliente y los
datos. En estas situaciones, poner los datos, la responsabilidad de hacer las consultas y
procesamiento de los datos en el servidor minizar los costos de comunicacin y mejorar
la velocidad.

El modelo Cliente-Servidor
La tecnologa denominada Cliente -Servidor es utilizada por todas las aplicaciones
de Internet/Intranet. Un cliente funciona en su ordenador local, se comunica con el servidor
remoto, y pide a ste informacin. El servidor enva la informacin solicitada. Un nico
servidor tpicamente sirve a una multitud de clientes, ahorrando a cada uno de ellos el
problema de tener la informacin instalada y almacenada localmente.
Tipos de sistemas de los Cliente-Servidor dependiendo de las aplicaciones que el servidor
pone a disposicin de los clientes.
Servidores de Impresin, mediante el cual los usuarios comparten impresoras.
Servidores de Archivos, con el cual los clientes comparten discos duros.
Servidores de Bases de Datos, donde existe una nica base de datos.
Servidores de Lotus Notes, que permite el trabajo simultneo de distintos clientes con los
mismos datos, documentos o modelos.
Servidores Web, tambin utilizan la tecnologa Cliente- Servidor, aunque aaden aspectos
nuevos y propios a la misma.
Algunos servidores esperan las solicitudes en puertos bien conocidos de modo que sus
clientes saben a que zcalo IP deben dirigir sus peticiones. El cliente emplea un puerto
arbitrario para comunicarse. Los clientes que se quieren comunicar con un servidor que no
usa un puerto bien conocido tienen otro mecanismo para saber a qu puerto dirigirse. Este
mecanismo podra usar un servicio de registro como Portmap, que utiliza un puerto bien
conocido.

ARQUITECTURA CLIENTE/SERVIDOR
La Arquitectura Cliente/Servidor es un modelo para el desarrollo de sistemas de
informacin en el que las transacciones se dividen en procesos independientes que
cooperan entre s para intercambiar informacin, servicios o recursos. Se denomina cliente
al proceso que inicia el dilogo o solicita los recursos y servidor al proceso que responde a
las solicitudes. En este modelo las aplicaciones se dividen de forma que el servidor contiene
la parte que debe ser compartida por varios usuarios, y en el cliente permanece slo lo
particular de cada usuario.
Caractersticas de la arquitectura Cliente/Servidor
Combinacin de un cliente que interacta con el usuario, y un servidor que interacta con
los recursos compartidos. El proceso del cliente proporciona la interfaz entre el usuario y el
resto del sistema. El proceso del servidor acta como un motor de software que maneja
recursos compartidos tales comobases de datos, impresoras, mdems, etc.

Las tareas del cliente y del servidor tienen diferentes requerimientos en cuanto a recursos
de cmputo como velocidad del procesador, memoria, velocidad y capacidades del disco y
input-output devices.
Se establece una relacin entre procesos distintos, los cuales pueden ser ejecutados en la
misma mquina o en mquinas diferentes distribuidas a lo largo de la red.
Existe una clara distincin de funciones basada en el concepto de "servicio", que se
establece entre clientes y servidores.
La relacin establecida puede ser de muchos a uno, en la que un servidor puede dar
servicio a muchos clientes, regulando su acceso a recursos compartidos.
Los clientes corresponden a procesos activos en cuanto a que son stos los que hacen
peticiones de servicios a los servidores. Estos ltimos tienen un carcter pasivo ya que
esperan las peticiones de los clientes.
No existe otra relacin entre clientes y servidores que no sea la que se establece a travs
del intercambio de mensajes entre ambos. El mensaje es el mecanismo para la peticin y
entrega de solicitudes de servicio.
El ambiente es heterogneo. La plataforma de hardware y el sistema operativo del cliente
y del servidor no son siempre la misma. Precisamente una de las principales ventajas de
esta arquitectura es la posibilidad de conectar clientes y servidores independientemente de
sus plataformas.
El concepto de escalabilidad tanto horizontal como vertical es aplicable a cualquier
sistema Cliente/Servidor. La escalabilidad horizontal permite agregar ms estaciones de
trabajo activas sin afectar significativamente el rendimiento. La escalabilidad vertical
permite mejorar las caractersticas del servidor o agregar mltiples servidores.
Ventajas del esquema Cliente/Servidor
Entre las principales ventajas del esquema Cliente/Servidor estn:
Uno de los aspectos que ms ha promovido el uso de sistemas Cliente/Servidor, es la
existencia de plataformas de hardware cada vez ms baratas. Esta constituye a su vez una
de las ms palpables ventajas de este esquema, la posibilidad de utilizar mquinas
considerablemente ms baratas que las requeridas por una solucin centralizada, basada
en sistemas grandes. Adems, se pueden utilizar componentes, tanto de hardware como
de software, de varios fabricantes, lo cual contribuye considerablemente a la reduccin de
costos y favorece la flexibilidad en la implantacin y actualizacin de soluciones.
El esquema Cliente/Servidor facilita la integracin entre sistemas diferentes y comparte
informacin permitiendo, por ejemplo, que las mquinas ya existentes puedan ser
utilizadas, pero utilizando interfaces ms amigables al usuario. De esta manera, podemos
integrar PCs con sistemas medianos y grandes, sin necesidad de que todos tengan que
utilizar el mismo sistema operacional.

Al favorecer el uso de interfaces grficas interactivas, los sistemas Construdos bajo este
esquema tienen mayor interaccin y ms intuitiva con el usuario. En el uso de interfaces
grficas para el usuario, el esquema Cliente/Servidor presenta la ventaja, con respecto a
uno centralizado, de que no es siempre necesario transmitir informacin grfica por la red
pues esta puede residir en el cliente, lo cual permite aprovechar mejor el ancho de banda
de la red.
Una ventaja adicional del uso del esquema Cliente/Servidor es que es ms rpido el
mantenimiento y el desarrollo de aplicaciones, pues se pueden emplear las herramientas
existentes (por ejemplo, los servidores de SQL o las herramientas de ms bajo nivel como
los sockets o el RPC).
La estructura inherentemente modular facilita adems la integracin de nuevas
tecnologas y el crecimiento de la infraestructura computacional, favoreciendo as la
escalabilidad de las soluciones.
El esquema Cliente/Servidor contribuye, adems, a proporcionar, a los diferentes
departamentos de una organizacin, soluciones locales, pero permitiendo la integracin de
la informacin relevante a nivel global.
Desventajas del esquema Cliente/Servidor
Entre las principales desventajas del esquema Cliente/Servidor estn:
El mantenimiento de los sistemas es ms difcil pues implica la interaccin de diferentes
partes de hardware y de software, distribuidas por distintos proveedores, lo cual dificulta
el diagnstico de fallas.
Se cuenta con muy escasas herramientas para la administracin y ajuste del desempeo
de los sistemas.
Es importante que los clientes y los servidores utilicen el mismo mecanismo (por ejemplo,
sockets o RPC), lo cual implica que se deben tener mecanismos generales que existan en
diferentes plataformas.
Adems, hay que tener estrategias para el manejo de errores y para mantener la
consistencia de los datos.
La seguridad de un esquema Cliente/Servidor es otra preocupacin importante. Por
ejemplo, se deben hacer verificaciones en el cliente y en el servidor.

INTEGRACION DE DATOS
En una primera aproximacin, podemos definir la integracin de datos como un proceso de
transformacin y conciliacin de datos que permita una mayor agilidad en la gestin,
proporcionando datos conectados, seguros y de calidad.
Integrar significa combinar datos que se encuentran en diferentes fuentes para permitirle
al usuario final tener una vista unificada de los mismos para una accesibilidad idnea, que
sirva a las necesidades de negocio.
Actualmente, la aparicin de nuevas tecnologas y la explosin de datos plantean un gran
desafo en este aspecto, y ello se traduce en una mayor complejidad tcnica a la hora de

implementar un plan de integracin de datos, si bien el objetivo sigue siendo el mismo:


evitar su fragmentacin mediante el desarrollo de soluciones.
Una respuesta a necesidades en constante cambio
Son soluciones para variedad de tecnologas, incluyendo Data Warehouse, aplicaciones
MDM, aplicaciones de BI, arquitecturas SOA, etc. y para todas ellas la integracin de datos
representa un elemento esencial.
Al margen de la casustica las polticas de integracin de datos estn orientadas a lograr una
ptima accesibilidad para aprovechar al mximo el potencial de la informacin empresarial
gracias a su multifuncionalidad, que puede servir a distintas utilidades:
-

Sincronizar bases de datos.


Consolidacin de sistemas.
Proveer datos para proyectos de BI.
Migraciones que requieren transformar los modelos de datos.

Estas diversas necesidades de integracin de datos, por otra parte, han relegado a los ETL
tradicionales a entornos analticos y aparecen necesidades de integracin de datos para
otro tipo de proyectos, como los mencionados, desde las externalicacin, integracin de
aplicaciones o migraciones hasta la BBDD, sincronizacin, y un largo etctera.
Las tecnologas o soluciones de integracin de datos, por lo tanto, han de permitir
su movimiento y actualizacin de manera rpida y fiable pues, al fin y al cabo, solo con
cuando una integracin es gil se consigue un negocio que tambin lo sea.
A nivel prctico, la integracin es una respuesta a necesidades empresariales que van
variando con el tiempo para la obtencin de datos fiables que respondan a los
requerimientos del negocio. En este sentido, integrar significa tantoescalabilidad como
tener ms maniobrabilidad a la hora de integrar servicios en una arquitectura orientada a
servicios o, por ejemplo, abordar proyectos que impliquen transferencia de datos para
procesamientos con tiempos de latencia batch o real time.
Las plataformas que satisfacen los requisitos de integracin de datos tambin ayudan a una
gestin ms eficiente gracias a una reduccin de plazos de desarrollo y costes de
mantenimiento. Sin embargo, su implementacin es lenta y compleja.
De hecho, aunque los proyectos de integracin de datos pueden abarcar reas sectoriales
durante una progresiva implementacin, su objetivo ltimo es holstico. Se trata, en suma,
de abarcar la totalidad de los datos, no en centrarse en proyectos puntuales.
La confiabilidad de los datos
Finalmente, integracin significa confiabilidad de los datos. Una empresa que no tiene los
datos integrados o, por ejemplo, que ha realizado una integracin defectuosa, no tendr

datos confiables, y ello se traducir en problemas de todo tipo. En estos casos, no integrar
significa tener dificultades para cumplir con la normativa, insatisfaccin de la clientela,
merma del prestigio de empresa, falta de confianza en la informacin, imposibilidad de
tomar decisiones crticas a partir de los datos por no ser fiables, no poder acceder a los
datos en el momento en el que se necesitan desde cualquier lugar o, por ejemplo, carecer
de informacin en tiempo real.
Si por pasiva la falta de integracin de datos significa inoperatividad, por activa, la
integracin de datos significa confiabilidad para la toma de decisiones y la consolidacin de
datos de diferentes fuentes de informacin para poder cumplir con cualquiera de las
necesidades asociadas a la integracin de datos y, en general, todas aquellas iniciativas que
requieran obtener datos fiables de forma accesible.
Una estrategia de integracin de datos adecuada ha de persequir la consolidacin de los
datos de la empresa para permitir cumplir todos estos objetivos, si bien implementar un
plan puede ser ms o menos complejo, en funcin de cada caso. Pasar de la heterogeneidad
y la fragmentacin a la integracin conlleva, en suma, la recompensa de la tan ansiada
ventaja competitiva.

DISTRIBUCION DE DATOS
En un sistema de base de datos distribuida, los datos se almacenan en varios computadores.
Los computadores de un sistema distribuido se comunican entre s a travs de diversos
medios de comunicacin, tales como cables de alta velocidad o lneas telefnicas. No
comparten la memoria principal ni el reloj. Los procesadores de un sistema distribuido
pueden variar en cuanto su tamao y funcin.
Un sistema distribuido de bases de datos consiste en un conjunto de localidades, cada uno
de las cuales puede participar en la ejecucin de transacciones que accedan a datos de una
o varias localidades. La diferencia principal entre los sistemas de base de datos centralizados
y distribuidos es que, en los primeros, los datos residen en una sola localidad, mientras que,
en los ltimos, se encuentran en varias localidades.

Anda mungkin juga menyukai