Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Arquitectura e Instalación de Sistemas de Gestión de Bases de Datos (SGBD), Ejercicios de Programación de Bases de Datos

Este documento proporciona una introducción a la arquitectura e instalación de los sistemas de gestión de bases de datos (sgbd). Se explora la estructura de memoria y los procesos que componen una instancia de un sgbd, incluyendo archivos, estructuras de memoria y procesos de usuario y de segundo plano. También se describe la estructura física de la base de datos, incluyendo los archivos de datos y el archivo de registro de transacciones. El documento aborda los requisitos para la instalación, el proceso de instalación en modo transaccional, las variables de ambiente y los archivos importantes, así como la configuración de un sgbd.

Tipo: Ejercicios

2023/2024

Subido el 12/09/2024

villanueva-medina-jorge
villanueva-medina-jorge 🇲🇽

2 documentos

1 / 25

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
TECNOLOGICO NACIONAL DE MEXICO
CAMPUS TAPACHULA
MATERIA:
ADMINISTRACION DE BASE DE DATOS
TEMA 2:
ARQUITECTURA E INSTALACION DE SGBD
PROFESOR:
CARLOS HERNANDEZ SALAS
EQUIPO:
JORGE VILLANUEVA MEDINA
EDSON JARED LOPEZ SANTOS
RAUL HERNANDEZ FIGUEROA
OMAR EMMANUEL DE LEON ARRIAGA
FECHA:
02 / 09 / 2024
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19

Vista previa parcial del texto

¡Descarga Arquitectura e Instalación de Sistemas de Gestión de Bases de Datos (SGBD) y más Ejercicios en PDF de Programación de Bases de Datos solo en Docsity!

TECNOLOGICO NACIONAL DE MEXICO

CAMPUS TAPACHULA

MATERIA:

ADMINISTRACION DE BASE DE DATOS

TEMA 2:

ARQUITECTURA E INSTALACION DE SGBD

PROFESOR:

CARLOS HERNANDEZ SALAS

EQUIPO:

JORGE VILLANUEVA MEDINA

EDSON JARED LOPEZ SANTOS

RAUL HERNANDEZ FIGUEROA

OMAR EMMANUEL DE LEON ARRIAGA

FECHA:

Introducción

En el ámbito de la gestión de bases de datos, entender la estructura de memoria y los procesos que forman parte de una instancia de un Sistema de Gestión de Bases de Datos (DBMS) es crucial para garantizar un rendimiento óptimo y una operación eficiente. Un DBMS es una herramienta sofisticada diseñada para gestionar grandes volúmenes de información de manera estructurada y segura. Para que funcione de manera eficaz, es necesario que sus componentes internos estén organizados de forma eficiente y operen en perfecta sincronía. La estructura de una instancia de DBMS se puede desglosar en tres componentes principales: archivos, estructuras de memoria y procesos. Cada uno de estos componentes desempeña un papel específico en la administración y operación del sistema. Los archivos, que incluyen archivos de control, de rollback, de redo, de datos y temporales, gestionan el almacenamiento físico y la recuperación de la información. Las estructuras de memoria, como el Área Global del Sistema (SGA), facilitan el acceso eficiente a los datos y garantizan que la información se comparta adecuadamente entre los procesos concurrentes. Finalmente, los procesos del DBMS, tanto de usuario como de segundo plano, son responsables de ejecutar las operaciones diarias, mantener la integridad de los datos y gestionar las transacciones.

2.1 Estructura de memoria y procesos de la instancia

DBMS

Definición 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). Para que un DBMS pueda funcionar, primero se debe hacer una instancia de este. Esta instancia está compuesta principalmente de tres componentes: · Archivos · Estructuras de memoria. · Estructuras de procesos. Cada una de estas estructuras se puede dividir a su vez en diferentes puntos. 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 area. Estructura de Datos del SGA · Caché de los Buffers · Buffer del registro de Redo · El Pool compartido · Large Pool · Java Pool · Streams Pool · Caché de diccionario

