Isabel Herrera Jaime Aguilar Jesús Porras Luz...

83
Integrantes Isabel Herrera Jaime Aguilar Jesús Porras Luz Cala

Transcript of Isabel Herrera Jaime Aguilar Jesús Porras Luz...

Integrantes

Isabel Herrera

Jaime Aguilar

Jesús Porras

Luz Cala

Agenda

•POSTGRE SQL

•SQL SERVER

•ORACLE

*¿Qué es Oracle?* Historia

* Arquitectura

•MySQL

La arquitectura Oracle es básicamente una herramienta cliente-servidor para la gestión de base de datos creada por Oracle Corporation.

Es considerado el SGBD más complejo por poseer:

•Soporte de transacciones

•Estabilidad

•Escalabilidad

•Es multiplataforma

Es un producto vendido a nivel mundial, aunque la gran potencia que tiene y su elevado precio hace que sólo se vea en empresas muy grandes y multinacionales.

DBMS

¿Qué es Oracle?

La compañía Oracle surgió hace 25 años cuando Larry Ellison y sus co-fundadores,

Bob Miner y Ed Oates se dieron cuenta del potencial existente en el modelo de la base

de datos relacional.

De esta compañía surgió el RelationalSoftware (Actual arquitectura Oracle) gracias a los estudios sobre SGDB de GeorgeKoch.

Para ese entonces era el sistema más complejo desde el punto de vista técnico, debido a su filosofía de las bases de datos relacionales.

DBMS

HISTORIAAgenda

•POSTGRE SQL

•SQL SERVER

•ORACLE

*¿Qué es Oracle?* Historia

* Arquitectura

•MySQL

Consiste de varios procesos corriendo donde reside la instancia, los espacios de memoria dedicados a ejecutar procesos específicos y la base de datos física con sus archivos de control, de datos y de transacciones.

DBMSArquitectura

Agenda

•POSTGRE SQL

•SQL SERVER

•ORACLE

*¿Qué es Oracle?* Historia

* Arquitectura

•MySQL

Una instancia de Oracle está conformada por varios procesos (procesos de usuario y los que se ejecutan en el background de Oracle) y espacios de memoria compartida.

DBMS

La Instancia de Oracle

•El Área Global del Sistema (SGA)

Es un área de memoria compartida que se utiliza para almacenar información de control y de datos de la instancia.

Agenda

•POSTGRE SQL

•SQL SERVER

•ORACLE

* Arquitectura

1.La Instancia

*SGA

*Buffer cache

*Buffer redo log

*Shared Pool

2.Procesos

3.Base de datos

•MySQL

DBMS

•El buffer de caché (database buffer cache)Almacena los bloques de datos utilizados

recientemente. Al utilizarse este buffer se reducen las operaciones de entrada y salida.

•El buffer de redo logGuarda los cambios efectuados en la base de datos.

Estos buffers escriben en el archivo físico de redo log tan rápido como se pueda sin perder eficiencia.

Agenda

•POSTGRE SQL

•SQL SERVER

•ORACLE

* Arquitectura

1.La Instancia

*SGA

*Buffer cache

*Buffer redo log

*Shared Pool

2.Procesos

3.Base de datos

•MySQL

DBMS

•El área shared poolEsta área almacena estructuras de memoria compartida,

tales como las áreas de código SQL compartido e información interna del diccionario.

1. El caché de biblioteca se utiliza para almacenar código SQL compartido.

2. El caché del diccionario de datos está conformado por un grupo de tablas y vistas que se identifican la base de datos.

Agenda

•POSTGRE SQL

•SQL SERVER

•ORACLE

* Arquitectura

1.La Instancia

*SGA

*Buffer cache

*Buffer redo log

*Shared Pool

2.Procesos

3.Base de datos

•MySQL

•DBWR (database writer): escribe en disco .

•LGWR (log writer): escribe información desde el buffer de log hacia el archivo redo log.

•CKPT (checkpoint): advierte al proceso DBWR de efectuar un proceso de actualización en el disco de los datos mantenidos en memoria.

•PMON (process monitor): Su misión es monitorizar los procesos del servidor y tomar acciones correctivas cuando alguno de ellos se interrumpe en forma abrupta.

DBMS

Procesos de la InstanciaAgenda

•POSTGRE SQL

•SQL SERVER

•ORACLE

* Arquitectura

1.La Instancia

*Procesos

*PGA

2.Procesos

3.Base de datos

•MySQL

DBMS•SMON (system monitor): Levanta una instancia cuando se le da la instrucción de partida. Enseguida limpia los segmentos temporales y recupera las transacciones interrumpidas.

•ARCH (archiver): respalda la información almacenada en los archivos redo log cuando éstos se llenan. Este proceso estásiempre activo con el modo ARCHIVELOG.

