Aplicaciones de las Bases de Datos Bases de datos estáticas Éstas

Anuncio
Aplicaciones de las Bases de Datos
Bases de datos estáticas
Éstas son bases de datos de sólo lectura, utilizadas primordialmente para
almacenar datos históricos que posteriormente se pueden utilizar para estudiar el
comportamiento de un conjunto de datos a través del tiempo, realizar
proyecciones y tomar decisiones.
Bases 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. Un ejemplo de esto puede
ser la base de datos utilizada en un sistema de información de un supermercado,
una farmacia, un videoclub o una empresa.
Según el contenido
Bases de datos bibliográficas
Solo 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. Puede contener un resumen o extracto de la
publicación original, pero nunca el texto completo, porque si no, estaríamos en
presencia de una base de datos a texto completo (o de fuentes primarias —ver
más abajo). Como su nombre lo indica, el contenido son cifras o números. Por
ejemplo, una colección de resultados de análisis de laboratorio, entre otras.
Bases de datos de texto completo
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. Se pueden considerar en varios
subtipos:
 Las que almacenan secuencias de nucleótidos o proteínas.
 Las bases de datos de rutas metabólicas.
 Bases de datos de estructura, comprende los registros de datos
experimentales sobre estructuras 3D de biomoleculas Bases de datos clínicas.
 Bases de datos bibliográficas (biológicas, químicas, médicas y de otros
campos): PubChem, Medline, EBSCOhost.
Arquitectura de la Base de Datos
Los usuarios no tienen por qué conocer cómo están organizados y almacenados
los datos. Por este motivo una base de datos debe presentar los datos de forma
que el usuario pueda interpretarlos y modificarlos. Evidentemente esto no lo
podemos aplicar a un informático que necesite saber dónde se encuentran
físicamente los datos para poder tratarlos.
Podemos destacar tres niveles principales según la visión y la función que realice
el usuario sobre la base de datos:
 Nivel Interno: es el nivel más cercano al almacenamiento físico de los
datos. Permite escribirlos tal y como están almacenados en el ordenador.


En este nivel se diseñan los archivos que contienen la información, la
ubicación de los mismos y su organización, es decir se crean los archivos
de configuración.
Nivel conceptual: En este nivel se representan los datos que se van a
utilizar sin tener en cuenta aspectos como lo que representamos en el nivel
interno.
Nivel externo: es el más cercano al usuario. En este nivel se describen los
datos o parte de los datos que más interesan a los usuarios.
Estos tres niveles de visión de usuarios los proporcionan los sistemas gestores de
base de datos.
Una base de datos específica tiene un único nivel interno y un único nivel
conceptual pero puede tener varios niveles externos.
Niveles de Abstracción de la Base de Datos

Nivel Físico:
Es el nivel real de los datos almacenados. Es decir cómo se almacenan
los datos, ya sea en registros, o como sea. Este nivel es usado por muy
pocas personas que deben estar cualificadas para ello. Este nivel lleva
asociada una representación de los datos, que es lo que denominamos
Esquema Físico.

Nivel Lógico:
El siguiente nivel más alto de abstracción describe que datos se almacenan en la
base de datos y que relaciones existen entre esos datos. La base de datos
completa se describe así en términos de un número pequeño de estructuras
relativamente simples en el nivel físico, los usuarios del nivel lógico no necesitan
preocuparse de esta complejidad. Los administradores de base de datos, que
deben decidir la información que se mantiene en la base de datos, usan el nivel
lógico de abstracción.

