Ir al contenido principal

UNIDAD 2.- ARQUITECTURA E INSTALACIÓN DE UN SGBD.

2.1 Estructura de memoria y procesos de la instancia

La memoria se puede estructurar en las siguientes partes: 

  • Área Global del sistema (SGA), la cual se comparte entre todo los servidores y los procesos en segundo plano.
  • Áreas globales de programas (PGA), que es privada para cada servidor y proceso en segundos planos; a cada proceso se asigna un PGA.
  • Área de Ordenaciones (SortAreas).
  • Memoria Virtual
  • Área de código de software

Instancia de una Base de datos

Cada instancia está asociada a una base de datos. Cuando se inicia una base de datos en un servicio (independientemente del tipo de computadora), se le asigna un área de memoria (SGA) y lanza uno o más procesos. A la combinación del SGA y de los procesos es lo que se llama instancia. La memoria y los procesos de una instancia gestionan los datos de la base de datos asociada de forma eficiente y sirven a uno o varios usuarios.

Cuando se inicia una instancia El DBMS monta la base de datos, es decir, asocia dicha instancia a su base de datos correspondiente. En una misma computadora pueden ejecutarse varias instancias simultáneamente, accediendo cada una a su propia base de datos física.

DBMS:

Es un sistema robusto que es capaz de emplear algoritmos de almacenamiento y recuperación de información para poder implementar un modelo de datos de manera física garantizando que todas las transacciones que se realizan con respecto a dichos datos sean "ácidas" (Atomicity, Consistency, Isolation, Duration).

Archivos:

  • Control (ctl): almacenan información acerca de la estructura de archivos de la base.
  • Rollback (rbs): cuando se modifica el valor de alguna tupla en una transacción, los valores nuevos y anteriores se almacenan en un archivo, de modo que si ocurre algún error, se puede regresar (rollback) a un estado anterior.
  • Redo (rdo): bitácora de toda transacción, en muchos dbms incluye todo tipo de consulta incluyendo aquellas que no modifican los datos.
  • Datos (dbf): el tipo más común, almacena la información que es accesada en la base de datos.
  • Indices (dbf) (dbi): archivos hermanos de los datos para acceso rápido.
  • Temp (tmp): localidades en disco dedicadas a operaciones de ordenamiento o alguna actividad particular que requiera espacio temporal adicional.
Estructura de Memoria

Área Global del sistema (SGA):

Es un grupo de estructuras de la memoria compartida que contiene
datos e información de control de una instancia de una BD. Si varios
usuarios se conectan de forma concurrente a la misma instancia,
entonces los datos se comparten en el SGA, por lo que también se llama
shared global área.

Estructura de datos
  • Caché de los Buffers
  • Buffer del registro de Redo
  • El Pool compartido 
  • Large Pool
  • Java Pool
  • Streams Pool
  • Caché Pool
2.2 Estructura Física de las Base de Datos

Una Base de Datos Oracle tiene una estructura física y una estructura
lógica que se mantienen separadas, pero que son complemento una de
la otra para poder trabajar. Las bases de datos de Oracle usan un
modelo relacional.

Arquitectura física:

Para la arquitectura física de la base de datos este manual se basará
en la arquitectura física del gestor de bases de bases de datos Oracle
esto porque se decidió que para la explicación de todo el diseño e
implementación de la base de los datos se va a realizar con el gestor de
bases de datos Oracle.

La arquitectura física de Oracle tiene tres componentes básicos:
  • La estructura de memoria
  • Los procesos 
  • Los archivos
Archivos de datos 

Contiene los datos de la base de datos internamente, está compuesto
por páginas enumeradas secuencialmente que representa la unidad
mínima de almacenamiento. Cada página tiene un tamaño de 8kb de
información. Existen diferentes tipos de páginas, a tener en cuenta:

Páginas de datos:
Es el tipo principal de páginas y son las que almacenan los registros de
datos.

Páginas de espacio libre (PFS Page Free Space):
Almacenan información sobre la ubicación y el tamaño del espacio libre.

Paginas GAM and SGAM:
Utilizadas para ubicar extensiones.

Páginas de Mapa de Ubicaciones de índices (IAM – IndexAllocationMap):
Contiene información sobre el almacenamiento de páginas de una tabla
o índice en particular.