El Área Global de Programas (PGA)Esta área de memoria contiene datos e información de

control para los procesos que se ejecutan en el servidor de Oracle.

Agenda

•POSTGRE SQL

•SQL SERVER

•ORACLE

* Arquitectura

1.La Instancia

*Procesos

*PGA

2.Procesos

3.Base de datos

•MySQL

•Procesos de Usuarios:

Cuando un usuario se conecta a la base de datos, se crea un proceso de usuario que se encarga de efectuar el código de aplicación del usuario y manejar su perfil con sus variables de ambiente.

•Procesos de Servidores:

Ejecutan las ordenes SQL de los usuarios y llevan los datos al database buffer cache para que los procesos del usuario puedan tener acceso a los datos.

Se pueden tener diversos los tipos de servidores: dedicados y multihilos.

DBMS

Agenda

•POSTGRE SQL

•SQL SERVER

•ORACLE

* Arquitectura

1.La Instancia

2.Procesos

*Usuarios

*Servidores

3.Base de datos

•MySQL

DBMS

Sirven para el almacenamiento físico de las tablas, índices y agrupamientos (clusters) y procedimientos. Contienen los datos de los usuarios.

Los espacios de tablas (tablespaces) son las unidades lógicas manejadas por oracle para manejar y controlar el espacio de los discos.

Archivos de Datos (Datafiles)Agenda

•POSTGRE SQL

•SQL SERVER

•ORACLE

* Arquitectura

1.La Instancia

2.Procesos

3.Base de datos

-Datafiles

-Controlfiles

-Redo log files

-Archiver log files

•MySQL

DBMS

Archivos de Control (Control Files)Contienen la dirección física y descripción de los archivos

de la base de datos y de los archivos de rehacer para el arranque correcto de la BD.

Estos archivos se crean automáticamente cuando se da una orden CREATE DATABASE y no son editables.

Archivos de Rehacer (Redo log files)Contiene los cambios realizados a la BD para la

recuperación ante fallas o el manejo de las transacciones.El principal propósito de estos archivos es servir de respaldo de los datos en la memoria RAM.

Archivos Fuera de Línea (Archived log Files)Son Archivos opcionales donde se guarda información

vieja de los archivos de rehacer.

Agenda

•POSTGRE SQL

•SQL SERVER

•ORACLE

* Arquitectura

1.La Instancia

2.Procesos

3.Base de datos

-Datafiles

-Controlfiles

-Redo log files

-Archiver log files

•MySQL

DBMS

Arquitectura Agenda

•POSTGRE SQL

•SQL SERVER

•ORACLE

* Arquitectura

* Concurrencia

* Locks

* Recuperacion

* Seguridad

* Herramientas

* Versiones

•MySQL

DBMS

Oracle utiliza multiversión para permitir el acceso concurrente a los datos.

Control de concurrencia multiversiónOracle automáticamente proporciona

consistencia de lectura: datos que una consulta ve son de un mismo pto en el tiempo (consistencia de lectura a nivel de sentencia).

También puede proporcionar consistencia de lectura a todos las consultas de una transacción (consistencia a nivel de transacción).

La Concurrencia en Oracle Agenda

•POSTGRE SQL

•SQL SERVER

•ORACLE

* Arquitectura

* Concurrencia

* Locks

* Recuperacion

* Seguridad

* Herramientas

* Versiones

•MySQL

DBMSOracle proporciona consistencia de lectura a dos niveles:

•Nivel de sentencia

•Nivel de transacción

Oracle proporciona tres niveles de aislamiento

•read-committed: Nivel de aislamiento por defecto. Cada consulta de una transacción solo ve los datos que fueron confirmados antes de que la consulta comenzara. Se producen lecturas no reproducibles.

•serializable transactions: Solamente se ven los cambios realizados por transacciones confirmadas + cambios efectuados por ella misma.

•read-only : transacciones de solo lectura ven datos confirmados antes de empezar y no permiten modificaciones de los datos.

Agenda

•POSTGRE SQL

•SQL SERVER

•ORACLE

* Arquitectura

* Concurrencia

* Locks

* Recuperacion

* Seguridad

* Herramientas

* Versiones

•MySQL

DBMS

Los Bloqueos son los mecanismos que utiliza Oracle para evitar que dos transacciones accedan al mismo recurso.

ORACLE utiliza el nivel menos restrictivo guiándose por las siguientes reglas:

•Operaciones de lectura no esperan a las de escritura sobre los mismos datos.

•Operaciones de escritura no esperan a las de lectura sobre los mismos datos.

•Operaciones de escritura solamente esperan a otras operaciones de escritura que intentan modificar la misma tupla.

ORACLE no escalona los bloqueo.

•Interbloqueos

Manejador de LocksAgenda

•POSTGRE SQL

•SQL SERVER

•ORACLE

* Arquitectura