Nivel de Vistas:
El nivel más alto de abstracción describe solo parte de la base de datos completa.
A pesar del uso de estructuras más simples en el nivel lógico, queda algo de
complejidad, debido a la variedad de información almacenada en una gran base
de datos. Muchos usuarios del sistema de base de datos no necesitan toda esta
información. En su lugar, tales usuarios necesitan acceder solo a una parte de la
base de datos. Para que su interacción con el sistema se simplifique, se define la
abstracción a nivel de vistas. El sistema puede proporcionar muchas vistas para la
misma base de datos.
Independencia Logica
La Independencia Física De Datos debe permitir la realización de estructuras de
almacenamiento de datos en forma independiente de su estructura lógica en la
realidad Ventajas: los cambios en la estructura lógica no implican cambios en la de
almacenamiento, las consideraciones sobre el mejor manejo de los datos
almacenados quedan a cargo del SMBD y los cambio en la estructura de
almacenamiento no implican cambios en los Programas de Aplicación.
Es la capacidad para modificar el esquema físico sin provocar que los programas
de aplicación tengan que rescribirse. Las modificaciones en el nivel físico son
ocasionalmente necesarias para mejorar el funcionamiento.
Independencia Fisica
La Independencia lógica De Datos: debe permitir una cierta independencia entre
los datos vistos por las aplicaciones y la estructura lógica de ellos en la realidad.
Ventajas: soporte de la evolución de los datos y que cada grupo de trabajo vea
esos datos como cada grupo lo desea.
Es la capacidad para modificar el esquema lógico sin causar que los programas de
aplicación tengan que rescribirse. Las modificaciones en el nivel lógico son
necesarias siempre que la estructura lógica de la base de datos se altere.
La independencia de datos lógica es más fácil de proporcionar que la
independencia de datos física, ya que los programas de aplicación son
fuertemente dependientes de la estructura lógica de los datos a los que ellos
acceden.
Gestor de la Base Datos
El propósito general de los sistemas de gestión de bases de datos es el de
manejar de manera clara, sencilla y ordenada un conjunto de datos que
posteriormente se convertirán en información relevante para una organización.
El sistema manejador de bases de datos es la porción más importante del
software de un sistema de base de datos. Un DBMS es una colección de
numerosas rutinas de software interrelacionadas, cada una de las cuales es
responsable de alguna tarea específica.
Las funciones principales de un DBMS son:
Crear y organizar la Base de datos.
Establecer y mantener las trayectorias de acceso a la base de datos de tal forma
que los datos puedan ser accesados rápidamente.
Manejar los datos de acuerdo a las peticiones de los usuarios.
Registrar el uso de las bases de datos.
Interacción con el manejador de archivos.
Esto a través de las sentencias en DML al comando del sistema de archivos. Así
el Manejador de base de datos es el responsable del verdadero almacenamiento
de los datos.
Respaldo y recuperación.
Consiste en contar con mecanismos implantados que permitan la recuperación
fácilmente de los datos en caso de ocurrir fallas en el sistema de base de datos.
Control de concurrencia.
Consiste en controlar la interacción entre los usuarios concurrentes para no
afectar la inconsistencia de los datos.
Seguridad e integridad.
Consiste en contar con mecanismos que permitan el control de la consistencia de
los datos evitando que estos se vean perjudicados por cambios no autorizados o
previstos.
El DBMS(Sistema de Administración de Bases de Datos) es conocido también
como Gestor de Base de datos.
En sí, un sistema manejador de base de datos es el corazón de la base de datos
ya que se encarga del control total de los posibles aspectos que la puedan afectar.
Tipos de Usuarios de la Base de Datos

Usuario Final: es la persona que utiliza los datos, esta persona ve datos
convertidos en información:

Desarrollador de Aplicaciones: es la persona que desarrolla los sistemas
que interactúan con la Base de Datos.

DBA: es la persona que asegura integridad, consistencia, redundancia,
seguridad este es el Administrador de Base de Datos quien se encarga de
realizar el mantenimiento diario o periódico de los datos.
Las personas tienen acceso DBMS se clasifican de la siguiente manera:
USUARIOS INGENUOS. – Son aquellos que interactúan con el sistema por medio
de aplicaciones permanentes.
USUARIOS SOFISTICADOS.- son aquellos con la capacidad de acceder a la
información por medios de lenguajes de consulta.
PROGRAMADORES DE APLICACIÓN.- son aquellos con un amplio dominio del
DML capaces de generar nuevos módulos o utilerías capaces de manejar nuevos
datos en el sistema.
USUARIOS ESPECIALIZADOS.- son aquellos que desarrollan módulos que no se
refieren precisamente al manejo de los datos, si no a aplicaciones avanzadas
como sistemas expertos, reconocimientos de imágenes, procesamiento de audio y
demás.
Administrador de la Base de Datos
El administrador de base de datos (DBA) es la persona responsable de los
aspectos ambientales de una base de datos. En general esto incluye lo siguiente:






Recuperación - Crear y probar Respaldos
Integridad - Verificar o ayudar a la verificación en la integridad de datos
Seguridad - Definir o implementar controles de acceso a los datos
Disponibilidad - Asegurarse del mayor tiempo de encendido
Desempeño - Asegurarse del máximo desempeño incluso con las
limitaciones
Desarrollo y soporte a pruebas - Ayudar a los programadores e
ingenieros a utilizar eficientemente la base de datos.
Es la persona encargada de definir y controlar las bases de datos corporativas,
además proporciona asesoría a los desarrolladores, usuarios y ejecutivos que la
requieran. Es la persona o equipo de personas profesionales responsables del
control y manejo del sistema de base de datos, generalmente tiene(n) experiencia
en DBMS, diseño de bases de datos, Sistemas operativos, comunicación de
datos, hardware y programación.
Un Administrador de Base de Datos de tiempo completo normalmente tiene
aptitudes técnicas para el manejo del sistema en cuestión además, son cualidades
deseables nociones de administración, manejo de personal e incluso un cierto
grado de diplomacia. La característica más importante que debe poseer es un
conocimiento profundo de las políticas y normas de la empresa, así como el
criterio de la empresa para aplicarlas en un momento dado. La responsabilidad
general del DBA es facilitar el desarrollo y el uso de la Base de Datos dentro de
las guías de acción definidas por la administración de los datos.
Middleware
Es un término que abarca a todo el software distribuido necesario para el soporte
de interacciones entre Clientes y Servidores".
Es el enlace que permite que un cliente obtenga un servicio de un servidor.
Este se inicia en el módulo de API de la parte del cliente que se emplea para
invocar un servicio real; esto pertenece a los dominios del servidor. Tampoco a la
interfaz del usuario ni la a la lógica de la aplicación en los dominios del cliente.
Es un software de conectividad que ofrece un conjunto de servicios que hacen
posible el funcionamiento de aplicaciones distribuidas sobre plataformas
heterogéneas. Funciona como una capa de abstracción de software distribuida,
que se sitúa entre las capas de aplicaciones y las capas inferiores (sistema
operativo y red). El middleware abstrae de la complejidad y heterogeneidad de las
redes de comunicaciones subyacentes, así como de los sistemas operativos y
lenguajes de programación, proporcionando una API para la fácil programación y
manejo de aplicaciones distribuidas. Dependiendo del problema a resolver y de las
funciones necesarias, serán útiles diferentes tipo de servicios de middleware.
Se pueden clasificar los diferentes middleware en función de su escalabilidad y su
tolerancia a fallos, aunque tomando en cuenta que esta investigación no fue
corroborada, puede haber otros tipos de clasificaciones:





Remote Procedure Call (RPCs) — El cliente realiza una llamada a
procedimientos que están ejecutando en máquinas remotas. Pueden ser
síncronos o asíncronos.
Publish/subscribe — Este tipo de monitores middleware activan y entregan
información relevante para los subscriptores.
Message-oriented middleware (MOM) — Los mensajes enviados al cliente
se recogen y se almacenan hasta que son solicitados, mientras el cliente
continúa con otros procesos.
Object Request Broker (ORB) — Este tipo de middleware permite que los
clientes envíen objetos y soliciten servicios en un sistema orientado a
objetos.
SQL-oriented Data Access — middleware entre las aplicaciones y los
servidores de base de datos.
Componentes de Aplicación y su Función de la base de Datos
Un sistema de base de datos está compuesto por:
Datos del usuario. En la actualidad, casi todas las bases de datos representan
los datos del usuario como afinidades que son tablas de datos. No todas las
afinidades son igualmente deseables; algunas están mejor estructuradas que
otras. Para crear afinidades bien estructuradas se realiza un proceso llamado
normalización.
Metadatos. Debido a que los productos DBMS están diseñados para almacenar y
manipular tablas, la mayor parte de ellos almacenan los metadatos en forma de
tablas, algunas veces llamadas tablas del sistema.
Índices. Están encaminados a mejorar el funcionamiento y la accesibilidad de la
base de datos. Se usan para ordenar y para obtener un acceso rápido a los datos.
Los índices son muy valiosos pero implican un costo. Cada vez que se actualiza
una fila en una afinidad o tabla, también deben actualizarse los índices. Esto no es
malo; sólo significa que los índices no son gratuitos y que deben reservarse para
casos en los que sean de verdad necesarios.
Metadatos de aplicación. Se usan para almacenar la estructura y el formato de
formas, reportes, consultas de usuarios, y otros componentes de aplicación.
Normalmente no se accede de forma directa a los metadatos de aplicación sino
que se hace a través de herramientas proporcionadas por el DBMS para tal fin.
Función y Sintaxis del Comando “CREATE”
CREATE
Este comando crea un objeto dentro de la base de datos. Puede ser una tabla,
vista, índice, trigger, función, procedimiento o cualquier otro objeto que el motor de
la base de datos soporte.
Ejemplo (crear una tabla)
CREATE TABLE 'TABLA_NOMBRE' (ejemplo)
'CAMPO_1' INT,
'CAMPO_2' STRING
Función y Sintaxis del Comando “Drop”
DROP
Este comando elimina un objeto de la base de datos. Puede ser una tabla, vista,
índice, trigger, función, procedimiento o cualquier otro objeto que el motor de la
base de datos soporte
DROP COLUMN ''CAMPO_NOMBRE1''
Llaves primarias
En el diseño de bases de datos relacionales, se llama clave primaria a un campo o
a una combinación de campos que identifica de forma única a cada fila de una
tabla. Una clave primaria comprende de esta manera una columna o conjunto de
columnas. No puede haber dos filas en una tabla que tengan la misma clave
primaria.
Una clave primaria debe identificar unívocamente a todas las posibles filas de una
tabla y no solo a las filas que se encuentran en un momento determinado.
Ejemplos de claves primarias son DNI (asociado a una persona) o ISBN (asociado
a un libro). Las guías telefónicas y diccionarios no pueden usar nombres o
palabras o números del sistema decimal de Dewey como claves candidatas,
porque identifican unívocamente números de teléfono o palabras.
Una clave primaria es un caso especial de clave única. La mayor diferencia es que
para claves únicas, no se impone automáticamente la restricción implícita NOT
NULL, mientras que para claves primarias, sí. Así, los valores en columnas de
clave única pueden o no ser NULL.
Otra diferencia es que las claves primarias deben definirse por medio de otra
sintaxis. El modelo relacional, según se lo expresa mediante cálculo relacional y
álgebra relacional, no distingue entre clave primaria y otros tipos de claves. Las
claves primarias fueron agregadas al estándar SQL principalmente para
conveniencia del programador. Tanto claves únicas como claves primarias pueden
referenciarse con claves foráneas.
Llaves Foráneas o Secundarias
En el contexto de bases de datos relacionales, una clave foránea (o Foreign Key
FK) es una limitación referencial entre dos tablas. La clave foránea identifica una
columna o grupo de columnas en una tabla (tabla hija o referendo) que se refiere a
una columna o grupo de columnas en otra tabla (tabla maestra o referenciada).
Las columnas en la tabla referendo deben ser la clave primaria u otra clave
candidata en la tabla referenciada.
Los valores en una fila de las columnas referendo deben existir solo en una fila en
la tabla referenciada. Así, una fila en la tabla referendo no puede contener valores
que no existen en la tabla referenciada. De esta forma, las referencias pueden ser
creadas para vincular o relacionar información. Esto es una parte esencial de la
normalización de base de datos. Múltiples filas en la tabla referendo pueden hacer
referencia, vincularse o relacionarse a la misma fila en la tabla referenciada.
Mayormente esto se ve reflejado en una relación uno (tabla maestra o
referenciada) a muchos (tabla hija o referendo).
La tabla referendo y la tabla referenciada pueden ser la misma, esto es, la clave
foránea remite o hace referencia a la misma tabla. Esta clave externa es conocida
en SQL:2003 como auto-referencia o clave foránea recursiva. Una tabla puede
tener múltiples claves foráneas y cada una puede tener diferentes tablas
referenciadas. Cada clave foránea es forzada independientemente por el sistema
de base de datos. Por tanto, las relaciones en cascada entre tablas pueden
realizarse usando claves foráneas.
Configuraciones impropias de las claves foráneas o primarias o no forzar esas
relaciones son frecuentemente la fuente de muchos problemas para la base de
datos o para el modelamiento de los mismos.
Heartbeat de Alta Disponibilidad
Heartbeat es una utilidad que simplemente envía un “latido de corazón” (de hecho
“heartbeat en español, seria latido de corazón), un simple pulso, o paquete
pequeño de datos a uno o más equipos. De esta manera, esta aplicación nos
permite que en un “cluster” se realice un monitoreo automático, para saber si el
nodo está vivo y los servicios corriendo en él, haciendo que en caso de que un
nodo muera, automáticamente el o los nodos vivos tomen ese servicio, lo inicien y
continúen trabajando.
Ahora bien, quisiera aclarar, que también existe pacemaker, que no es más que la
evolución de Heartbeat, un proyecto que parte del anterior, simplemente eso.
Manos a la obra, ahora la idea es ir viendo paso a paso como instalar un Apache
en alta disponibilidad con 2 nodos, para ello se requieren:

2 Equipos, o más, que podrán ser virtuales (si se desea solo realizar una
prueba de aprendizaje, no se recomienda esto para nada en producción)

Storage en común (puede ser un disco de fibra como una unidad DRBD, o
un disco en común mediante VirtualBox u otra utilidad) con formato OCFS2

Apache corriendo en ambos equipos con su configuración correspondiente
en ambos equipos idéntica, y ambos apuntando al mismo directorio, el cual
será la unidad OCFS2.

3 Direcciones IP’s publicas/privadas, una para cada uno de los nodos y una
para el “cluster”
Descargar