BASE DE DATOS
Se denomina base de datos a un conjunto de
información sobre una temática determinada, la cual es almacenada de forma
metódica con el propósito de ser utilizada en la posteridad. Actualmente, las
bases de datos son realizadas en formato digital, lo que permite acumular una
gran cantidad de información, en poco espacio y acelerar su búsqueda ulterior.
HISTORIA DE LA BASE DE DATOS :
Bibliotecas, censos, archivos médicos Desarrollaron
principios básicos utilizados hoy como los índices.
ü Termino
base de datos creado en 1963.
Evolucion de la base de datos
Ø Década 1960-1970: Primeras
bases de datos
ü Aplicaciones
Ad-hoc, Orientadas a registro.
ü Poco
eficientes, propensos a errores.
ü Modelos
en red y jerárquicos.
Ø EN EL AÑO DE 1969: UN MODELO
RELACONAL DE DATOS PARA GRANDES BANCOS DE DATOS. EDGAR F. CODD.
ü Proponía
separar el modelo lógico del físico.
ü Bases
del modelo relacional, el mas utilizado
hoy.
Ø EN LOS AÑOS SETENTA: APARECEN LAS
PRIMERAS BASES DE DATOS RElACIONALES.
ü Ingres.
ü System
R.
Ø 1976: CHEN PROPONE EL DIAGRAMA ENTIDAD-RELACION.
Ø 1980: LOS SISTEMAS DE RELACIONES COMIENZAN A UTILIZARSE DE
FORMA RACIONAL.
ü SQL
se hace el lenguaje estándar para BBDD.
ü Aparecen
numerosas compañías como RIM, RBASE 5000, PARADOX,
ü OS/2
Database Manager, Dbase III, IV (después Foxbase y Visual FoxPro), Watcom SQL.
ü Los
modelos jerárquicos y de red van dejando de ser utilizados.
MODELO FISICO
BD vs FICHEROS
BASE DE DATOS
Una base de datos es un “almacén” que nos permite guardar
grandes cantidades de información de forma organizada para que luego podamos
encontrar y utilizar fácilmente.
ü Desde
el punto de vista informático, la base de datos es un sistema formado por un
conjunto de datos almacenados en discos que permiten el acceso directo a ellos
y un conjunto de programas que manipulen ese conjunto de datos.
Características
ü Independencia
lógica y física de los datos.
ü Redundancia
mínima.
ü Acceso
concurrente por parte de múltiples usuarios.
ü Integridad
de los datos.
ü Consultas
complejas optimizadas.
ü Seguridad
de acceso y auditoría.
ü Respaldo
y recuperación.
ü Acceso
a través de lenguajes de programación estándar.
SISTEMA
DE GESTION DE BASE DE DATOS(SGBD)
LOS SISTEMA DE GESTION DE BASE DE DATOS son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta.
LOS SISTEMA DE GESTION DE BASE DE DATOS son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta.
Tipos de
Campos
Cada Sistema de Base de
Datos posee tipos de campos que pueden ser similares o diferentes. Entre los
más comunes podemos nombrar:
·
Numérico: entre
los diferentes tipos de campos numéricos podemos encontrar enteros “sin
decimales” y reales “decimales”.
·
Booleanos: poseen
dos estados: Verdadero “Si” y Falso “No”.
·
Memos: son
campos alfanuméricos de longitud ilimitada. Presentan el inconveniente de no
poder ser indexados.
·
Fechas: almacenan
fechas facilitando posteriormente su explotación. Almacenar fechas de esta
forma posibilita ordenar los registros por fechas o calcular los días entre una
fecha y otra.
·
Alfanuméricos: contienen
cifras y letras. Presentan una longitud limitada (255 caracteres).
·
Autoincrementadles: son
campos numéricos enteros que incrementan en una unidad su valor para cada
registro incorporado. Su utilidad resulta: Servir de identificador ya que
resultan exclusivos de un registro.
Tipos de
Base de Datos
Entre los diferentes tipos de base de datos, podemos
encontrar los siguientes:
- MySql: es una base de datos con licencia GPL basada en un
servidor. Se caracteriza por su rapidez. No es recomendable usar para
grandes volúmenes de datos.
- PostgreSql y
Oracle: Son sistemas de base de datos poderosos.
Administra muy bien grandes cantidades de datos, y suelen ser utilizadas
en intranets y sistemas de gran calibre.
- Access: Es
una base de datos desarrollada por Microsoft. Esta base de datos,
debe ser creada bajo el programa access, el cual crea un archivo .mdb con
la estructura ya explicada.
- Microsoft
SQL Server: es una base de datos más potente que
access desarrollada por Microsoft. Se utiliza para manejar grandes
volúmenes de informaciones.
Estructura de una Base de Datos
Una base de datos, a fin de ordenar la información de
manera lógica, posee un orden que debe ser cumplido para acceder a la
información de manera coherente. Cada base de datos contiene una o más tablas,
que cumplen la función de contener los campos.
En el siguiente ejemplo mostramos una tabla “comentarios”
que contiene 4 campos.
- Los datos
quedarían organizados como mostramos en siguiente ejemplo:
Por consiguiente una base de
datos posee el siguiente orden jerárquico:
ü Tablas
ü Campos
ü Registros
ü Lenguaje
SQL
- El lenguaje
SQL es el más universal en los sistemas de base de datos. Este
lenguaje nos permite realizar consultas a nuestras bases de datos para
mostrar, insertar, actualizar y borrar datos.
A continuación veremos un
ejemplo de ellos:
- Mostrar: para mostrar los registros se utiliza la instrucción
Select.Select * From comentarios.
- Insertar: los
registros pueden ser introducidos a partir de sentencias que emplean la
instrucción Insert. Insert Into comentarios (titulo, texto, fecha)
Values ('saludos', 'como esta', '22-10-2007')
- Borrar: Para
borrar un registro se utiliza la instrucción Delete. En este caso debemos
especificar cual o cuales son
los registros que queremos borrar. Es por ello necesario establecer una
selección que se llevara a cabo mediante la cláusula Where. Delete
From comentarios Where id='1'.
- Actualizar: para
actualizar los registros se utiliza la instrucción Update. Como para el
caso de Delete, necesitamos especificar por medio de Where cuáles son los
registros en los que queremos hacer efectivas nuestras modificaciones.
Además, tendremos que especificar cuáles son los nuevos valores de los
campos que deseamos actualizar. Update comentarios Set titulo='Mi
Primer Comentario' Where id='1'.
FICHEROS:
- La memoria
principal es volatil. Los datos que están en memoria principal se pierden
cuando apagamos la máquina. Así que, hay que almacenarlos en memorias
externas (discos, DVD, etc.) para conservarlos indefinidamente. Los datos
se guardan en estructuras llamadas ficheros o archivos. El concepto de
fichero como conjunto de fichas no es válido en el caso de los
ordenadores. Cualquier dato de cualquier tipo se tiene que almacenar en un
fichero o archivo. Así que un fichero puede ser cualquier cosa: una lista
de clientes, una carta, un fragmento de sonido, un video, una fotografía,
un programa (conjunto de instrucciones), un virus...
- Para poder gestionar de forma eficiente los datos
(ficheros) le asignamos a cada uno un nombre arbitrario con caracteres
válidos. El sistema operativo impone las normas para nombrar a los
ficheros. En Windows no son válidos los siguientes caracteres:
ü El
nombre de cualquier fichero se compone de dos partes: el nombre propiamente
dicho y la extensión. El nombre es obligatorio y como mínimo debe tener un
carácter (256 como máximo). La extensión es opcional e indica el tipo de
fichero. Entre el nombre y la extensión hay un punto (.) como carácter
separador.
LOS
ICONOS:
Cuando exploramos un disco
duro o cualquier otro dispositivo en cambio no debemos cambiar la extensión o
el nombre porque el archivo puede quedar inutilizado. Windows asocia un icono a
cada tipo de archivo reconocido por el sistema. Si un archivo no es reconocido
por el sistema se le asocia un icono genérico. Los siguientes iconos
representan algunos ejemplos: fichero de imagen, documento de Word, texto
plano, sistema, hoja de cálculo Excel, carpeta de ficheros, archivo
desasociado...de memoria externa, observamos infinidad de símbolos (iconos en Windows)
con un nombre en su pie. Son los ficheros o archivos asociados a un dibujo o
icono. El icono sólo sirve para identificar de forma visual el tipo de un
archivo. El icono carece de importancia: podemos cambiar el dibujo por otro,
·
LOS DIRECTORIOS:
Los directorios (carpetas en
adelante) son ficheros especiales que contienen más ficheros. Estos permiten
estructurar y organizar las memorias externas en forma de árboles.
·
LOS PROGRAMAS,
EJECUTABLES...
Estos ficheros permiten que
trabajemos con la máquina. Hacen que funcione la máquina y que tengamos
aplicaciones con las que trabajar. Por ejemplo, podemos escribir una carta en
Word porque tenemos en el disco duro un fichero (winword.exe) que es el
conocido programa de Microsoft...
DIFICULTADES
·
Redundancia de datos
·
Dificultad en el acceso de los datos
·
Aislamiento de datos
·
Problemas de integridad
·
Problemas de automaticidad
·
Anomalías en el acceso concurrente
·
Problemas de seguridad
TIPOS DE BASE
DE DATOS
Las bases de datos pueden clasificarse de varias maneras,
de acuerdo al contexto que se esté manejando, la utilidad de las mismas o las
necesidades que satisfagan.
SEGÚN SU
TAMAÑO:
PequeñasMedianas
Grandes
Pequeñas:
Estas son eficaces con un conjunto de datos reducido,
sobre unos 30.000 registros en función del la cantidad y el diseño de los
campos.
Medianas:
Son las que normalmente se
usan en aplicaciones de escritorio, y suelen ser relacionales.
Grandes:
Son las que normalmente se usan en grandes empresas y
servicios públicos: MySQL. PostgreSQL, Oracle,
Microsoft SQL Server.
Según la
variabilidad de los datos almacenados:
Base de Datos Estáticas
Base de datos
estáticas:
Son bases de datos
de sólo lectura, utilizadas primordialmente para almacenar datos históricos que
posteriormente se pueden utilizar para estudiar
Base de datos
dinámicas:
Éstas son bases de datos donde la información almacenada
se modifica con el tiempo, permitiendo operaciones como actualización, borrado
y adición de datos, además de las operaciones fundamentales de consulta.
Según el contenido:
Bases de datos
bibliográficasBases de datos de texto completo
Bases de datos o "bibliotecas" de información química o biológica
Bases de datos
bibliográficas:
Sólo contienen un
subrogante (representante) de la fuente primaria, que permite localizarla. Un
registro típico de una base de datos bibliográfica contiene información sobre
el autor, fecha de publicación, editorial, título, edición, de una determinada
publicación, etc.
Bases de datos
de textos completos:
Almacenan las fuentes primarias, como por ejemplo, todo
el contenido de todas las ediciones de una colección de revistas científicas.
Directorios
Un ejemplo son
las guías telefónicas en formato electrónico
Bases de datos
o "bibliotecas" de información química o biológica:
Son bases de datos que almacenan diferentes tipos de
información proveniente de la química, las ciencias de la
vida o médicas.
VENTAJAS Y
DESVENTAJAS:
Ventajas:
ü Permite
a los diferentes usuarios considerar la información como recurso corporativo
que carece de dueños específicos.
ü Eliminación
de información redundante.
ü Eliminación
de información inconsistente.
ü Permite
compartir información.
ü Independencia
de datos.
DESVENTAJAS:
Ø TAMAÑO: Requiere de mucho
espacio en disco duro y también requiere de mucha memoria RAM para poder correr
adecuadamente.
Ø COMPLEJIDAD: Es
un producto complejo de entender. Necesita de programadores adiestrados para
manejarlo.
Ø COSTO: Los productos de Base
de Datos son caros.
Ø REQUERIMIENTOS ADICIONALES DE EQUIPO: Debe
adquirirse un equipo adicional para poder correr ese producto, por ejemplo
servidores, memoria, discos duros, etc.
Ø EN CASO DE FALLA, EL IMPACTO ES MAYOR: Si
un componente de la Base de Datos sufre un desperfecto, se detiene las
operaciones del producto por completo.
Ø COMPLEJO EL RECUPERAR LOS DATOS: En
caso de un accidente que corrompa la Base de Datos, el proceso de recuperación
y devolver a la Base de Datos su estado anterior al problema, es mucho más
complejo de ejecutar que en sistemas tradicionales.
Un modelo de datos es básicamente una "descripción“de
algo conocido como contenedor de datos (algo en donde se guarda la
información).
Los modelos de datos no son cosas físicas: son
abstracciones que permiten la implementación de un sistema eficiente
de base de datos (algoritmos, y conceptos matemáticos).
BASES DE DATOS JERÁRQUICAS
ü Almacenan
su información en una estructura jerárquica.
ü son
útiles en el caso de aplicaciones que manejan un gran volumen de información y
datos muy compartidos.
ü Una
de las principales limitaciones de este modelo es su incapacidad de representar
eficientemente la redundancia de datos.
BASE DE DATOS DE RED
ü la
modificación del concepto de nodo: se permite que un mismo nodo tenga
varios padres (posibilidad no permitida en el modelo jerárquico).
ü la
dificultad para administrarla lo hace un modelo mayormente usado por
programadores más que por usuarios finales.
ü ofrecía
una solución eficiente al problema de redundancia de datos
BASE DE DATOS RELACIONAL
ü A
diferencia de otros modelos, Este tiene la ventaja de que es más fácil de
entender y de utilizar para un usuario de la base de datos.
ü El
lenguaje más habitual para construir las consultas a bases de datos
relacionales es SQL,
ü La
información puede ser recuperada o almacenada mediante "consultas"
que ofrecen una amplia flexibilidad y poder para administrar la información.
BASES DE DATOS ORIENTADAS A OBJETOS
- Es una base de datos que incorpora todos los conceptos
importantes del paradigma de objetos:
ü Encapsulación.
ü Herencia.
ü Polimorfismo.
- los usuarios
pueden definir operaciones sobre los datos como parte de la definición de
la base de datos
BASES DE DATOS DOCUMENTALES
ü Permiten
la indexación a texto completo, y en líneas generales realizar búsquedas más
potentes.
ü Permiten
la indexación a texto completo, y en líneas generales realizar búsquedas más potentes.
BASE DE DATOS DEDUCTIVAS
ü Es
un sistema de base de datos con la diferencia de que permite hacer deducciones
a través de inferencias.
ü También
las bases de datos deductivas son llamadas base de datos lógica, a raíz de
que se basan en lógica matemática.
ü Se
basa principalmente en reglas y hechos que son almacenados en la base de datos.
Gestión de bases de datos distribuida
ü La
base de datos está almacenada en varias computadoras conectadas en red.
ü Surgen
debido a la existencia física de organismos descentralizados. Esto les da la
capacidad de unir las bases de datos de cada localidad y acceder así a
distintas universidades, sucursales de tiendas, etc.
BASE DE DATOS EN
LA NUBE
Una base de datos en la nube es una base de datos que se
ejecuta en la nube. Hay dos modelos de implementación: los usuarios pueden
ejecutar las bases de datos en la nube de forma independiente, utilizando una
imagen de máquina virtual, o pueden comprar el acceso a un servicio de base de
datos, gestionada por un proveedor de base de datos en nube. De las bases de
datos disponibles en la nube, algunas son basadas en SQL y algunos utilizan un
modelo de datos NoSQL.
MODELOS DE BASE DE DATOS EN LA NUBE
ü Bases
de datos SQL (relacionales en oposición), son un tipo de base de datos que se
puede ejecutar en la nube (ya sea como una imagen de máquina virtual o como un
servicio, dependiendo del proveedor).
ü Bases
de datos NoSQL (no relacionales en oposición), son otro tipo de base de datos
que puede ejecutarse en la nube. Las bases de datos NoSQL están diseñados para
servir cargas pesadas de lecto-escritura y son capaces de escalar hacia arriba
y hacia abajo con facilidad. y por lo tanto son más adecuadas para funcionar de
forma nativa en la nube.
MAYOR PROVEEDOR DE BASE DE DATOS EN LA NUBE
DANAConnect provee una versátil herramienta de base de
datos que opera completamente en la nube, capaz de manejar millones de
registros, realizar segmentaciones automáticas y proveer diferentes vistas y
reportes sobre los datos de acuerdo a distintos parámetros de análisis.
La información cargada reside de forma segura en
nuestros servidores de datos de alta disponibilidad y puede ser accedida
simplemente a través de un navegador de internet tal como Firefox, Chrome e
Internet Explorer. La aplicación cuenta con una interfaz sencilla que en pocos
pasos permite la definición de una estructura de datos compleja, la carga
masiva de datos y la generación de segmentos y reportes de gran utilidad.
DIEZ DE LAS BASES DE DATOS MÁS UTILIZADAS
AMAZON WEB SERVICES
Amazon Web Services tiene una variedad de servicios de
bases de datos basadas en la nube, incluyendo bases de datos relacionales y
NoSQL. Amazon Relational Database (SDR) ejecuta MySQL, Oracle o instancias de
SQL Server, mientras que Amazon SimpleDB es una base de datos en menor escala
pensada para cargas de trabajo más pequeñas. Por el lado de NoSQL, Amazon
DynamoDB es su base de datos de unidad de estado sólido (SSD) que
automáticamente replica cargas de trabajo en al menos tres zonas de
disponibilidad. El CTO de AWS, Werner Vogels, señala que DynamoDB es el
servicio de más rápido crecimiento en la historia de AWS. Amazon también ofrece
una variedad de servicios auxiliares de gestión de datos, tales como su almacén
de datos denominado Redshift, así como Data Pipeline, que ayuda a que los
usuarios integren datos de múltiples fuentes para facilitar la gestión.
ENTERPRISEDB
Enterprise DB se centra en las bases de datos de código
abierto PostgreSQL, pero su verdadero reclamo a la fama es su capacidad para
trabajar con las aplicaciones de la base de datos Oracle. Con Postgres Plus
Advanced Server de EnterpriseDB, las organizaciones pueden utilizar las
aplicaciones escritas para bases de datos en las instalaciones de Oracle a
través de EnterpriseDB, que se ejecuta en nubes de Amazon Web Services y HP.
Tiene replicación binaria y copias de seguridad programadas.
GARANTIA DATA
Garantia ofrece un servicio de puerta de enlace para que
los usuarios ejecuten Redes de código abierto y servicios de bases de datos
Memcached NoSQL en memoria en la nube pública de AWS. El uso de software de Garantía
permite la configuración automática de estos datos de código abierto al ayudar
a que los desarrolladores de plataformas escalen nodos, creen grupos y
construyan la tolerancia a fallas.
GOOGLE CLOUD SQL
El servicio de base de datos en la nube de Google se
centra en dos productos principales: Google Cloud SQL, que Google describe como
una infraestructura de base de datos MySQL completamente relacional; y Google
BigQuery, una herramienta de análisis para ejecutar consultas en grandes
conjuntos de datos almacenados en la nube.
MICROSOFT AZURE
Microsoft utiliza su tecnología de servidor de SQL para
proporcionar una base de datos relacional, permitiendo que los clientes accedan
a una base de datos SQL ya sea en su nube, o en instancias de servidor SQL en
las máquinas virtuales. Microsoft también hace hincapié en las bases de datos
híbridas que combinan datos tanto en las instalaciones del cliente como en la
nube Azure a través de SQL Data Sync. Microsoft tiene un servicio de nube
alojada en la base de datos NoSQL llamada Tables, mientras que Blobs
(almacenamiento de objeto binario grande) MongoLab
En el mundo NoSQL, hay una variedad de plataformas de
base de datos para elegir, incluyendo MongoDB. MongoLab ofrece a los usuarios
el acceso a MongoDB en una variedad de otros importantes proveedores de nube,
incluyendo AWS, Azure y Joyent. Al igual que los otros tipos de servicios de puerta
de enlace, MongoLab también se integra con varias herramientas de plataformas
como servicio (PaaS) en el nivel de aplicación. MongoLab funciona con entornos
compartidos o dedicados, siendo el último ligeramente más caro.
RACKSPACE
La base de datos de Rackspace viene en una nube o en una
oferta gestionada a través de Cloud Databases, que es el nombre de su producto.
Rackspace pone énfasis en la virtualización basada en contenedores de sus Cloud
Databases, que dicen permitir un mayor rendimiento en el servicio de base de
datos en comparación a si se ejecuta por completo en la infraestructura
virtualizada. Cloud Databases también incorpora una red de almacenamiento SAN y
se basa en una plataforma OpenStack. En diciembre pasado, Rackspace anunció una
base de datos NoSQL en su nube del proveedor Cloudant, se ha optimizado para
archivos multimedia, como audio y video.
SAP
La gigante de software SAP está jugando en la nube con
HANA, una plataforma basada en la tecnología en memoria. Su base de datos en
nube complementa las herramientas de base de datos que están en las
instalaciones de la empresa -incluyendo Sybase-, y está disponible en la nube
de Amazon Web Services. HANA incluye otras aplicaciones que no son de bases de
datos, como herramientas de gestión empresarial y desarrollo de aplicaciones.
STORMDB
A diferencia de otras bases de datos en la nube, StormDB
sigue su distribución completa de base de datos relacional en los servidores de
metal, lo que significa que no hay virtualización de máquinas. Los funcionarios
de StormDB afirman que esto conduce a un mejor rendimiento y a una gestión más
sencilla, porque los usuarios no tienen que elegir el tamaño de las instancias
de máquina virtual que se ejecuta en su base de datos. A pesar de que se
ejecuta en ‘bare metal’, los clientes no tienen que escoger el tamaño de
instancias de máquinas virtuales sobre la que se ejecuta su base de datos,
aunque StormDB promete aislamiento entre las bases de datos de los clientes.
StormDB también fragmenta automáticamente bases de datos en la nube. La
compañía se encuentra actualmente en versión beta gratuita.
XEROUND
Xeround es una herramienta de gestión para la
implementación de bases de datos MySQL fácilmente escalables a través de una
variedad de proveedores y plataformas de nube. Su software permite una alta
disponibilidad y escalabilidad, y funciona a través de una variedad de
proveedores de nube incluyendo AWS, Racks pace, Joyent y HP, así como OpenStack
y plataformas Citrix.
a.
ESQUEMA CON DISCO COMPARTIDO
TIPOS DE
USUARIOS DE BASE DE DATOS
Podemos definir a los usuarios como toda persona que
tenga todo tipo de contacto con el sistema de base de datos desde que este se
diseña, elabora, termina y se usa.
- Usuarios normales. Son usuarios no
sofisticados que interactúan con el sistema mediante un programa de
aplicación con una interfaz de formularios, donde puede rellenar los
campos apropiados del formulario. Estos usuarios pueden también
simplemente leer informes generados de la base de datos.
- Programadores de aplicaciones. Son
profesionales informáticos que escriben los programas de aplicación,
utilizando herramientas para desarrollar interfaces de usuario, como las
herramientas de desarrollo rápido de aplicaciones (DRA), que facilitan
crear los formularios e informes sin escribir directamente el programa.
- Usuarios sofisticados. Interactúan con el sistema sin programas escritos,
usando el lenguaje de consulta de base de datos para hacer sus
consultas. Los analistas que envían las consultas para explorar los datos
en la base de datos entran en esta categoría, usando ellos las
herramientas de procesamiento analítico en línea (OLAP, Online Analytical
Processing), o herramientas de recopilación de datos.
- Usuarios especializados. Son usuarios
sofisticados que escriben aplicaciones de bases de datos especializadas y
adecuadas para el procesamiento de datos tradicional. Entre estas
aplicaciones están los sistemas de diseño asistido por computadora,
sistemas de base de conocimientos y sistemas expertos, sistemas que almacenan datos de tipos de
datos complejos (como gráficos y de audio) y sistemas de modelado de
entorno.
- Administradores de la base de datos (ABD). Son
las personas que tienen el control central del SGBD. Entre las funciones
del ABD se encuentran:
ü Definición
del esquema de la base de datos.
ü Definición
de la estructura y el método de acceso.
ü Modificación
del esquema y la organización física.
ü Concesión
de autorización para el acceso a los datos.
ü Mantenimiento
rutinario.
ARQUITECTURA DE BASES DE
DATOS
TÉRMINOS IMPORTANTES:
·
El Cliente: manejo de la interfaz gráfica, entradas, reportes, algunas
validaciones, notificaciones, etc. (la parte visible al usuario). Otras formas de cliente: Hojas de cálculo,
paquetes estadísticos, etc.
·
El Servidor: Manejo de las transacciones, procesamiento, validaciones de integridad, control de concurrencia,
etc. Posibles
arquitecturas: Servidor de Transacciones y Servidor de Datos
·
La Interfaz (Api): Mecanismo de comunicación entre el cliente y el servidor (JDBC, ODBC)
En la
actualidad podemos contar con 3 importantes tipos de arquitectura de bases de
datos:
·
Arquitectura centraliza
·
Arquitectura cliente servidor
·
Arquitectura paralela
·
Bases de datos distribuidas
1. ARQUITECTURA CENTRALIZADA
Sistemas con un único servidor que se encarga de todas las
tareas (terminales brutas). Sus
componentes son: los datos, el software de gestión de bases de datos y los
dispositivos de almacenamiento secundario asociados.
CARACTERÍSTICAS
·
Se almacena
todo completamente en una localidad.
·
No posee
múltiples elementos de procesamiento ni mecanismos de intercomunicación como
las bases de datos distribuidas.
·
El problema de
seguridad es fácil de manejar.
VENTAJAS
·
Se evita la
redundancia e inconsistencia de datos
así como se conserva la integridad de los mismos.
·
Pueden
aplicarse restricciones de seguridad.
·
El
procesamiento de los datos ofrece un mayor rendimiento y resulta más confiable
que los sistemas distribuidos.
DESVENTAJAS
·
Si el sistema
de base de datos falla, se pierde la disponibilidad y procesamiento de la
información que posee el sistema.
·
Difícil
sincronización para su recuperación.
·
Las cargas de
trabajo no se pueden difundir entre varios computadores.
2. ARQUITECTURA CLIENTE-SERVIDOR
Este tipo
de arquitectura, se basa en la existencia de dos aplicaciones ejecutándose
independientemente, una que actúa como
servidor y la otra como cliente.
CARACTERÍSTICAS
·
El servidor presenta a
todos sus clientes una interfaz única y bien definida.
·
El cliente no necesita
conocer la lógica del servidor, sólo su interfaz externa.
·
El cliente no depende de
la ubicación física del servidor, ni del tipo de equipo físico en el que se encuentra, ni de su sistema operativo.
·
Los cambios en el
servidor implican pocos o ningún cambio en el cliente.
VENTAJAS
·
Fácil de escalar reparto de cargas.
·
Interoperabilidad: los
componentes clave (cliente, servidor y red) trabajan juntos
·
Flexibilidad: la nueva
tecnología puede incorporarse al sistema.
·
Accesibilidad: los datos
pueden ser accedidos desde múltiples clientes.
·
Seguridad: la seguridad
de los datos está centralizada en el servidor
DESVENTAJAS
·
Nuevas aplicaciones.
·
Importancia de comunicación.
·
Requiere un fuerte
rediseño de todos los elementos involucrados en los sistemas de información
(modelos
·
de datos, procesos,
interfaces, comunicaciones, almacenamiento de datos, etc.).
·
A veces, los problemas de
congestión de la red pueden reducir el rendimiento del sistema por debajo de lo
·
que se obtendría con una
única máquina (arquitectura centralizada).
DISTINCIÓN ENTRE EL CLIENTE Y EL SERVIDOR
En este tipo de arquitectura de base de datos
podemos dividir los servidores en dos tipo:
SERVIDOR DE TRANSLACIÓN
Las principales características de este
servidor son:
·
Los clientes
envían peticiones (SQL), el servidor las resuelve y retorna el resultado al cliente.
Componentes:
·
Procesos
servidor: Proceso o hilo que atiende las peticiones del usuario
·
Gestor de
bloqueos: Concesión de bloqueos y detección de Interbloqueos
·
Proceso
escritor: Volcado a disco de bloques en memoria Principal
·
Escritor de
registros: Escritura del registro histórico Proceso de puntos de revisión
·
Monitor de
Procesos: Revisión y recuperación de otros procesos
SERVIDOR DE DATOS
Los sistemas servidores de datos se utilizan en redes de área local en las
que se alcanza una alta velocidad de conexión entre los clientes y el servidor,
las máquinas clientes son comparables al servidor en cuanto a poder de
procesamiento y se ejecutan tareas de cómputo intensivo. Las características principales de este tipo de servidor son:
·
Los datos son
enviados a los clientes y este puede realiza procesamiento de los mismos y
enviarlos al servidor
·
Se requiere un
buen canal de comunicación entre los nodos
3. ARQUITECTURA PARALELA
CARACTERÍSTICAS
·
Solución al problema de
transacciones masivas.
·
Paralelismo a nivel de
disco (I/O) y de procesador
·
Medidas del rendimiento
en:
o
Productividad
(Throughput): #Tareas/U.Tiempo
o
Tiempo de Respuesta: _T
para una tarea
NIVELES DE PARALELISMO
Existen
dos niveles de paralelismo estos son:
Grano Grueso: Cada transacción en un
procesador diferente
Grano Fino: Las operaciones de cada transacción
se pueden distribuir en varios procesadores
El sistema de arquitectura paralela ofrece ciertos tipos
de ventajas o ganancias:
·
Velocidad: A mayor sea la cantidad de recursos, mayor es la velocidad del
sistema
·
Ampliabilidad: Tareas más largas en menos tiempo. Puede ser medida en:
o Lotes: Base de datos más grande
(mayor numero de registros), las transacciones duran más tiempo
o Transacciones: Aumenta el número de
transacciones que llegan a la base de datos y crece el tamaño de la misma
DIFERENTES ESQUEMAS EN LA ARQUITECTURA PARALELA
a.
ESQUEMA CON MEMORIA COMPARTIDA
Comunicación a través de escrituras en
memoria, límite del número de procesadores por el canal de comunicación
Creación de
Clúster; Aumento de la redundancia (tolerancia a fallos); se forma Cuello de botella el acceso a los
discos.
a.
ESQUEMA SIN COMPARTIMIENTO
Alta ampliabilidad;
Deficiencia en la comunicación de datos entre nodos.
a.
ESQUEMA JERÁRQUICO
Combinación de
las anteriores. Obtener las ventajas de cada esquema; Memoria virtual
distribuida
4.
BASES DE DATOS DISTRIBUIDAS
CARACTERÍSTICAS
·
Nodos (Emplazamiento)
distribuidos geográficamente
·
Administración
independiente (Autónoma) de cada nodo
·
Canales de
comunicación más lentos
·
Utilización de
transacciones globales, locales y remotas
·
Sistemas
distribuidos heterogéneos
VENTAJAS
·
Compartimento
de Datos: Los usuarios de cada nodo pueden acceder a los datos de otros nodos
(transacciones globales)
·
Autonomía: La
administración de cada nodo es local (independiente de los otros) distribuyendo así la
carga del DBA
·
Disponibilidad:
La existencia de replicas permite que la caída de un nodo no implique la caída total del sistema (se aumenta en
complejidad de recuperación pero se gana en disponibilidad del sistema)
DESVENTAJAS
·
Complejidad en
la coordinación de la distribución de los datos
·
Costos en el
desarrollo de software
·
Aumento en la
probabilidad de errores
·
Mayor
sobrecarga de procesamiento
DEFINICIÓN:
Los sistemas de Gestión de Bases
de Datos (SBGD), son aplicaciones que permiten a los usuarios definir, crear y
mantener la base de datos y proporciona un acceso controlado a la misma. Los
SGBD es la aplicación que interactuan con los usuarios de los programas de
aplicación y la base de datos.
FUNCIÓN:
·
De descripción o definición: especificar los
datos que la integran, estructura y relaciones entre ellos, reglas de
integridad, controles de acceso asi como características físicas y lógicas.
·
Manipulación: permite a los usuarios buscar,
eliminar y modificar los datos de base, de acuerdo con las normas de seguridad.
·
De utilización: reúne todas las interfaces que
necesitan los diferentes tipos de usuarios para comunicarse con la base y proporciona
un conjunto de procedimientos para el administrador.
LENGUAJE DE DOS SGBD
El acceso a la bases de datos se
realiza mediante lenguajes de cuarta generación escritos en SQL.
VENTAJAS
·
Control sobre la redundancia de datos
·
Consistencia de datos
·
Más información sobre la misma cantidad de datos
·
Compartición de datos
·
Mantenimiento de estándares
·
Mejora en la integridad de datos
·
Mejora en la seguridad
·
Mejora en la accesibilidad a los datos
·
Mejora en la productividad
·
Mejora en el mantenimiento gracias a la independencia
de datos
·
Aumento de la concurrencia
·
Mejora en los servicios de copias de seguridad y
de recuperación ante fallos
DESVENTAJAS
·
Complejidad
·
Tamaño
·
Coste económico del SGBD
·
Costo del equipamiento adicional
·
Costo de la conversión
·
Prestaciones
·
Vulnerable a los fallos
EJEMPLOS DE SISTEMA DE GESTIÓN DE BASES DE DATOS EN EL MERCADO
·
progresSQL
·
Firebird
·
Apache Derby
·
MySQL
·
IDM DB2
·
Microsoft Access
·
Microsoft SQL Server
·
Oracle
No hay comentarios:
Publicar un comentario