Caché de los Buffers (Database Buffer Cache) Contiene copias de los bloques de datos de lectura de las páginas. Todos los procesos de los usuarios conectados concurrentemente a la instancia comparten el acceso a ella. Buffer del registro del Rehacer (Redo Log Buffer) Contiene información sobre cambios hechos a la base de datos, la cual se almacena en las ‘entradas redo’. Estas entradas contienen la información necesaria para reconstruir, o rehacer cambios hechos en la base de datos mediante las operaciones INSERT, UPDATE, DELETE, CREATE, ALTER o DROP y se usan para la recuperación de la base de datos, si fuera necesario. El Pool Compartido Es la parte del SGA que contiene la cache de biblioteca, la cache de diccionario, los buffers para los mensajes de ejecución paralela y las estructuras de control. Large Pool El administrador de la base de datos puede configurar un área de memoria opcional llamado large pool que proporciona grandes cantidades de memoria para asignar: · Memoria de la sesión para el servidor compartido y el Oracle XA interface (usado donde las transacciones interactúan con más de una base de datos) · Procesamiento de E/S · Copias de seguridad y operaciones de recuperación Java Pool Se usa en la memoria del servidor para almacenar todo el código y datos del JVM en las sesiones. Streams Pool En una única base de datos, se puede especificar que los flujos de memoria se asignen desde un pool en el SGA llamado Streams pool. Cache de diccionario (Dictionary Cache) El diccionario de datos es una colección de tablas y vistas de la base de datos que contienen información sobre la base de datos (sus estructuras y sus usuarios). Oracle accede con frecuencia al diccionario de datos, por lo que tiene dos localizaciones especiales en memoria designadas a mantenerlo. Una de ellas es la caché del diccionario de datos, también conocida como la cache de fila por que contiene datos sobre las filas en vez de los buffers (los cuales contienen bloques de datos), y la otra es el cache de biblioteca. Estructuras de Proceso Procesos de usuario: Cada proceso de usuario representa la conexión de un usuario al servidor Procesos de segundo plano: El servidor se vale de una serie de procesos que son el enlace entre las estructuras físicas y de memoria.

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 Índices: 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). El registro de transacciones no contiene páginas, sino entradas con todos los cambios realizados en la base de datos, como son las modificaciones de datos, modificaciones de la base de datos y eventos de copia de seguridad y restauración. El acceso a datos es secuencial, ya que el registro de transacciones se actualiza en el mismo orden cronológico en el que se hacen las modificaciones. Este archivo no puede ser leído por herramientas de usuario de SQL auqnue existen herramientas de terceros que leen este archivo para recuperar los cambios efectuados. Dependiendo de la versión el registro de transacciones se utiliza para otros propósitos como por ejemplo bases de datos espejo (mirror) y transporte remoto de transacciones (log shipping). Para muchos de los administradores de bases de datos, la imagen anterior representa la parte lógica y la parte física, donde: 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. Cuando se crea un datafile, se debe indicar su nombre, su ubicación o directorio, el tamaño que va a tener y el tablespace al que va a

pertenecer. Además, al crearlos, ocupan ya ese espacio aunque se encuentran totalmente vacíos, es decir, Oracle reserva el espacio para poder ir llenándolo poco a poco con posterioridad. Por supuesto, si no hay sitio suficiente para crear un archivo físico del tamaño indicado, se producirá un error y no se creará dicho archivo. Cuando se van creando objetos en un tablespace, éstos físicamente se van almacenando en los datafiles asignados a dicho tablespace, es decir, cuando creamos una tabla y vamos insertando datos en ella, estos datos realmente se reparten por los archivos físicos o datafiles que forman parte del tablespace. No se puede controlar en qué archivo físico se almacenan los datos de un tablespace. Si un tablespace está formado por 2 datafiles y tenemos una tabla en ese tablespace, a medida que vamos insertando filas éstas se almacenarán en cualquiera de los dos datafiles indistintamente, es decir, unas pueden estar en un datafile y otras en otro. 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. Como hemos indicado estos datafiles, al crearlos, están totalmente vacíos, simplemente es un espacio reservado y formateado por Oracle para su uso. A medida que se van creando objetos en ellos como tablas, índices, etc. y se van insertando registros en estas tablas, los datafiles se van llenando o, lo que es lo mismo, el tablespace se va llenando. 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.

