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

Document related concepts
Transcript
Integrantes
Isabel Herrera
Jaime Aguilar
Jesús Porras
Luz Cala
DBMS
Agenda
¿Qué es Oracle?
•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
Agenda
•POSTGRE SQL
•SQL SERVER
•ORACLE
*¿Qué es Oracle?
* Historia
* Arquitectura
•MySQL
HISTORIA
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 Relational
Software (Actual arquitectura Oracle)
gracias a los estudios sobre SGDB de George
Koch.
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
Agenda
•POSTGRE SQL
•SQL SERVER
•ORACLE
*¿Qué es Oracle?
* Historia
* Arquitectura
•MySQL
Arquitectura
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.
DBMS
Agenda
•POSTGRE SQL
•SQL SERVER
La Instancia de Oracle
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.
•ORACLE
* Arquitectura
1.La Instancia
*SGA
*Buffer cache
*Buffer redo log
*Shared Pool
2.Procesos
3.Base de datos
•MySQL
•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.
DBMS
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
•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 log
Guarda 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.
DBMS
Agenda
•POSTGRE SQL
•SQL SERVER
•El área shared pool
Esta área almacena estructuras de memoria compartida,
tales como las áreas de código SQL compartido e
información interna del diccionario.
•ORACLE
* Arquitectura
1.La Instancia
*SGA
*Buffer cache
*Buffer redo log
*Shared Pool
2.Procesos
3.Base de datos
•MySQL
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.
DBMS
Agenda
Procesos de la Instancia
•POSTGRE SQL
•DBWR (database writer): escribe en disco .
•SQL SERVER
•LGWR (log writer): escribe información desde el buffer de
log hacia el archivo redo log.
•ORACLE
•CKPT (checkpoint): advierte al proceso DBWR de efectuar
* Arquitectura un proceso de actualización en el disco de los datos
1.La Instancia mantenidos en memoria.
*Procesos
*PGA
•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.
2.Procesos
3.Base de datos
•MySQL
DBMS
Agenda
•POSTGRE SQL
•SQL SERVER
•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.
•ORACLE
* Arquitectura
1.La Instancia
*Procesos
*PGA
2.Procesos
3.Base de datos
•MySQL
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.
DBMS
Agenda
•POSTGRE SQL
•SQL SERVER
•ORACLE
* Arquitectura
1.La Instancia
2.Procesos
*Usuarios
*Servidores
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
Archivos de Datos (Datafiles)
•POSTGRE SQL
•SQL SERVER
•ORACLE
* Arquitectura
1.La Instancia
2.Procesos
3.Base de datos
-Datafiles
-Controlfiles
-Redo log files
-Archiver log files
•MySQL
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.
DBMS
Agenda
•POSTGRE SQL
•SQL SERVER
•ORACLE
* Arquitectura
1.La Instancia
2.Procesos
3.Base de datos
-Datafiles
-Controlfiles
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.
-Archiver log files
-Redo log files
•MySQL
DBMS
Agenda
•POSTGRE SQL
•SQL SERVER
•ORACLE
* Arquitectura
* Concurrencia
* Locks
* Recuperacion
* Seguridad
* Herramientas
* Versiones
•MySQL
Arquitectura
DBMS
Agenda
•POSTGRE SQL
•SQL SERVER
•ORACLE
* Arquitectura
* Concurrencia
* Locks
* Recuperacion
* Seguridad
* Herramientas
* Versiones
•MySQL
La Concurrencia en Oracle
Oracle utiliza multiversión para permitir el acceso
concurrente a los datos.
Control
de
concurrencia
multiversión
Oracle
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).
DBMS
Agenda
Oracle proporciona consistencia de lectura a dos niveles:
•Nivel de sentencia
•POSTGRE SQL
•SQL SERVER
•ORACLE
* Arquitectura
* Concurrencia
* Locks
* Recuperacion
* Seguridad
* Herramientas
* Versiones
•MySQL
•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.
DBMS
Agenda
•POSTGRE SQL
•SQL SERVER
•ORACLE
* Arquitectura
* Concurrencia
* Locks
* Recuperacion
* Seguridad
* Herramientas
* Versiones
•MySQL
Manejador de Locks
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
DBMS
Agenda
•POSTGRE SQL
•SQL SERVER
•ORACLE
* Arquitectura
* Concurrencia
* Locks
* Recuperacion
* Seguridad
* Herramientas
* Versiones
•MySQL
Manejador de Recuperación
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.
DBMS
Agenda
Seguridad en Oracle
•Autenticación de usuarios:
•POSTGRE SQL
•SQL SERVER
•ORACLE
* Arquitectura
- Mediante contraseña
- Mediante SO.
- Global de usuario
•Administración de privilegios
* Concurrencia
- Privilegios de sistema.
* Locks
- Privilegios de objetos
* Recuperacion
•Administración de contraseñas
* Seguridad
•Registro de transacciones
* Herramientas
•Recovery manager
* Versiones
•Recuperación base de datos
•MySQL
DBMS
Agenda
•POSTGRE SQL
•SQL SERVER
•ORACLE
* Arquitectura
* Concurrencia
* Locks
* Recuperacion
* Seguridad
* Herramientas
* Versiones
•MySQL
Herramienta para la Creación de
Usuarios
Para
crear
un
usuario
se
debe
seleccionar, en primer
lugar,
la
opción
correspondiente en la
aplicación.
DBMS
Agenda
Versiones de Oracle
•Oracle Edición Estándar
•POSTGRE SQL
•Oracle Edición Enterprise
•SQL SERVER
•Personal Oracle
•ORACLE
•Oracle Lite
* Arquitectura
OTROS PRODUCTOS
* Concurrencia
•Oracle 9iAS (Application Server)
* Locks
* Recuperacion
•Oracle 9iAS, que remplaza al Oracle Application
Oracle Forms Developer
* Seguridad
•Oracle Reports Developer
* Herramientas
•Oracle Discoverer
* Versiones
•Oracle 9iAS Portal
•MySQL
DBMS
Agenda
Sitios Web
•POSTGRE SQL
•SQL SERVER
http://www.napolifirewall.com/ORACLE.htm
•ORACLE
http://www.orape.net/subidos/manualbd/arquit
ectura.doc
Sitios Web
•MySQL
http://www.infor.uva.es/~jvegas/cursos/bd/ora
seg/oraseg.html
http://www.infor.uva.es/~jvegas/cursos/bd/ora
seg/oraseg.html
DBMS
Introducción SQL SERVER
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
Que es SQL SERVER ??
SQL Server es un sistema
administrador para Bases de Datos
relacionales basadas en la
arquitectura Cliente / Servidor
(RDMS).
DBMS
Arquitectura de SQL SERVER
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
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
DBMS
Arquitectura de SQL SERVER
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
– Sistema administrador para
Bases de Datos Relacionales
(RDBMS):
– Asegurarse de que la información
es almacenada correctamente .
– Crear una estrategia de copias de
seguridad.
DBMS
Arquitectura de SQL SERVER
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
TRANSACT - SQL:
Transact – SQL es un lenguaje que
utiliza SQL Server
para poder gestionar los datos que
contienen las tablas.
DBMS
Arquitectura de SQL SERVER
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 usa una arquitectura
de comunicación por capas para
aislar aplicaciones internas de
red y protocolos
DBMS
Arquitectura de SQL SERVER
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
– 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 como
Net-Library, debe ser
instalada tanto en el cliente
como en el servidor
DBMS
Arquitectura de SQL SERVER
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
– Tabular Data Stream
Los paquetes TDS son
encapsulados en los
paquetes de red hechos
por la protocol stak usada
por las Net-Libraries.
– Servicio Open Data
Este es un componente de SQL
Server que se encarga de las
conexiones de red
DBMS
Motor de SQL SERVER
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
– Motor relacional
– Motor de
almacenamiento
DBMS
consultas de SQL SERVER
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
Arquitectura de SQL SERVER
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
consulta de SQL SERVER
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
consulta de SQL SERVER
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
Seguridad en SQL SERVER
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
– La autentificación identifica al
usuario que está usando una
cuenta y verifica sólo la
habilidad de conectarse con
SQL Server.
DBMS
Seguridad en SQL SERVER
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
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 SERVER
Cuando se usa, un administrador del
Sistema de SQL Server, define
una cuenta y un password .
Autentificación de Windows NT
Cuando se usa, el usuario no necesita
de una cuenta de SQL Server,
para conectarse.
DBMS
Seguridad en SQL SERVER
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
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
DBMS
–
–
–
–
–
–
–
–
–
INTEFACES DE PROGRAMACIÓN DE
Agenda
APLICACIONES SQL SERVER
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
INTEFACES DE PROGRAMACIÓN DE
APLICACIONES SQL SERVER
– 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
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
DBMS
Herramienta de administración graficas de SQL
SERVER
– 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
Herramienta de administración graficas de SQL
SERVER
– 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
OSQL (Object Structured Query
Language) es una utilidad que
permite el uso de
sentenciasTransact-SQL, así
como de procedimientos del
sistema, y también el manejo de
ficherosscript. 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.
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 del
control 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 de
datos.
MSDTC se encarga del control de transacciones distribuidas.
Microsoft Search se encarga de la administración de índices y catálogos,
para la búsqueda
indexada de texto.
1.3. Arquitectura Cliente-Servidor.
SQL Server se encarga de administrar bases de datos relacionales
basadas en la
arquitectura Cliente / Servidor (RDBMS: Relational Database
Management Sistema).
DBMS
LOS PRO Y CONTRAS
– 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
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 Windows
NT 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
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.
DBMS
Lo mas actual en SQL SERVER
– 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
¾ Microsoft SQL Server 2000
– Microsoft SQL Server 2005
Plataforma
Windows NT
DBMS
Lo mas actual en SQL SERVER
– 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
REFERENCIAS:
es.geocities.com
www.hipertexto.info
DBMS
MySQL
o Definición
o Características
Arquitectura
MySQL
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.
DBMS
MySQL
MySQL
o Definición
o Características
Arquitectura
MySQL 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.
DBMS
MySQL
o Definición
o Características
Arquitectura
MySQL
•
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.
DBMS
MySQL
o Definición
MySQL
•
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.
o Características
Arquitectura
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.
DBMS
MySQL
MySQL
Entre las características disponibles
versiones se puede destacar:
en
las
últimas
o Características
o Amplio subconjunto del lenguaje
extensiones son incluidas igualmente.
Arquitectura
o Disponibilidad en gran cantidad de plataformas y
sistemas.
o Definición
SQL.
Algunas
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.
DBMS
MySQL
o Definición
MySQL
MySQL es un sistema de administración relacional de
bases de datos.
Características implementadas únicamente por MySQL:
o Características
Arquitectura
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.
DBMS
MySQL
Arquitectura
MySQL
DBMS
MySQL
Arquitectura General de los DBMS
MySQL
Arquitectura
o Gral. DBMS
o MySQL
DBMS
MySQL
Capa Logica en Alto Nivel De MySQL
MySQL
Arquitectura
o Gral. DBMS
o MySQL
DBMS
MySQL
Arquitectura de MySQL
MySQL
1.- Capa de Aplicacion
Arquitectura
o Gral. DBMS
o 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.
DBMS
MySQL
Arquitectura de MySQL
MySQL
Arquitectura
o Gral. DBMS
o 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
DBMS
MySQL
Arquitectura de MySQL
MySQL
2.- Capa Lógica
Arquitectura
o Gral. DBMS
o MySQL
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.
DBMS
MySQL
Arquitectura de MySQL
MySQL
Arquitectura
o Gral. DBMS
o 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.
DBMS
MySQL
Arquitectura de MySQL
MySQL
Arquitectura
o Gral. DBMS
o 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
DBMS
MySQL
Arquitectura de MySQL
MySQL
Arquitectura
o Gral. DBMS
o 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
DBMS
MySQL
Arquitectura de MySQL
MySQL
Arquitectura
o Gral. DBMS
o 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.
DBMS
MySQL
Arquitectura de MySQL
MySQL
Arquitectura
o Gral. DBMS
o MySQL
Transaction Management
DBMS
MySQL
Arquitectura de MySQL
MySQL
Arquitectura
o Gral. DBMS
o 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
DBMS
MySQL
Arquitectura de MySQL
MySQL
Arquitectura
o Gral. DBMS
o MySQL
Recovery Management
DBMS
MySQL
Arquitectura de MySQL
MySQL
Arquitectura
o Gral. DBMS
o MySQL
olog 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.
oRecovery Manager
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.
DBMS
MySQL
Arquitectura de MySQL
MySQL
Arquitectura
o Gral. DBMS
o 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.
DBMS
MySQL
Arquitectura de MySQL
MySQL
Arquitectura
o Gral. DBMS
o 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.
DBMS
MySQL
Arquitectura
o Gral. DBMS
o MySQL
MySQL
AGENDA
Brev. Historia
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
AGENDA
Brev. Historia
Andrew Yu y Jolly Chen, decidieron reescribir gran
parte del código de Postgres y sustituir POSTQUEL
por 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
AGENDA
Brev. Historia
Arquitectura General
Arquitectura General (Highest level - Client/Server)
AGENDA
Brev. Historia
Arquitectura General
Highest level Client/Server
Cliente:
AGENDA
Brev. Historia
Arquitectura General
Highest level Client/Server
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
Servidor:
AGENDA
Brev. Historia
Arquitectura General
Highest level Client/Server
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
AGENDA
El Store Manager
Brev. Historia
Arquitectura General
Highest level Client/Server
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
Procesamiento de una Consulta
AGENDA
Brev. Historia
Arquitectura General
Highest level Client/Server
Procesamiento de
consulta
El Parser:
AGENDA
Brev. Historia
Arquitectura General
Highest level Client/Server
Procesamiento de
consulta
Etapas
• 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
El Planner:
AGENDA
Brev. Historia
Arquitectura General
Highest level Client/Server
Procesamiento de
consulta
Etapas
• La Tarea de la etapa de optimización es
crear un plan de ejecución óptimo, el query
plan.
• 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.
Procesos en el Ejecutor
AGENDA
Brev. Historia
Arquitectura General
Highest level Client/Server
Procesamiento de
consulta
Etapas
AGENDA
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
El Buffer Management:
AGENDA
Brev. Historia
Arquitectura General
Highest level Client/Server
Procesamiento de
consulta
Etapas
• 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.
El Transaction Management:
Brev. Historia
• se asegura de que las transacciones soliciten y
lancen las cerraduras según un protocolo de
fijación conveniente
Arquitectura General
• programar la ejecución de transacciones
AGENDA
Highest level Client/Server
Procesamiento de
consulta
Etapas
El Lock Management:
subsistema, junto con Transaction
Management , proporciona control de
concurrencia, la restauración no actualizada, y
la recuperación de la falla
• Este
• 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
AGENDA
Brev. Historia
Arquitectura General
Highest level Client/Server
Procesamiento de
consulta
Etapas
Control de
Concurrencia
MVCC, o Control de Concurrencia Multi-Versión (MultiVersion 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