You are on page 1of 11

INSTITUTO TECNOLOGICO SUPERIOR DE

ARANDAS

INGENIERIA EN SISTEMAS
COMPUTACIONALES

ROCIO PARRA
Sistemas Gestores de Base de Datos

MAURICIO SANCHEZ BARAJAS

TRABAJO:
Arquitectura de 3 SGBD

FECHA: 09 de Marzo de 2015

Arquitectura de PostgreSQL
El siguiente grfico muestra de forma esquemtica las entidades involucradas en
el funcionamiento normal del gestor de bases de datos:

PostgreSQL est basado en una arquitectura cliente-servidor. El programa


servidor se llama postgres y entre los muchos programas cliente tenemos, por
ejemplo, pgaccess (un cliente grfico) y psql (un cliente en modo texto).
Un proceso servidor postgres puede atender exclusivamente a un solo cliente; es
decir, hacen falta tantos procesos servidor postgres como clientes haya. El
proceso postmaster es el encargado de ejecutar un nuevo servidor para cada
cliente que solicite una conexin.
Se llama sitio al equipo anfitrin (host) que almacena un conjunto de bases de
datos PostgreSQL. En un sitio se ejecuta solamente un proceso postmaster y

mltiples procesos postgres. Los clientes pueden ejecutarse en el mismo sitio o en


equipos remotos conectados por TCP/IP.
Es posible restringir el acceso a usuarios o a direcciones IP modificando las
opciones del archivo pg_hba.conf, que se encuentra en
/etc/postgresql/pg_hba.conf.
Este archivo, junto con /etc/postgresql/postgresql.conf son particularmente
importantes, porque algunos de sus parmetros de configuracin por defecto
provocan multitud de problemas al conectar inicialmente y porque en ellos se
especifican los mecanismos de autenticacin que usar PostgreSQL para verificar
las credenciales de los usuarios.
Para habilitar la conexin a PostgreSQL desde clientes remotos, debemos verificar
el parmetro tcpip_socket = true en el fichero /etc/postgresql/postgresql.conf.
A continuacin, para examinar los mtodos de autenticacin y las posibilidades de
conexin de clientes externos, debemos mirar el fichero /etc/postgresql/
pg_hba.conf, donde se explicita la accin que hay que emprender para cada
conexin proveniente de cada host externo, o grupo de hosts.

ARQUITECTURA LGICA DEL MySQL


QUE ES SQL?

Por sus siglas en ingls, structured query language.


El lenguaje de consulta estructurado o SQL es un lenguaje declarativo de
acceso a base de datos relacionales que permite especificar diversos tipos
de operaciones en ellas.
Una de sus caractersticas es el manejo del algebra y el clculo relacional
que permiten efectuar consultas con el fin de recuperar de forma sencilla
informacin de inters de bases de datos, as como hacer cambios en
ella.

TIPO DE DATOS
Los tipos datos bsicos de SQL son:

Date: una fecha de calendario que contiene el ao (de cuatro cifras), el


mes y el da.
Time: La hora del da en horas minutos segundos (el valor predeterminado
es 0).
Timestamp: la combinacin de Date y Time.

MOTORES DE ALMACENAMIENTO
Para el diseo fsico del MySQL es necesario ver por sobretodo un buen motor de
almacenamiento que es nica en el mundo de las bases de datos.
Ahora veremos los elementos que esta puede implementar:

Concurrencia: es necesario tener una poltica de bloqueo o ninguna, sin


embargo esta causa de que el tiempo de procesamiento se vuelva mucho
mas lento por lo cual la concurrencia no es alta.
Soporte de transacciones

Indexado: las diferentes tcnicas de indexado pueden influir


drsticamente es el rendimiento de una base de datos.
Transacciones: dota de fiabilidad a los datos mientras se realizan
operaciones, te permite utilizar los datos pero slo te permite guardarlos
cuando se comprueba que las otras condiciones que pudiesen requerirse
se
han cumplido.
Comprobacin de la integridad referencial: incluye detalles detalles de la
representacin en disco de informacin, sin embargo esta parte se cumple
mas en lo que es almacenamiento fsico.
Soporte de ndices, depende mucho de los detalles del almacenamiento
fsico, cada motor de almacenamiento proporciona sus propios mtodos
de indexacin.
Cachs de memoria, depende mucho de cmo procesan los datos las
aplicaciones.
Algunos motores pueden ser:
El motor InnoDB, soporta transacciones a cambio de un sacrificio de la
velocidad de lectura y escritura en un factor 1:10.
El motor MyISAM, este se caracteriza principalmente por ofrecer una
lectura y escritura rpidas. Adems, es el nico motor que posibilita la
bsqueda fulltext.