1. La regla general para determinar el tamaño de la memoria virtual depende del tamaño de memoria RAM instalada. Si su sistema tiene menos de 4 GB de RAM por lo general el espacio de intercambio debe ser de al menos dos veces este tamaño. Si usted tiene más de 8 GB de memoria RAM instalada puede considerar usar el mismo tamaño como espacio de intercambio. Cuanta más memoria RAM tenga instalada, es menos probable usar el espacio de intercambio, a menos que tenga un proceso inadecuado.

2.4 Instalación del SGBD en modo transaccional

Una base de datos en modo transaccional significa que la BD será capaz de que las operaciones de inserción y actualización se hagan dentro de una transacción, es un componente que procesa información descomponiéndola de forma unitaria en operaciones indivisibles, llamadas transacciones, esto quiere decir que todas las operaciones se realizan o no, si sucede algún error en la operación se omite todo el proceso de modificación de la base de datos, si no sucede ningún error se hacen toda la operación con éxito.

Una transacción es un conjunto de líneas de un programa que llevan insert o update o delete. Todo aquél software que tiene un log de transacciones (que es la "bitácora" que permite hacer operaciones de commit o rollback ), propiamente es un software de BD; aquél que no lo tiene (v.g. D-Base), propiamente no lo es. Todo software de base de datos es transaccional; si el software de la BD no es "transaccional", en realidad NO es un "software" de BD; en todo caso, es un software que emula el funcionamiento de un verdadero software de BD. Cada transacción debe finalizar de forma correcta o incorrecta como una unidad completa. No puede acabar en un estado intermedio. Se usan las siguientes métodos: Ø Begin TRans para iniciar la transacción Ø CommitTrans para efectuar los cambios con éxito Ø RollbackTrans para deshacer los cambios Y depende que base de datos uses para efectuar las operaciones pero, es la misma teoría para cualquier BD. Una vez que se sabe la forma de ingresar comandos, es el momento de acceder a una base de datos. Suponga que en su hogar posee varias mascotas y desea registrar distintos tipos de información sobre ellas. Puede hacerlo si crea tablas para almacenar sus datos e introduce en ellas la información deseada. Entonces, podrá responder una variedad de preguntas acerca de sus mascotas recuperando datos desde las tablas. Los pasos serían: Ø Crear una base de datos Ø Crear una tabla Ø Introducir datos en la tabla Ø Recuperar datos desde la tabla de varias maneras Ø Emplear múltiples tablas La base de datos menagerie (palabra inglesa que en español significa "colección de animales") se ha hecho deliberadamente simple, pero no es difícil imaginar

o PostgreSQL : postgresql.conf (configuración del servidor), pg_hba.conf (configuración de autenticación). o MySQL : my.cnf o my.ini (configuración del servidor MySQL). o SQL Server : sqlservr.ini (configuración de la instancia).

  1. Archivos de Log : o Oracle : Archivos de log del alert log y de los redo logs. o PostgreSQL : Archivos de log que se encuentran en el directorio de datos, configurados en postgresql.conf. o MySQL : Archivos de log como mysql-error.log, mysql-slow.log. o SQL Server : Archivos de log en el directorio de instalación del SQL Server, incluyendo el log de errores.
  2. Archivos de Datos : o Oracle : Archivos de datos, redo logs y archivos de control en los directorios especificados en la configuración de la instancia. o PostgreSQL : Archivos de datos en el directorio definido por PGDATA. o MySQL : Archivos de datos en el directorio definido por datadir en my.cnf. o SQL Server : Archivos MDF (data files) y LDF (log files).
  3. Archivos de Script de Instalación y Mantenimiento : o Scripts que se usan para la instalación inicial y para tareas de mantenimiento como backups y actualizaciones. Estos archivos y variables deben ser correctamente configurados para asegurar que el SGBD funcione adecuadamente y que puedas gestionar la base de datos de manera efectiva.