* Concurrencia

* Locks

* Recuperacion

* Seguridad

* Herramientas

* Versiones

•MySQL

DBMS

Siempre existe la posibilidad de que el sistema falle: se debe recuperar la BD lo más rápidamente posible e intentar que exista una pérdida de datos mínima.

Posibles fallos:

•Fallo del usuario:Un error del usuario (ej. borrado de tabla) puede requerir recuperar la BD a un pto anterior al error.

•Fallo del proceso: Cuando un proceso que está accediendo a la BD falla.

•Fallo de la instancia:Cuando una instancia se aborta inesperadamente se necesita una recuperación de la instancia.

•Fallo físico de algún fichero: Ocurre cuando un disco, un fichero o una porción de un fichero no puede leerse por estar dañado.

Manejador de RecuperaciónAgenda

•POSTGRE SQL

•SQL SERVER

•ORACLE

* Arquitectura

* Concurrencia

* Locks

* Recuperacion

* Seguridad

* Herramientas

* Versiones

•MySQL

DBMS

•Autenticación de usuarios:

- Mediante contraseña

- Mediante SO.

- Global de usuario

•Administración de privilegios

- Privilegios de sistema.

- Privilegios de objetos

•Administración de contraseñas

•Registro de transacciones

•Recovery manager

•Recuperación base de datos

Seguridad en OracleAgenda

•POSTGRE SQL

•SQL SERVER

•ORACLE

* Arquitectura

* Concurrencia

* Locks

* Recuperacion

* Seguridad

* Herramientas

* Versiones

•MySQL

DBMS

Para crear un usuario se debe seleccionar, en primer lugar, la opción correspondiente en la aplicación.

Herramienta para la Creación de Usuarios

Agenda

•POSTGRE SQL

•SQL SERVER

•ORACLE

* Arquitectura

* Concurrencia

* Locks

* Recuperacion

* Seguridad

* Herramientas

* Versiones

•MySQL

DBMS

•Oracle Edición Estándar

•Oracle Edición Enterprise

•Personal Oracle

•Oracle Lite

OTROS PRODUCTOS

•Oracle 9iAS (Application Server)

•Oracle 9iAS, que remplaza al Oracle ApplicationOracle Forms Developer

•Oracle Reports Developer

•Oracle Discoverer

•Oracle 9iAS Portal

Versiones de OracleAgenda

•POSTGRE SQL

•SQL SERVER

•ORACLE

* Arquitectura

* Concurrencia

* Locks

* Recuperacion

* Seguridad

* Herramientas

* Versiones

•MySQL

Agenda

•POSTGRE SQL

•SQL SERVER

•ORACLE

Sitios Web

•MySQL

DBMS

http://www.napolifirewall.com/ORACLE.htm

http://www.orape.net/subidos/manualbd/arquitectura.doc

http://www.infor.uva.es/~jvegas/cursos/bd/oraseg/oraseg.html

http://www.infor.uva.es/~jvegas/cursos/bd/oraseg/oraseg.html

Sitios Web

Introducción SQL SERVERAgenda– Introducción a SQL

SERVER– Arquitectura SQL

SERVER– Motor SQL SERVER– Seguridad SQL

SEVER– Interfaz de

programación – Herramientas – Actual de SQL

SERVER– Referencias

DBMS

Que es SQL SERVER ??SQL Server es un sistema

administrador para Bases de Datos relacionales basadas en la arquitectura Cliente / Servidor (RDMS).

Arquitectura de SQL SERVERAgenda– Introducción a

SQL SERVER– Arquitectura SQL

SERVER– Motor SQL

SERVER– Seguridad SQL

SEVER– Interfaz de

programación – Herramientas – Actual de SQL

SERVER– Referencias

DBMS

ARQUITECTURA CLIENTE/SERVIDOS

– El Cliente es responsable de la parte lógica y de presentar la información al usuario.

– SQL Server administra Bases de Datos y distribuye los recursos disponibles del servidor

Arquitectura de SQL SERVERAgendaIntroducción a SQL

SERVERArquitectura SQL

SERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz de

programación Herramientas Actual de SQL

SERVERReferencias

DBMS

– Sistema administrador para Bases de Datos Relacionales(RDBMS):

– Asegurarse de que la información es almacenada correctamente .

– Crear una estrategia de copias de seguridad.

Arquitectura de SQL SERVERAgendaIntroducción a SQL

SERVERArquitectura SQL

SERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz de

programación Herramientas Actual de SQL

SERVERReferencias

DBMS

TRANSACT - SQL:Transact – SQL es un lenguaje que

utiliza SQL Serverpara poder gestionar los datos que

contienen las tablas.

Arquitectura de SQL SERVERAgendaIntroducción a SQL

SERVERArquitectura SQL

SERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz de

programación Herramientas Actual de SQL

SERVERReferencias