Páginas índice:
Utilizada para almacenar registros de índices.

Archivo de Registro de Transacciones:

El propósito principal del registro de transacciones es la recuperación
de datos a un momento en el tiempo o complementar una restauración
de copia de respaldo completa (full backup).

Data File:

Los datafiles son los archivos físicos en los que se almacenan los
objetos que forman parte de un tablespace. Un datafile pertenece
solamente a un tablespace y a una instancia de base de datos. Un
tablespace puede estar formado por uno o varios datafiles.

El espacio total disponible en un tablespace es lógicamente la suma de
los tamaños que ocupan los archivos físicos o datafiles que lo forman.

Los Data File tienen las siguientes características:
  • Un archivo sólo puede estar asociado con una base de datos.
  • Los archivos de datos tienen atributos que permiten reservar automáticamente para ellos extensiones cuando se acaba el espacio.
  • Uno o más archivos de datos forman una unidad lógica de almacenamiento llamada tablespace.
Os Block:

Conocidos como Disk Block, estos mapean a los data blocks. A la hora
de crear una nueva base de datos se debe indicar cuántos bloques de
sistema operativo formarán un bloque de datos.

2.3 Requerimientos para instalación.

Requisitos generales

Antes de instalar cualquier SGBD es necesario:

§Conocer los requerimientos de hardware y software

§El posible software a desinstalar previamente

§Verificar el registro del Sistema Operativo y el entorno del sistema

§Otras características de configuración especializadas como pueden ser la

reconfiguración   de   los   servicios  TCP/IP   y   la   modificación   de   los   tipos

archivos HTML para los diversos navegadores.

Requisitos específicos

SQL

RAM: 512 MB

Memoria virtual: 1024 MB

Espacio disco duro: 1 GB

Tamaño de la bd: 10 GB

Sistema operativo: Windows, Linux, unix

Arquitectura 64 bits:

MySQL

RAM: 512 MB

Memoria virtual: 1024 MB

Espacio disco duro: 1 GB

Tamaño de la bd: Sin límite

Sistema operativo: Windows, Linux, unix

Arquitectura 64 bits: Sí

Oracle

RAM: 2GB

Memoria virtual: 1024 MB

Espacio disco duro: 11 GB

Tamaño de la bd: 4GB

Sistema operativo: Windows, Linux, unix






2.4 Instalación del SGBD en modo transaccional



2.5 VARIABLES DE AMBIENTE Y ARCHIVOS.

Variable: 

Es un espacio en memoria al cual se le da un nombre Hay variables específicas que se crean al momento de entrar al sistema, pero también hay variables que pueden ser definidas por el usuario. Las variables son una forma de pasar información a los programas al momento de ejecutarlos.

Variables de Ambiente: 

Se usan para personalizar el entorno en el que se ejecutan los programas y para ejecutar en forma correcta los comandos del shell.

Toman su valor inicial generalmente de un archivo. profile, pero hay veces en que el usuario tiene que modificar los valores de alguna variable de ambiente cuando está tratando de instalar o ejecutar un nuevo programa

A continuación, se comentan las opciones más utilizadas de la sección mysqld (afectan al funcionamiento del servidor MySQL), se almacenan en el archivo my.cnf (o my.ini).

basedir = ruta: Ruta a la raíz MySQL

console: Muestra los errores por consola independientemente de lo que se configure para log_error.

datadir = ruta: Ruta al directorio de datos.

default-table-type = tipo: Tipo de la Tabla InnoDB o, MyISAM.

flush: Graba en disco todos los comandos SQL que se ejecuten (modo de trabajo, sin transacción).

general-log = valor: Con valor uno, permite que funcione el archivo LOG para almacenar las consultas realizadas.

general-log-file = ruta: Indica la ruta al registro general de consultas.

language: Especifica el idioma de los lenguajes de error, normalmente esots archivos de lenguaje, están bajo /usr/local/share.

log-error = ruta: Permite indicar la ruta al registro de errores.

log = ruta: Indica la ruta al registro de consultas.

long-query-time = n: Segundos a partir de los cuales una consulta que tardes más, se considerará una consulta lenta.