2.6 Procesamiento general de instalación

El proceso general de instalación de un Sistema de Gestión de Bases de Datos (SGBD) suele seguir estos pasos:

1. Preparación del EntornoVerificación de Requisitos : Asegúrate de que el sistema operativo y el hardware cumplen con los requisitos mínimos del SGBD.

Actualización del Sistema : Actualiza el sistema operativo y cualquier software relevante para garantizar compatibilidad y seguridad.  Instalación de Dependencias : Instala cualquier software o librerías adicionales requeridas por el SGBD.

2. Descarga e InstalaciónObtener el Software : o Desde Repositorios : Puedes usar un gestor de paquetes del sistema operativo (como apt en Debian/Ubuntu o yum en CentOS). o Desde el Sitio Oficial : Descarga los binarios o el código fuente desde el sitio web del proveedor del SGBD.  Instalación : o Usando Repositorios : o Desde Binarios :  Descomprimir el Archivo :  Compilar e Instalar (si es el caso del código fuente): 3. Configuración InicialCrear Usuarios y Grupos : Crea un usuario y un grupo para el SGBD si no se crearon durante la instalación. o Ejemplo :

Verificar el Estado del Servicio :

6. Configuración AdicionalSeguridad : o Configura Contraseñas para usuarios y ajusta los permisos. o Configura el Firewall para permitir conexiones remotas si es necesario.  Crear Bases de Datos y Usuarios : o PostgreSQL : o MySQL : 7. MantenimientoMonitorización : Configura herramientas de monitorización para supervisar el rendimiento y la salud del SGBD.

Backup : Implementa estrategias de respaldo y recuperación de datos. Cada SGBD puede tener peculiaridades en su proceso de instalación, pero estos pasos ofrecen una visión general de lo que generalmente está involucrado.

2.7 Configuración de un Sistema de Gestión de Bases de

Datos

La configuración de un Sistema de Gestión de Bases de Datos (SGBD) es un paso crucial para asegurarse de que el sistema funcione correctamente y esté optimizado para tus necesidades. Aquí te presento un procedimiento general para la configuración de un SGBD, usando PostgreSQL y MySQL como ejemplos:

1. Configuración Inicial del Sistema PostgreSQL 1. Editar el Archivo de Configuración Principal : o Archivo : /etc/postgresql/{version}/main/postgresql.conf o Parámetros Comunes :  listen_addresses : Especifica las direcciones IP en las que el servidor escuchará conexiones.  port : El puerto en el que el servidor escuchará las conexiones (por defecto es 5432).  max_connections : Número máximo de conexiones simultáneas. 2. Editar el Archivo de Control de Acceso : o Archivo : /etc/postgresql/{version}/main/pg_hba.conf

  1. Configurar Acceso Remoto : o Comando :
  2. Reiniciar el Servicio : 2. Configuración de Seguridad PostgreSQLConfigurar Contraseñas para Usuarios :  Configurar Roles y Permisos : MySQLConfigurar Contraseñas para el Usuario Root :

Configurar Roles y Permisos :

3. Configuración de Rendimiento PostgreSQLConfigurar el Tamaño de la Memoria : o Archivo : /etc/postgresql/{version}/main/postgresql.conf o Parámetros Comunes :  shared_buffers : Memoria compartida utilizada por el servidor de base de datos.  work_mem : Memoria utilizada por operaciones de clasificación y hash. MySQLConfigurar el Tamaño del Buffer : o Archivo : /etc/mysql/my.cnf o Parámetros Comunes :  innodb_buffer_pool_size : Tamaño del buffer de InnoDB.