DBMS

SQL Server usa una arquitectura de comunicación por capas para aislar aplicaciones internas de red y protocolos

Arquitectura de SQL SERVERAgendaIntroducción a SQL

SERVERArquitectura SQL

SERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz de

programación Herramientas Actual de SQL

SERVERReferencias

DBMS

– Aplicación Una aplicación es desarrollada usando una aplicación de interfaz de programación para Base de Datos

– Interfaz de la base de datos.Librería de red Una librería de

Red, también conocida comoNet-Library, debe ser instalada tanto en el cliente

como en el servidor

Arquitectura de SQL SERVERAgendaIntroducción a SQL

SERVERArquitectura SQL

SERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz de

programación Herramientas Actual de SQL

SERVERReferencias

DBMS

– Tabular Data StreamLos paquetes TDS son

encapsulados en los paquetes de red hechos por la protocol stak usada por las Net-Libraries.

– Servicio Open DataEste es un componente de SQL

Server que se encarga de las

conexiones de red

Motor de SQL SERVERAgendaIntroducción a SQL

SERVERArquitectura SQL

SERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz de

programación Herramientas Actual de SQL

SERVERReferencias

DBMS

– Motor relacional– Motor de

almacenamiento

consultas de SQL SERVERAgendaIntroducción a SQL

SERVERArquitectura SQL

SERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz de

programación Herramientas Actual de SQL

SERVERReferencias

DBMS

Arquitectura de SQL SERVERAgendaIntroducción a SQL

SERVERArquitectura SQL

SERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz de

programación Herramientas Actual de SQL

SERVERReferencias

DBMS

consulta de SQL SERVERAgendaIntroducción a SQL

SERVERArquitectura SQL

SERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz de

programación Herramientas Actual de SQL

SERVERReferencias

DBMS

consulta de SQL SERVERAgendaIntroducción a SQL

SERVERArquitectura SQL

SERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz de

programación Herramientas Actual de SQL

SERVERReferencias

DBMS

Seguridad en SQL SERVERAgendaIntroducción a SQL

SERVERArquitectura SQL

SERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz de

programación Herramientas Actual de SQL

SERVERReferencias

DBMS

– La autentificación identifica al usuario que está usando una cuenta y verifica sólo la habilidad de conectarse con SQL Server.

Seguridad en SQL SERVERAgendaIntroducción a SQL

SERVERArquitectura SQL

SERVERMotor SQL SERVERSeguridad SQL SEVERInterfaz de

programación Herramientas Actual de SQL

SERVERReferencias

DBMS

Autentificación de login:Un usuario debe tener una cuenta

para conectarse al SQL Server. Este reconoce 2 mecanismos de autentificación .

Autentificación de SQL SERVERCuando se usa, un administrador del

Sistema de SQL Server, define una cuenta y un password .

Autentificación de Windows NTCuando se usa, el usuario no necesita

de una cuenta de SQL Server, para conectarse.

Seguridad en SQL SERVERAgenda– Introducción a SQL

SERVER– Arquitectura SQL

SERVER– Motor SQL SERVER– Seguridad SQL

SEVER– Interfaz de

programación – Herramientas – Actual de SQL

SERVER– Referencias

DBMS

Roles :Permiten reunir a los usuarios en una

sola unidad a la cual se le pueden aplicar permisos. SQL Server contiene roles de servidor y de Base de Datos predefinidos, para tareas administrativas comunes, de manera que pueden asignársele determinados permisos administrativos a un usuario en particular.

• Roles fijos del Servidor .• Roles fijos de la Base de Datos .• Roles de usuarios definidos en la

Base de Datos

INTEFACES DE PROGRAMACIÓN DE APLICACIONES SQL SERVER

DBMS

– Agenda– Introducción a SQL

SERVER– Arquitectura SQL

SERVER– Motor SQL SERVER– Seguridad SQL

SEVER– Interfaz de

programación – Herramientas – Actual de SQL

SERVER– Referencias

INTEFACES DE PROGRAMACIÓN DE APLICACIONES SQL SERVER

DBMS

OLE DB: Esta es una interfaz de acceso a datos.OPEN DATABASE CONNECTIVITY: ODBC) Es una interfaz común para tener acceso a base de datos SQL.ACTIVE X DATA OBJECTS: (ADO) Encapsula la OLE DB API en un modelo simplificado de objetos que reduce el desarrollo de aplicaciones y los costos de mantenimiento REMOTE DATA OBJECTS: (RDO) Mapea y encapsula al ODBC API

– Agenda– Introducción a SQL

SERVER– Arquitectura SQL

SERVER– Motor SQL SERVER– Seguridad SQL

SEVER– Interfaz de

programación – Herramientas – Actual de SQL

SERVER– Referencias

Herramienta de administración graficas de SQL SERVER

DBMS