og-bin = ruta: Permite indicar la ruta al registro binario.

pid-file = ruta: Ruta al archivo que almacena el identificador de proceso de MySQL.

port = puerto: Puerto de escucha de MySQL.

skip-grant-tables: Entra al servidor saltándose las tablas de permisos, es decir todo el mundo tiene privilegios absolutos.

skip-networking: El acceso a MySQL se hará solo desde el servidor local.

slow-query-log = 0|1: Indica si se hace LOG de las consultas lentas.

slow-query-log-file = ruta: Ruta al archivo que hace LOG de las consultas lentas.

socket = ruta: Archivo o nombre de socket a usar en las conexiones locales.

standalone: Para Windows, hace que el servidor no pase a ser un servicio.

user = usuario: Indica el nombre de usuario con el que se iniciará sesión en MySQL.

tmpdir = ruta: Ruta al directorio para archivos temporales.

Archivos LOG en MySQL

Registro de Errores (Error Log): 

Indica cuando arrancó y se detuvo el servidor. Se graba por defecto en la carpeta de datos de MySQL (archivo host_name.err, donde host_name es el nombre del servidor), pero la variable de sistema log_error permite indicar otra ruta si fuera necesario.

Registro General de Consultas (General Log File): 

Está en la carpeta de datos de MySQL, salvo que se indique la variable general-log-file. Contiene las consultas realizadas. Es el archivo host_name.log.

Registro Binario (Binary Log): 

Registra instrucciones DML. Los archivos binarios se almacenan por defecto en el directorio de datos. Sirve para intentar restaurar una base de datos en caso de desastre. Es binario, por lo que su manejo es complicado, para ver el contenido se usa la utilidad mysqlbinlog de esta forma: mysqlbinlog archivoLOG

Registro de Consultas Lentas (Slow Query Log File): 

Registra las consultas que tardaron más del tiempo mínimo establecido. El archivo está (salvo quese especifique slow-log-file como parámetro) en la carpeta de datos de MySQL con el nombre host_name-slow.log

MySQL Enterprise Edition

MySQL Enterprise Edition incluye el conjunto más completo de características avanzadas y herramientas de gestión para alcanzar los más altos niveles de escalabilidad, seguridad, fiabilidad y tiempo de actividad. Reduce el riesgo, costo y complejidad en el desarrollo, implementación y administración de aplicaciones críticas de negocio MySQL.

El MySQL Enterprise incluye las siguientes opciones:

Backup: Realiza copias de seguridad de bases de datos MySQL en línea, de los subconjuntos de tablas InnoDB, y la recuperación mediante puntos de restauración.

Alta Disponibilidad: es proporcionada con soluciones certificadas que incluyen replicación de MySQL.

Escalabilidad: permite alcanzar el rendimiento sostenido y la escalabilidad de cada vez mayor de usuarios, consulta, y las cargas de datos

MySQL Enterprise Security: Proporciona listas para utilizar los módulos de autenticación externos para integrar fácilmente las infraestructuras existentes de seguridad, incluyendo Pluggable Authentication Modules y el directorio activo de Windows

MySQL Enterprise Monitor: supervisa continuamente su base de datos y de forma proactiva le asesora sobre cómo implementar las mejores prácticas de MySQL, incluyendo consejos y alertas de seguridad.

MySQL Query Analyzer: Mejora el rendimiento de las aplicaciones mediante el control de rendimiento de las consultas y precisa localización de código SQL que está causando una desaceleración.

MySQL Workbench: Cuenta con ofertas de modelado de datos, desarrollo de SQL y herramientas de administración integral para la administración del servidor de configuración del usuario, y mucho más

El proceso de instalación es muy simple y prácticamente no requiere intervención por parte del usuario.


2.6 .- Procedimiento general de instalación.

Comienza el proceso; sólo nos llevará un par de minutos…

 

Cada vez que veo la pantalla de la GNU GPL me lleno de felicidad. No sólo por las condiciones y el precio: es además, para mí, una garantía de profesionalidad.

 

Estadísticamente, la instalación típica será la que mejor se adapte a tus necesidades.

Todo listo; presiona Install cuando quieras.

 

