You are on page 1of 6

Instituto Tecnolgico de Tuxtla Gutirrez

Administracin de Base de Datos

Arquitectura de un gestor de base de datos

Luis Ernesto Len Palacios

Tuxtla Gutirrez, Chiapas a 19 de Febrero del 2013

PostgreSQL
PostgreSQL es un sistema de gestin de bases de datos objeto-relacional, distribuido bajo licencia BSD y con su cdigo fuente disponible libremente. Es el sistema de gestin de bases de datos de cdigo abierto ms potente del mercado y en sus ltimas versiones no tiene nada que envidiarle a otras bases de datos comerciales. PostgreSQL utiliza un modelo cliente/servidor y usa multiprocesos en vez de multihilos para garantizar la estabilidad del sistema. Un fallo en uno de los procesos no afectar el resto y el sistema continuar funcionando.

Arquitectura de un Sistema Gestor de Bases de Datos.


Existen tres caractersticas importantes, inherentes a los sistemas de bases de datos:

La separacin entre los programas de aplicacin y los datos. El manejo de mltiples vistas por parte de los usuarios El uso de un catlogo para almacenar el esquema de la base de datos. Nivel interno o fsico: describe la estructura fsica de la base de datos mediante un esquema interno. Este esquema se especifica con un modelo fsico y describe los detalles de cmo se almacenan fsicamente los datos: los archivos que contienen la informacin, su organizacin, los mtodos de acceso a los registros, los tipos de registros, la longitud, los campos que los componen, etc.

Nivel externo o de visin: es el ms cercano al usuario, se describen varios esquemas externos o vistas de estos. Cada esquema externo describe la parte de la base de datos que interesa a un grupo de usuarios determinados y oculta a ese grupo el resto de la base de datos. En este nivel se puede utilizar un modelo conceptual o un modelo lgico para especificar los esquemas.

Nivel conceptual: describe la estructura de toda la base de datos para un grupo determinado de usuarios mediante un esquema conceptual. Este esquema describe las entidades, atributos, relaciones, operaciones de los usuarios y restricciones, ocultando los detalles de las estructuras fsicas de almacenamiento.

Estructura de memoria
Un SGBD se divide en mdulos que se encargan de tareas especficas. Normalmente el S.O. proporciona una serie de funciones bsicas que son utilizadas por el SGBD, para realizar otras tareas ms complejas. Los componentes ms importantes del SGBD son:

Gestor

de

ficheros

(File

Manager

File

System).

Encargado de asignar espacio en disco y mantener la estructura de los ficheros donde se almacenarn los datos. Adems es el responsable de localizar el bloque de informacin que se requiere solicitndoselo al Gestor de discos del S.O. y proporcionndoselo al Gestor de Datos. Puede implementarse simplemente como un interfaz al Gestor de Ficheros del Sistema Operativo o el SGBD puede tener uno propio. Gestor de datos (Data Manager). Es el principal componente del SGBD. Entre sus funciones podemos citar: Acceso a los datos interactuando con el gestor de ficheros propio o del S.O. Asegura que se cumplen los requisitos para mantener la integridad y consistencia de los datos, adems de controlar la seguridad. Sincroniza las operaciones de los usuarios que estn accediendo concurrentemente a la BD. Interviene tambin en operaciones de respaldos y recuperaciones.

Procesador

de

consultas

(Query

Processor).

Interpreta las consultas (queries) de los usuarios online y los convierte en una serie de operaciones que sern enviadas al Gestor de Datos para su ejecucin. Entre sus funciones estn el optimizar estas operaciones haciendo uso de la informacin del diccionario de datos y encontrar una estrategia eficiente para su ejecucin (plan de ejecucin).

Compilador

de

LDD

(DDL,

Data

Definition

Languaje).

Convierte las sentencias de definicin de esquemas en tablas y la informacin sobre las mismas se almacena en el DDL.

Precompilador

de

LMD

(DML,

Data

Manipulation

Languaje).

Convierte las sentencias en LMD dentro de un programa de aplicacin a llamadas a procedimientos en el lenguaje husped. El precompilador debe interactuar con el procesador de consultas para generar el cdigo apropiado. Aunque no forma parte del SGBD es interesante nombrar al software que permite la comunicacin entre los usuarios online de un sistema y el SGBD, ya que el SGBD interacta estrechamente con l. Este software, llamado sistema de telecomunicaciones o programa de control de comunicaciones hace de intermediario trasmitiendo los mensajes desde el usuario al SBD y las respuestas. Ejemplos de estos programas son CICS, IDMS-DC, TALKMASTER, etc.

Ficheros

de

datos,

donde

se

guardan

los

datos

de

la

BD.

Estructura fsica y lgica de Postgresql.


1.- Estructura Lgica. Libpq Postmaster Postgres Gestor de almacenamiento

2.- Estructura Fsica. Ficheros Directorios Creacin del cluster de bases de datos: initdb

Requerimientos para instalacin.


Los requerimientos mnimos con que debe cumplir una mquina para poder Instalar PostgreSQL es: 8 megabytes de Memoria RAM. 30 megabytes de espacio en disco duro para el cogido fuente. 5 megabytes de espacio en disco duro para la instalacin de los ejecutables. 1 megabyte extra para las bases de datos bsicas. 3 megabytes de espacio en disco duro para el tarball con el cdigo fuente.

Modo Transaccional
Una transaccin es una operacin que se realiza por completo, de forma atmica3. En caso de fallar algo, los cambios se revierten y todo vuelve al estado anterior. Postgres sigue el estndar SQL para la sintaxis de transacciones.
BEGIN WORK; INSERT INTO usuarios VALUES (acampos, Andres Campos); INSERT INTO usuario_saldo VALUES (acampos, 10000); COMMIT;

Cada transaccin comienza con el comando BEGIN WORK, aunque WORK es opcional. Al terminar el trabajo se debe invocar al comando COMMIT para indicar que la transaccin ha concluido. En cualquier punto de la transaccin se puede invocar a ROLLBACK, comando que deshace todos los cambios realizados en la base de datos, dejndola en el estado previo al inicio de la transaccin.
BEGIN WORK; INSERT INTO usuarios VALUES (acampos, Andres Campos); ROLLBACK; INSERT INTO usuarios VALUES (acampos, Andres Campos); INSERT INTO usuario_saldo VALUES (acampos, 10000); COMMIT;

En el caso de que un comando SQL falle, Postgres ignorar las siguientes sentencias hasta el fin de la transaccin, la cual se indica con COMMIT o ROLLBACK. Las transacciones en Postgres pueden ser grabadas en un punto intermedio, de manera de poder re-ejecutar o deshacer solo una porcin de la transaccin. Para esto se utiliza SAVEPOINT.
BEGIN WORK; INSERT INTO usuarios VALUES (acampos, Andres Campos); SAVEPOINT s1; INSERT INTO usuario_saldo VALUES (acampos, 10000); ROLLBACK s1; INSERT INTO usuario_saldo VALUES (acampos, 10000); COMMIT;

You might also like