– Agenda– Introducción a SQL

SERVER– Arquitectura SQL

SERVER– Motor SQL SERVER– Seguridad SQL

SEVER– Interfaz de

programación – Herramientas – Actual de SQL

SERVER– Referencias

Herramienta de administración graficas de SQL SERVER

DBMS

OSQL (Object Structured QueryLanguage) es una utilidad que permite el uso desentenciasTransact-SQL, asícomo de procedimientos del sistema, y también el manejo deficherosscript. Esta utilidad utiliza ODBC para conectarse con el servidor. OSQL se ejecuta directamente desde el sistema operativo, una vez ejecutado permite sentencias Transact-SQL, e interactúa directamente con SQL Server.BCP es una utilidad que permite copiar datos de SQL Server a un fichero de datos definido por el usuario.

– Agenda– Introducción a SQL

SERVER– Arquitectura SQL

SERVER– Motor SQL SERVER– Seguridad SQL

SEVER– Interfaz de

programación – Herramientas – Actual de SQL

SERVER– Referencias

DBMS

– Agenda– Introducción a SQL

SERVER– Arquitectura SQL

SERVER– Motor SQL SERVER– Seguridad SQL

SEVER– Interfaz de

programación – Herramientas – Actual de SQL

SERVER– Referencias

SQL Server incluye cuatro servicios:

MSSQLServer.

MSSQLServer se encarga del procesamiento de transacciones y consultas, así como delcontrol de la base de datos y la integridad de los datos.SQLServerAgent se encarga de la gestión de operadores, alertas y trabajos de la base dedatos.MSDTC se encarga del control de transacciones distribuidas.Microsoft Search se encarga de la administración de índices y catálogos, para la búsquedaindexada de texto.1.3. Arquitectura Cliente-Servidor.SQL Server se encarga de administrar bases de datos relacionales basadas en laarquitectura Cliente / Servidor (RDBMS: Relational Database Management Sistema).

LOS PRO Y CONTRAS La primera base de datos en escalar

desde la computadora portátil hasta la empresa utilizando la misma base de código y ofrecer el 100% de compatibilidad de código

– La mejor integración con WindowsNT Server

– La mejor integración con Microsoft Transaction Server

– Gestión: Con un completo interfaz gráfico que reduce la complejidad innecesaria de las tareas de administración y gestión de la base de datos.

DBMS

– Agenda– Introducción a SQL

SERVER– Arquitectura SQL

SERVER– Motor SQL SERVER– Seguridad SQL

SEVER– Interfaz de

programación – Herramientas – Actual de SQL

SERVER– Referencias

DBMS

El reinicio de todos los datos en una base de datos es un trabajo serio que invita a la potencial pérdida de datos. Cuanto más grande sea la base de datos, más onerosa será esta obligación. Sin embargo, después de mirar las herramientas de migración del SQL Server 7.0, es obvio que Microsoft se ha planteado esta operación como algo muy serio.

– Agenda– Introducción a SQL

SERVER– Arquitectura SQL

SERVER– Motor SQL SERVER– Seguridad SQL

SEVER– Interfaz de

programación – Herramientas – Actual de SQL

SERVER– Referencias

Lo mas actual en SQL SERVER

DBMS

Microsoft SQL Server 2000– Microsoft SQL Server 2005Plataforma Windows NT

– Agenda– Introducción a SQL

SERVER– Arquitectura SQL

SERVER– Motor SQL SERVER– Seguridad SQL

SEVER– Interfaz de

programación – Herramientas – Actual de SQL

SERVER– Referencias

Lo mas actual en SQL SERVER

DBMS

REFERENCIAS:es.geocities.comwww.hipertexto.info

– Agenda– Introducción a SQL

SERVER– Arquitectura SQL

SERVER– Motor SQL SERVER– Seguridad SQL

SEVER– Interfaz de

programación – Herramientas – Actual de SQL

SERVER– Referencias

MySQLDBMS

MySQL

Arquitectura

o Definición

o Características

MySQL es un sistema de gestión de base de datos, multihilo y multiusuario. MySQL AB desarrolla MySQL como software libre en un esquema de licenciamiento dual. Por un lado lo ofrece bajo la GNU GPL, pero, empresas que quieran incorporarlo en productos privativos pueden comprar a la empresa una licencia que les permita ese uso.

MySQL está poseído y patrocinado por una empresa privada, que posee el copyright de la mayor parte del código. Esto es lo que posibilita el esquema de licencia.

MySQLDBMS

MySQL

Arquitectura

o Definición

o CaracterísticasMySQL es una base de datos muy rápida en la lectura cuando utiliza el motor no transaccional MyISAM, pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificación. En aplicaciones web hay baja concurrencia en la modificación de datos y en cambio el entorno es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones.

MySQLDBMS

MySQL

Arquitectura