Una vez instalado MySQL, la siguiente fase es la configuración del servidor en sí mismo. Asegúrate de que la marca Launch the MySQL Instance Configuration Wizard esté activa.


2.7.- Procedimiento para configuración de un SGBD.

Para configurar nuestro DBMS podemos acceder a las siguientes pantallas, para Oracle o MySQL.

El esquema de una base de datos (en inglés, DatabaseSchema) describe la estructura de una Base de datos, en un lenguaje formal soportado por un Sistema administrador de Base de datos (DBMS). En una Base de datos Relacional, el Esquema define sus tablas, sus campos en cada tabla y las relaciones entre cada campo y cada tabla.

Oracle generalmente asocia un 'username' como esquemas en este caso SYSTEM y HR (Recursos humanos).

Por otro lado, MySQL presenta dos esquemas information_schema y MySQL ambos guardan información sobre privilegios y procedimientos del gestor y no deben ser eliminados.


La configuración de los parámetros del DBMS permite:

·         Controlar la manera en que funciona el DBMS.

·         Recursos puestos a su disposición.

 

Cada DBMS también proporciona un método para cambiar los parámetros del sistema una vez que está en funcionamiento.

·         Comandos de DBMS para establecer los parámetros del sistema.

·         Editar un archivo que contiene los valores de los parámetros actuales del

·         sistema.


Ejemplo:

PARA CONFIGURAR NUESTRO DBMS PODEMOS ACCEDER A LAS SIGUIENTES PANTALLAS PARA MYSQL.









Mapa Conceptual sobre el procedimiento de configuración.




2.8.- Comandos generales de alta y baja del SGBD.

El lenguaje más utilizado en los gestores de bases de datos es el lenguaje “SQL Structured Query Language”.

Es un lenguaje declarativo de acceso a bases de datos relacionales que permiten diversos tipos de operaciones en ellas. Es un lenguaje que permite combinar la manipulación y la definición de los datos, así como también permite expresar diversas operaciones con los datos almacenados en las bases de datos relacionales.

Los sistemas de gestión de base de datos con soporte SQL más utilizados son:

§   DB2.

§   HSQL.

§   InterBase.

§   Oracle.

§   MySQL.

§   PostgreSQL.

§   SQL Lite, etc.

Sublenguaje del SQL.

Del SQL se derivan sublenguaje los cuales son utilizados para la manipulación, definición y control de la información o estructura de una base de datos relacional. Estos sublenguaje son:

DDL “Data Definition Language”.

Es el sublenguaje que se encarga de la modificación de la estructura de los objetos de la base de datos. Incluye órdenes para modificar, borrar o definir tablas, vistas, base de datos, procedimientos almacenados, funciones o base de datos como tal. Estas órdenes o comandos son:

ü  CREATE.

ü  ALTER.

ü  DROP.

ü  TRUNCATE.

 

TCL “Transaction Control Language”.

Es un subconjunto de SQL que se utiliza para controlar el procesamiento de transacciones en una base de datos. Una transacción es una unidad lógica de trabajo que comprende una o más sentencias SQL, por lo general son grupo de sentencias que se encuentran en el sublenguaje DML.

Los comandos que posee este sublenguaje son:

Ø  COMMIT.

Ø  ROLLBACK.

Ø  SAVEPOINT.

 

DCL “Data Control Language”.

Es un sublenguaje que incluye una serie de comandos que permiten la administración del control de acceso de datos contenidos en la base de datos. Los comandos incluidos en este sublenguaje son:

v  GRANT.

v  REVOKE.

 

DML “Data Manipulation Language”.

Es el que permite a los usuarios llevar a cabo las tareas de consulta o manipulación de datos, recoge todas las operaciones de intercambio de datos entre tablas. Las operaciones se dividen en:

Consultas. (Recuperación de Información)

Tratamiento de Datos. (Insertar, Actualizar y Eliminar).

Los comandos utilizados en este sublenguaje son.

*      SELECT.

*      INSERT.

*      UPDATE.

*      DELETE.


Video ejemplo de sentencias SQL:




Comentarios

Entradas populares de este blog

UNIDAD 3: CONFIGURACIÓN Y ADMINISTRACIÓN DEL ESPACIO EN DISCO.

UNIDAD 6: MONITOREO Y AUDITORIA.