Adems de InnoDB y MyISAM existen los siguientes motores con unas


caractersticas muy especiales:

MEMORY: Mantiene los datos en memoria, lo que permite obtener una


velocidad muy alta. Por contra, los datos se pierden al apagar el servidor.
MERGE: Posibilita acceder a varias tablas con la misma estructura como
si se tratase de una misma tabla.
BLACKHOLE: Procesa todas las consultas pero no almacena los datos en
ningn sitio. Es como un agujero negro.

CONECTORES

MySQL ofrece conectividad controlador estndar de base de datos MySQL


para utilizar con aplicaciones y herramientas que sean compatibles con
estndares de la industria ODBC y JDBC. Cualquier sistema que trabaja
con ODBC o JDBC puede usar MySQL.
Los conectores MySql son los drivers que utilizan los programas cliente
para conectarse al servidor, estn disponibles para Windows y Unix.
Para utilizar un conector debe instalarse en la mquina cliente. No es
necesario que la maquina cliente y el servidor corran bajo el mismo
sistema operativo.

GESTOR DE CONEXIONES

Un gestor de conexin representa una agrupacin de conexiones, en lugar


de una nica conexin de red cliente-servidor de MySQL.
La agrupacin de conexiones consiste en una conexin maestra, y
opcionalmente cualquier nmero de conexiones esclavas.
El gestor de conexiones de MySQL puede configurarse para limitar el
nmero de conexiones concurrentes.

PROCESADOR DE CONSULTAS

El procesamiento de consultas tiene varias etapas a seguir para resolver


una consulta SQL, las caractersticas del modelo relacional permiten que
cada motor de base de datos elija su propia representacin que,
comnmente, resulta ser el lgebra relacional. La optimizacin de
consultas es una de estas etapas.
Cuando una consulta llega al gestor de MySQL, se analiza detalladamente
y se produce una representacin intermedia de la misma consulta.
Posteriormente MySQL toma una serie de decisiones, que pueden incluir
el determinar el orden de lectura de las tablas, el uso de ciertos ndices, o
la re-escritura de la consulta en una forma ms eficiente.

OPTIMIZADOR DE CONSULTAS

MySQL utiliza un optimizador basado en costos para determinar la mejor


manera de resolver una consulta.

En muchos casos, MySQL puede calcular el mejor plan de consulta posible, pero a
veces MySQL no tiene suficiente informacin sobre los datos a mano y tiene que
hacer suposiciones educadas sobre los datos.

EXPLAIN, mediante esta podemos obtener toda la informacin sobre el


modo en el que una consulta SQL se ejecutara en el servidor. Es
extremadamente til para conocer la configuracin de ndices en las
tablas, los ndices que podran ser configurados para mejorar su
rendimiento, el nmero de filas que se revisan, el tipo de query, etc.

CACHE DE CONSULTAS

La cach de consultas es muy til en un entorno donde tiene tablas que no


cambian frecuentemente y donde el servidor recibe muchas consultas
idnticas.
La cach de consultas no devuelve datos antiguos, despus de haber
hecho una modificacin en las tablas.
La cach de consultas no se usa para comandos preparados en la parte
del servidor.
Actualmente para MySQL 5.0 Server se proporciona una query cache.
Cuando se usa, la query cache almacena el texto de una consulta
SELECT junto con el resultado que se le envi al cliente.

CONTROL DE CONCURRENCIA

El acceso simultneo descrito puede dar como resultados informacin


incorrecta, dependiendo de la suerte que tengamos en la intercalacin de
las lecturas y escrituras simultneas. Esta problemtica ha llevado a
disear e implementar diferentes estrategias de control de concurrencia,
que se encargan de evitar todos esos problemas, de modo que los
desarrolladores de las aplicaciones pueden olvidarse de ellos al escribir
su cdigo.
MySQL tiene un apoyo limitado para el control de concurrencia. Como en
la versin 3.0, no hay soporte para transacciones y, por lo tanto, no hay
nivel de aislamiento de transaccin. Tampoco es posible revertir
transacciones.

GESTOR DE RECUPERACIN

El gestor de recuperacin es responsable de restaurar la base de datos a


su estado estable pasado.
Tal operacin lo realiza usando el registro para la base de datos, que se
adquiere del encargado del almacenador intermediario, y ejecutando cada
operacin en el registro.

Desde los registros del encargado del registro todas las operaciones realizadas en
la base de datos (del principio de la vida de la base de datos), ejecutando cada
comando en el fichero de diario recuperaran la base de datos a su estado estable
pasado.
GESTOR DE TRANSACCIONES
Una transaccin es una sola unidad del trabajo que tiene unos o ms comandos
de MySQL en ella. El gestor de transacciones es responsable de cerciorarse de
que la transaccin est registrada y ejecutada atmico.
Si existiera algn error, estas podras ser por:

Error lgico (violacin de restricciones, tipos incompatibles, etc.).


Error del sistema (interbloqueos, espacio insuficiente,etc.).

Arquitectura de Bases de Datos SQL Server


La arquitectura interna de las bases de datos en SQL Server est compuesta por 2
tipos de estructura, la estructura lgica y la estructura fsica. Es muy importante
conocer cmo es que estas estructuras estn compuestas y cul es la relacin
que tienen los objetos de base de datos con cada una de estas estructuras.

Estructura Lgica:
Desde el punto de vista lgico, la base de datos debe tener al menos 1 FileGroup
el cual contiene a toda la metadata de la misma base de datos, es decir tablas y
vistas de sistema, a este FileGroup inicial se le conoce como Primario y est
presente en todas las bases de datos. Todos los objetos de usuario que contengan
data, ya sean tablas o ndices, deben estar ligados a un FileGroup, esto se
puede definir al momento de ejecutar la sentencia DDL de creacin del objeto, si
no se indica a que FileGroup estar ligado ese objeto, este pertenecer al
FileGroup por defecto definido en la base de datos. La base de datos solo puede
tener definido 1 solo default FileGroup.

Las bases de datos pueden tener hasta 32767 FileGroups definidos, segn los
lmites establecidos para la ltima versin de SQL Server, la cual es SQL Server
2008 R2. Uno de los propsitos de los FileGroups es poder distribuir la data a
travs de varios discos duros fsicos, de esta manera se puede obtener mayor

rendimiento en las operaciones de I/O debido a que ms de un disco trabajara al


mismo tiempo. Otro de los propsitos es poder esconder la ubicacin fsica real de
la informacin a los programadores, ya que para ellos la tabla X pertenece al
FileGroup A, pero no saben en que data files fsicamente se encuentra la
informacin de la tabla X.

Los FileGroups pueden contener 1 o ms Datafiles, y cada uno de estos


datafiles se pude encontrar en un discos diferentes, lo cual tambin agilizara las
consultas y los ingresos de informacin a las tablas que se encuentren asignadas
a este FileGroup, debido a que SQL Server distribuir la informacin
uniformemente a travs de todos los DataFiles del FileGroup.

Estructura Fsica:
Desde el punto de vista fsico, como ya hemos visto, tenemos los DataFiles que
los en realidad los archivos de datos, es decir donde se guarda toda la informacin
de la base de datos. Un DataFile solo puede pertenecer a 1 FileGroup.
Internamente los DataFiles estn divididos en Extends y estos a su vez en
Pages. Las Pages son la unidad minima de almacenamiento dentro de la base
de datos. Un Page tiene 8 Kb de tamao en espacio de disco. Un Extend tiene
8 Pages contiguas que lo conforman, es decir, un Extend tiene como tamao 64
Kb de espacio en disco.
En un Page solo puede haber informacin de 1 sola tabla, es decir el espacio de
un Page no es compartido entre tablas o ndices. En el caso de los Extends,
estos pueden ser de dos tipos:

Mixed: Los cuales son compartidos hasta por 8 objetos, uno por cada
Page.
Uniform: Los cuales solo pertenecen a un solo objeto, es decir que todos
los Pages pertenecen a un solo objeto.

Normalmente cuando se crea una nueva tabla esta es asignada a un Extend de


tipo Mixed, hasta alcanzar la utilizacin de hasta 8 Pages, a partir de ese
momento se asignan Extends de tipo Uniform para optimizar el uso del espacio
en la tabla.

Los DataFiles normalmente tienen 2 extensiones de archivo, las cuales son


estandar mas no obligarias, la extencion mdf que se utiliza para el primer
Datafile perteneciente al FileGroup primario, y la extension ndf que se utiliza

para los demas datafiles que se agregan posteriormente a los demas FileGroups
de la base de datos.
En el caso del LogFile, este no pertenece a un FileGroup en especifico, en
cambio archivo esta ligado directamente a la base de datos. Las bases de datos
de SQL Server solo pueden tener un solo LogFile activo al mismo tiempo, si bien
se pueden crear multiples LogFiles en la base de datos, solo uno podra ser
escrito, ya que solo uno puede estar activo, cuando este archivo se llene, la base
de datos pasara a escribir al siguiente archivo de transacciones, y asi
sucesivamente. Por esta razon no es muy conveniente ni util tener mas de un
LogFile.
En conclusin espero que sea de ayuda estas explicaciones sobre la arquitectura
de una base de datos de SQL Server, si desean temas por favor no duden en
solicitarlo, har lo posible para poder cubrir los temas solicitados en el mas corto
tiempo.

You might also like