o Definición

o Características

• Velocidad: Mysql es mucho más rápido que la mayoría de sus rivales.

• Funcionalidad: Mysql dispone de muchas de las funciones que exigen los desarrolladores profesionales, como compatibilidad completa con ACID, compatibilidad para la mayor parte de SQL ANSI , volcados online, duplicación, funciones SSL e integración con la mayor parte de los entornos de programación.

• Portabilidad: Mysql se ejecuta en la inmensa mayoría de sistemas operativos y, la mayor parte de los casos, los datos se pueden transferir de un sistema a otro sin dificultad.

MySQLDBMS

MySQL

Arquitectura

o Definición

o Características

• Facilidad de uso: Mysql resulta fácil de utilizar y de administrar. Las herramientas de Mysql son potentes y flexibles, sin sacrificar su capacidad de uso.

MySQL carecía de elementos considerados esenciales en las bases de datos relacionales, tales como integridad referencial y transacciones.

Poco a poco los elementos de los que carecía, han siendo incorporados tanto por desarrollos internos, como por desarrolladores de software libre.

MySQLDBMS

MySQL

Arquitectura

o Definición

o Características

Entre las características disponibles en las últimas versiones se puede destacar:

o Amplio subconjunto del lenguaje SQL. Algunas extensiones son incluidas igualmente.

o Disponibilidad en gran cantidad de plataformas y sistemas.

o Diferentes opciones de almacenamiento según si se desea velocidad en las operaciones o el mayor número de operaciones disponibles.

o Transacciones y claves foráneas.

o Conectividad segura.

o Replicación.

o Búsqueda e indexación de campos de texto.

MySQLDBMS

MySQL

Arquitectura

o Definición

o Características

MySQL es un sistema de administración relacional de bases de datos.

Características implementadas únicamente por MySQL:

o Múltiples motores de almacenamiento (MyISAM, Merge, InnoDB, BDB, Memory/heap, MySQL Cluster, Federated, Archive, CSV, Blackhole y Example en 5.x), permitiendo al usuario escoger la que sea más adecuada para cada tabla de la base de datos.

o Agrupación de transacciones, reuniendo múltiples transacciones de varias conexiones para incrementar el número de transacciones por segundo.

MySQLDBMS

MySQL

Arquitectura

MySQLDBMS

MySQL

Arquitectura

o Gral. DBMS

o MySQL

Arquitectura General de los DBMS

MySQLDBMS

MySQL

Arquitectura

o Gral. DBMS

o MySQL

Capa Logica en Alto Nivel De MySQL

MySQLDBMS

MySQL

Arquitectura

o Gral. DBMS

o MySQL

Arquitectura de MySQL

En esta capa es donde los clientes y usuarios interactúan con el MySQL. En esta capa hay tres componentes que pueden ser vistos en el diagrama, estos componentes ilustran las diferentes clases de usuarios que pueden interactuar con MySQL, los cuales son Administradores, Clientes y Usuarios de consulta o usuarios query.

1.- Capa de Aplicacion

MySQLDBMS

MySQL

Arquitectura

o Gral. DBMS

o MySQL

Arquitectura de MySQL

Algunas utilidades Administrativas son:

o Mysqladmin

o Isamchk y Myisamchk

o Mysqldump

En cambio el usuario de consulta interactua con Mysql atravez de la Query interface que seria mysql

MySQLDBMS

MySQL

Arquitectura

o Gral. DBMS

o MySQL

Arquitectura de MySQL

2.- Capa Lógica

Query Processor

La inmensa mayoría de interacciones en el sistema ocurre cuando un usuario tiene el deseo de consultar o manipular los datos subyacentes en el almacenamiento. Esas interacciones son especificada usando un lenguaje de manipulación de datos (SQL), son analizados sintacticamente y optimizado por un query processor.

MySQLDBMS

MySQL

Arquitectura

o Gral. DBMS

o MySQL

Arquitectura de MySQL

oEmbedded DML Precompiler:

Cuando una petición es recibida de un cliente en la capa de aplicación, es la responsabilidad del Embedded DML Precompiler (lenguaje de manipulación de datos) extraer las declaraciones relevantes del SQL encajadas en los comandos del API del cliente

oDDL Compile

Las peticiones de tener acceso a las bases de datos de MySQL recibidas de un administrador son procesadas por el DDL Compiler (lenguaje de definición de datos). El cual compila los comandos (que son declaraciones del SQL) que interactúan directamente con la base de datos.

MySQLDBMS

MySQL

Arquitectura

o Gral. DBMS

o MySQL

Arquitectura de MySQL

oQuery Parser:

Después de obtener las declaraciones pertinentes descifrados de los peticiones de clientes o Administrativos, el siguoiente paso seria analizar sintacticamente el MySQL Quero. en esta etapa el objetivo del Query Parser es crear una estructura de árbol sintáctico basada en la averiguación a fin de que puede fácilmente ser comprendida por los otros componentes mas adelante.

oPreprocesador Query

Arbol sintáctico obtenido del Query parser, es utilizado en esta etapa para chequear la sintaxis SQL y chequear la semántica del MySQL Query con el fin de determinar si el query es valido

MySQLDBMS

MySQL

Arquitectura

o Gral. DBMS

o MySQL

Arquitectura de MySQL

oSecurity/Integration Manager

el papel del control de integridad y de seguridad es inspeccionar para ver si el cliente tiene acceso para conectarse a la base de datos.Mysql soporta ACID

oQuery Optimizar

Después de determinar que el cliente tiene los permisos correctos para acceder a la tabla específica en la base de datos. la query es sometida a optimizacion. MySQL utiliza el optimizador para ejecutar preguntas del SQL tan rápidamente como sea posible

MySQLDBMS

MySQL

Arquitectura

o Gral. DBMS

o MySQL

Arquitectura de MySQL

oExecution Engine

Ejecuta en contra de la base de datos el query una vez ya optimizado, luego procede a ejecutar las declaraciones SQL y acceder a la capa física de la base de datos MySQL.

MySQLDBMS

MySQL

Arquitectura

o Gral. DBMS

o MySQL

Arquitectura de MySQL

Transaction Management

MySQLDBMS

MySQL

Arquitectura

o Gral. DBMS

o MySQL

Arquitectura de MySQL

oTransaction Manager

El gerente de transacción es responsable de asegurarse de que la transacción este registrada y ejecutado con atomicidad.

oConcurrency-Control Manager:

El gestor de control de concurrencia es responsable de asegurarse de que las transacciones son ejecutadas separadamente e independientemente

MySQLDBMS

MySQL

Arquitectura

o Gral. DBMS

o MySQL

Arquitectura de MySQL

Recovery Management

MySQLDBMS

MySQL

Arquitectura

o Gral. DBMS

o MySQL

Arquitectura de MySQL

oRecovery Manager

El log manager es responsable de poner en bitácora cada operación ejecutada en la base de datos.Hace eso almacenando el registro de servicio en disco a través del manejador del buffer.

El control de recuperación es responsable de restaurar la base de datos para su último estado estable. Hace eso usando el log para la base de datos.

olog manager

MySQLDBMS

MySQL

Arquitectura

o Gral. DBMS

o MySQL

Arquitectura de MySQL

Storage Management

El almacenamiento se hace físicamente en algún tipo de almacenamiento secundario, de cualquier forma que el acceso dinámico de este medio no es práctico. Así, todo trabajo se hace a través de un número de buffers.

MySQLDBMS

MySQL

Arquitectura

o Gral. DBMS

o MySQL

Arquitectura de MySQL

oStorage Manager

En el nivel mínimo existe el Storage Manager (control de Almacenamiento). El papel del Gerente de Almacenamiento es mediar peticiones entre el gestor del buffer y el almacenamiento secundario.

oBuffer Manager

El propósito del Gerente del Recurso es aceptar peticiones del motor de ejecución (Execution engine). El Gerente del Recurso recibe referencias para datos dentro de la memoria del buffer manager y le devuelve esta información a los estratos superiores.

MySQLDBMS

MySQL

Arquitectura

o Gral. DBMS

o MySQL

La implementación del DBMS Postgres comenzó en 1986 como un proyecto de investigación del grupo del Profesor Michael Stonebraker en Berkeley

• ingres

Su siguiente proyecto fue 'Postgres' (post-ingres)• Usaba un lenguaje de consulta más avanzado:

POSTQUEL

Introdujo reglas, procedimientos, tipos definibles y conceptos de orientación a objetos en 1987

Versiones centradas en mejorar la portabilidad y fiabilidad

AGENDAAGENDA

Brev. Historia

Andrew Yu y Jolly Chen, decidieron reescribir gran parte del código de Postgres y sustituir POSTQUELpor un subconjunto ampliado de SQL

Fue lanzada en 1995 como Postgres95• Pasó a manos de la comunidad de Internet• Evolucionó hasta lo que es ahora PostgreSQL

PostgreSQL es un gestor de Bases de Datos basado en el modelo relacional, aunque incorpora algunos conceptos del modelo Orientado a Objetos, tales como la herencia

• Ofrece gran variedad de herramientas y librerías para acceder a las Bases de Datos

AGENDAAGENDA

Brev. Historia

AGENDAAGENDA

Brev. Historia

Arquitectura General

Arquitectura General (Highest level - Client/Server)

AGENDAAGENDA

Brev. Historia

Arquitectura General

Highest level -Client/Server

Cliente:

Libpq:• es responsable de manejar la comunicación

con los procesos del cliente

• establecer la conexión al postmaster

• obtención del hilo del servidor del postgre

para la sesión operacional

• Transmite a peticiones de la operación de

usuarios

AGENDAAGENDA

Brev. Historia

Arquitectura General

Highest level -Client/Server

Servidor:

El Postmater:• es responsable de aceptar la petición de

conexión del cliente

• realizar control de la autentificación y de

acceso en la petición del cliente

• Establecer la comunicación entre el cliente y el servidor del postgre

AGENDAAGENDA

Brev. Historia

Arquitectura General

Highest level -Client/Server

El Store Manager

Es responsable de la gestión de la memoria externa

y del control de recurso generales, incluyendo el

manejador de buffer, el manejador de archivo, el

manejador de control de consistencia y lock

AGENDAAGENDA

Brev. Historia

Arquitectura General

Highest level -Client/Server

Procesamiento de una Consulta

AGENDAAGENDA

Brev. Historia

Arquitectura General

Highest level -Client/Server

Procesamiento de consulta

El Parser:• Verifica la validez sintáctica de la cadena de

consulta

• Si es correcta se crea un parser tree• Se transforma Query tree

El Rewrite:• Se toma el árbol devuelto por la etapa

parser y se realiza la búsqueda de reglas presentes dentro de la consulta

• Si se encuentra alguna regla dentro de la consulta, la estructura de árbol se transforma en una expresión equivalente que incluye las relaciones base

• Una aplicación del sistema de reescritura se da cuando en la consulta interviene una vista

AGENDAAGENDA

Brev. Historia

Arquitectura General

Highest level -Client/Server

Procesamiento de consulta

Etapas

El Planner:• La Tarea de la etapa de optimización es

crear un plan de ejecución óptimo, el queryplan.

• Primero, se combinan todas las posibles formas de recorrer y unir las relaciones que aparecen en la consulta.

• Todos los Path’s creados llevan al mismo resultado y la tarea del optimizador es estimar el costo de ejecución de cada Path y encontrar cúal de éstos es el mas barato

El Executor:• Es el encargado de ejecutar el query plan y

de recuperar las tuplas de la forma como lo indica el plan.

AGENDAAGENDA

Brev. Historia

Arquitectura General

Highest level -Client/Server

Procesamiento de consulta

Etapas

Procesos en el Ejecutor

AGENDAAGENDA

Brev. Historia

Arquitectura General

Highest level -Client/Server

Procesamiento de consulta

Etapas

El Query Evaluation Engineering:

• Acepta los comandos SQL generados de un programa de aplicación de usuario

• produce la evaluación de Query Plans

• ejecuta estos Plans en la base de datos

Los Files and Access Methods:

• apoya el concepto de un archivo, el cual en un DBMS, es una colección de páginas o una colección de registros

• Soporta el tope de lo archivos e índices

AGENDAAGENDA

Brev. Historia

Arquitectura General

Highest level -Client/Server

Procesamiento de consulta

Etapas

El Buffer Management:• Asigna y mantiene el control de la memoria• Manda las paginas del disco a la memoria

principal según lo necesitado en respuesta a las peticiones leidas

• ofrece generalmente una política mejor del reemplazo

EL Disk Space Manager:• maneja el espacio en el disco, donde se

almacenan los datos• Apoya el concepto de página de modo que le

asigna la capa mas alta• Lee y escribe las paginas con esta capa• El tamaño de la página se elige tales que la

lectura o escritura de una página se puede hacer en una entrada-salida del disco.

AGENDAAGENDA

Brev. Historia

Arquitectura General

Highest level -Client/Server

Procesamiento de consulta

Etapas

El Transaction Management:

• se asegura de que las transacciones soliciten y lancen las cerraduras según un protocolo de fijación conveniente

• programar la ejecución de transacciones

El Lock Management:

• Este subsistema, junto con TransactionManagement , proporciona control de concurrencia, la restauración no actualizada, y la recuperación de la falla

• Los Archivos, los buffer y el Disk manager deben obrar recíprocamente con este y el transaction manager cuando se esta accediendo a los datos

AGENDAAGENDA

Brev. Historia

Arquitectura General

Highest level -Client/Server

Procesamiento de consulta

Etapas

AGENDAAGENDA

Brev. Historia

Arquitectura General

Highest level -Client/Server

Procesamiento de consulta

Etapas

Control de Concurrencia

MVCC, o Control de Concurrencia Multi-Versión (Multi-Version Concurrency Control)

Es la tecnología que PostgreSQL usa para evitar bloqueos innecesarios

Un lector nunca es bloqueado por un escritor. En su lugar, PostgreSQL mantiene una ruta a todas las transacciones realizadas por los usuarios de la base de datos. PostgreSQL es capaz entonces de manejar los registros sin necesidad de que los usuarios tengan que esperar a que los registros estén disponibles