Noviembre 2005
Luis Luna
Junior Aguayo
Arturo Rossodivita
Noviembre 2005
Introduccion
El propósito de esta exposición es comparar la arquitectura general de los DBMS con las arquitecturas de unos tres de los DBMS mas conocidos en el ámbito como son Postgres, Oracle y Mysql.
Un DBMS es el sistema manejador de las bases de datos, el cual se encarga de administrar los accesos, consultas, modificaciones, etc. Realizados en una base de datos.
AGENDA
1. Introducción
2.Arquitectura General
3. Arquitectura Postgres
4. Arquitectura Oracle
5. Arquitectura Mysql
6. Conclusión
Por el momento no dispone de programas compilados Por el momento no dispone de programas compilados Por el momento no dispone de programas compilados Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro
Noviembre 2005
Arquitectura General
En todos los sistemas de bases de datos, en el nivel mas alto de abstracción tiene tres componentes principales:
AGENDA
1. Introducción
2. Arquitectura General- Capa de Aplicación- Capa Lógica- Capa Física
3. Arquitectura Postgres
4. Arquitectura Oracle
5. Arquitectura Mysql
6. Conclusión
Por el momento no dispone de programas compilados Por el momento no dispone de programas compilados Por el momento no dispone de programas compilados Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro
Noviembre 2005
Capa de Aplicación
La capa de aplicación representa la interfaz para todos los usuarios del sistema; esencialmente proporciona los medios por los cuales el mundo exterior puede trabajar con el servidor de la base de datos.
Tipos de Usuarios:- Sofisticados- Especializados- Sencillos- Administradores
AGENDA
1. Introducción
2. Arquitectura General- Capa de Aplicación- Capa Lógica- Capa Física
3. Arquitectura Postgres
4. Arquitectura Oracle
5. Arquitectura Mysql
6. Conclusión
Por el momento no dispone de programas compilados Por el momento no dispone de programas compilados Por el momento no dispone de programas compilados Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro
Noviembre 2005
Capa Lógica
La funcionalidad de los DBMS se representa en la arquitectura de la capa lógica, es en esta porción del sistema en que hay una variedad de puestas en practicas especificas de cada vendedor.
Sin embargo en general existe en muy alto nivel esta compuesto por:
- Un procesador de Query- Un Manejador de Transacciones- Un Manejador de Recuperación- Un manejador de Almacenamiento
AGENDA
1. Introducción
2. Arquitectura General- Capa de Aplicación- Capa Lógica- Capa Física
3. Arquitectura Postgres
4. Arquitectura Oracle
5. Arquitectura Mysql
6. Conclusión
Por el momento no dispone de programas compilados Por el momento no dispone de programas compilados Por el momento no dispone de programas compilados Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro
Noviembre 2005
Capa Física
El DBMS es responsable del almacenamiento de una variedad de información, que se mantiene el almacenamiento secundario y está se alcanza con el encargado del almacenamiento.
AGENDA
1. Introducción
2.Arquitectura General- Capa de Aplicación- Capa Lógica- Capa Física
2. Arquitectura Postgres
3.Arquitectura Oracle
4.Arquitectura Mysql
5.Conclusión
Por el momento no dispone de programas compilados Por el momento no dispone de programas compilados Por el momento no dispone de programas compilados Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro
Noviembre 2005
AGENDA
1. Introducción
2.Arquitectura General3.PostgreSQL
- Historia- Arquitectura- Ventajas y Mejoras- Soporte Tecnico
2.Arquitectura Oracle
3.Arquitectura Mysql
4.Conclusión
Noviembre 2005
Resumen Historico
PostgreSQL es un servidor de base de datos relacional libre, liberado bajo la licencia BSD. Es una alternativa a otros sistemas de bases de datos de código abierto (como MySQL, Firebird y MaxDB), así como sistemaspropietarios como Oracle o DB2.
PostgreSQL es el último resultado de una larga evolución comenzada con el proyecto Ingres en la Universidad de Berkeley. El líder del proyecto, Michael Stonebraker abandonó Berkeley para comercializar Ingres en 1982,
El proyecto resultante, llamado Postgres, era orientado a introducir la menor cantidad posible de funcionalidades para completar el soporte de tipos.
A pesar de que el proyecto Postgres hubiese finalizado oficialmente, la licencia BSD bajo la cual Postgres había sido liberado permitió a desarrolladores de código abierto el obtener una copia del código paracontinuar su desarrollo.
La empresa Pervasive que comercializa su motor propietarioPervasiveSQL, actualmente también distribuye una versión libre basada en PostgreSQL.
AGENDA
1. Introducción
2.Arquitectura General3.PostgreSQL
- Historia- Arquitectura- Ventajas y Mejoras- Soporte Tecnico
2.Arquitectura Oracle
3.Arquitectura Mysql
4.Conclusión
Noviembre 2005
Arquitectura Total del PostgreSQLAGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL- Historia- Arquitectura
- Arquitectura Total- Ventajas y Mejoras- Soporte Técnico
2.Arquitectura Oracle
3.Arquitectura Mysql
4.Conclusión
Noviembre 2005
Arquitectura Total
1) Libpq son responsables de manejar la comunicación con los procesos del cliente: • establecer la conexión al postmaster. • obtención del hilo de rosca del servidor del postgre para la sesión operacional.
2) El Servidor se compone de dos subsistemas: el postmaster y el servidor del postgre.
El Postmaster es responsable de aceptar la petición de conexión entrante del cliente, de realizar control de la autentificación y de acceso en la petición del cliente, y de establecer a cliente a la comunicación del servidor del postgre.
El servidor del Postgre maneja todos los querys y comandos del cliente.
3) El Store Manager es responsable de la gestión de la memoria externa general y control de recurso en el back-end, incluyendo la gerencia de almacenador intermediario compartida, de la gerencia de archivo, del control de la consistencia y del encargado de la cerradura.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL- Historia- Arquitectura
- Arquitectura Total- Ventajas y Mejoras- Soporte Técnico
2.Arquitectura Oracle
3.Arquitectura Mysql
4.Conclusión
Noviembre 2005
Control de Concurrencia
Los hilos de rosca múltiples del PostgreSQL se pueden ejecutar concurrentemente teniendo acceso a un almacenaje de datos compartido.
En PostgreSQL, los lectores no bloquean a escritores y los escritores no bloquean a lectores. Un escritor bloquea solamente a escritor si están escribiendo a la misma entrada de datos.
En el caso antedicho, PostgreSQL proporciona dos soluciones (basadas en estándar de la ISO SQL): leído confiado y serializable. • En el caso de leído confiado, el escritor leerá los nuevos valores antes de realizar su escribe la operación. • En el caso de serializable, el escritor abortará si se ha modificado el valor de los datos desde que comenzó su transacción.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL- Historia- Arquitectura
- Arquitectura Total- Control de Concurrencia
- Ventajas y Mejoras- Soporte Técnico
2.Arquitectura Oracle
3.Arquitectura Mysql
4.Conclusión
Noviembre 2005
Subsistemas del servidor
El Host del servidor de PostgreSQL consisten en gran parte dos porciones: Postmaster y Postgres.
Cuando un cliente (front-end) envía una petición para tener acceso a la base de datos en el servidor, el postmasterdel servidor crea un nuevo proceso del servidor, llamado los postgres, que se comunica directamente con el cliente.
Por lo tanto, el postmaster esta siempre en funcionamiento, esperando peticiones de un cliente, mientras que los postgres, que son procesos, comienzan y paran por el requerimiento de clientes.
Después de que se establezca una conexión, el proceso del cliente puede enviar una pregunta en forma llana del texto al back-end.
No hay análisis hecho en el front-end. El servidor después analiza la pregunta, crea un plan de la ejecución, ejecuta el plan, y transmite los tuples recuperados al excedente del cliente la conexión establecida.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL- Historia- Arquitectura
- Arquitectura Total- Subsistemas del Servidor
- Ventajas y Mejoras- Soporte Técnico
2.Arquitectura Oracle
3.Arquitectura Mysql
4.Conclusión
Noviembre 2005
Arquitectura del procesador de Query/CommandAGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL- Historia- Arquitectura
- Arquitectura Total- Subsistemas del Servidor
- Ventajas y Mejoras- Soporte Técnico
2.Arquitectura Oracle
3.Arquitectura Mysql
4.Conclusión
Noviembre 2005
Arquitectura Conceptual del servidor de PostgreSQL
1) El Parser chequea primero el query transmitido por el programa de uso para el sintaxis válido. Si la sintaxis está correcta, un árbol del análisis se acumula y se devuelve; si no, se vuelve un error. Entonces, el árbol del análisis se transforma en la fórmula interna usada por la base de datos back-end.
2) El Trafic cop identifica el query como una pregunta para uso general o pregunta más compleja. Estas preguntas se envían a la etapa siguiente (es decir Rewriter.) Las preguntas para uso general se envían a los comandos para uso general.
3) El Utility Commands manejan los querys que no requieren la dirección compleja. El vacío, copia, altera, crea la tabla, crea el tipo, y muchos otros son dirigidos por los comandos para uso general.
4) El Query Rewriter es un subsistema entre el Parser y el Planer. Procesa el árbol del análisis pasado por el Trafic Cop y, aplicando cualquier regla aplicable en presente, reescribe el árbol a una forma alternativa.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL- Historia- Arquitectura
- Arquitectura Total- Subsistemas del Servidor
- Arquitectura del Servidor
- Ventajas y Mejoras- Soporte Técnico
2.Arquitectura Oracle
3.Arquitectura Mysql
4.Conclusión
Noviembre 2005
Arquitectura Conceptual del servidor de PostgreSQL
5) El Planer proporciona un plan óptimo de la ejecución para una pregunta dada. La idea básica del planificador es selección coste-estimar-basada del mejor plan para un query. • Primero combina todas las maneras posibles de la exploración y de ensamblar las relaciones que aparecen en una pregunta. • Todas las trayectorias creadas conducen al mismo resultado y el planificador estima el coste de ejecutar cada trayectoria. • Después de todo, elige la trayectoria más barata de todos y pasa al ejecutor.
6) El Ejecutor toma el plan pasado detrás por el planificador y comienza a procesar el nodo superior.
Ejecuta un árbol del plan, que es una red canalizada del demand-pullde nodos de proceso.
Cada nodo produce el tuple siguiente en su secuencia de la salida cada vez que se llama.
En contraste, los nodos del Upper-level son exploraciones de tablas físicas, las exploraciones secuenciales o las exploraciones del índice.
El ejecutor hace uso el sistema del almacenaje mientras que explora relaciones, realiza clases y ensambla, evalúa calificaciones y finalmente da detrás los tuples derivados.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL- Historia- Arquitectura
- Arquitectura Total- Subsistemas del Servidor
- Arquitectura del Servidor
- Ventajas y Mejoras- Soporte Técnico
2.Arquitectura Oracle
3.Arquitectura Mysql
4.Conclusión
Noviembre 2005
Arquitectura de la Utilidad de Query/Command
1) Catálogo: proporciona la manipulación del catálogo del sistema, y contiene las rutinas de la creación y de la manipulación para todos los aspectos del sistema de catálogo, tales como tabla, índice, procedimiento, operador, tipo, agregado, etc. El módulo del catálogo es utilizado por todos los subsistemas del back-end.
2) Acceso: define el acceso de los datos para el montón, los índices y las transacciones. Su función es tres dobleces:
proporciona los datos comunes que tienen acceso a rutinas proporciona los datos que tiene acceso a la estructura en la
forma de hash, heap, índice, btree, etc.; actua como encargado de la fase durante transacciones. El
módulo del acceso es utilizado por todos los subsistemas del back-end.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL- Historia- Arquitectura
- Arquitectura Total- Subsistemas del Servidor
- Arquitectura del Servidor- Arquitectura del Query/comamand
- Ventajas y Mejoras- Soporte Técnico
2.Arquitectura Oracle
3.Arquitectura Mysql
4.Conclusión
Noviembre 2005
Arquitectura De la Utilidad De Query/Command
3) Nodos: el módulo de nodes/lists define la creación y la manipulación de los nodos y de las listas, que son envases de petición y de datos durante el proceso de la pregunta. El submódulo de nodes/lists es utilizado por todos los subsistemas del back-end excepto poli del tráfico.
4) Utils: los utils proporcionan varias utilidades al back-end, tal como inicialización, rutinas de la clase, registro de errores, rutinas del hash, etc. Es alcanzado extensamente por todos los subsistemas del back-end.
5) Bootstraps: se utiliza el módulo del Bootstraps cuando PostgreSQL está funcionando por primera vez en un sistema. Se requiere este módulo porque el postgreSQL ordena comúnmente la tabla de los datos del acceso. Tales tablas de los datos no existen cuando Postgre se funciona para la primera vez.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL- Historia- Arquitectura
- Arquitectura Total- Subsistemas del Servidor
- Arquitectura del Servidor- Arquitectura del Query/comamand
- Ventajas y Mejoras- Soporte Técnico
2.Arquitectura Oracle
3.Arquitectura Mysql
4.Conclusión
Noviembre 2005
Sistema de Catalogo
PostgreSQL utiliza catálogos a un grado y a un contexto mucho mayores que el otro DBMSes.
PostgreSQL utiliza no solamente catálogos para definir las tablas, pero también aplicaciones él de describir datatypes, funciones, operadores, el etc.
Esta característica proporciona extensibilidad y control mucho mayores del usuario. Los datatypes definidos usuario se utilizan para asociar los nuevos artículos de datos particulares a las bases de datos especializadas;
Las funciones definidas usuario pueden ser funciones estándares o funciones agregadas; Los operadores definidos usuario pueden ser utilizados en expresiones como expresión estándar. Todos los artículos del catálogo se mantienen y están alcanzados vía el subsistema del catálogo, proporcionando una organización uniforme.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL- Historia- Arquitectura
- Arquitectura Total- Subsistemas del Servidor
- Arquitectura del Servidor- Arquitectura Query/comamand
- Sistema de Catalogo
- Ventajas y Mejoras- Soporte Técnico
2.Arquitectura Oracle
3.Arquitectura Mysql
4.Conclusión
Noviembre 2005
Arquitectura Del Encargado Del Almacenaje
Proporciona el acceso uniforme del almacenaje de datos para el back-end. Solamente un módulo del almacenaje es activo en un servidor de PostgreSQL.
La funcionalidad del módulo del almacenaje incluye: • Proporcione el almacenador intermediario compartido de la memoria y del disco, • Media el acceso al encargado del archivo del núcleo• Proporcione los semáforos y archive las cerraduras.
El módulo del almacenaje es utilizado por reescritura y el módulo de la generación de la trayectoria y el módulo de comando.
PostgreSQL utiliza no-sobreescribir a la gestión de la memoria externa,
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL- Historia- Arquitectura
- Arquitetura Total- Subsistemas del Servidor- Almacenamiento
- Ventajas y Mejoras- Soporte Técnico
2.Arquitectura Oracle
3.Arquitectura Mysql
4.Conclusión
Noviembre 2005
Arquitectura del Manejador de AlmacenamientoAGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL- Historia- Arquitectura
- Arquitectura Total- Subsistemas del Servidor- Almacenamiento
- Ventajas y Mejoras- Soporte Técnico
2.Arquitectura Oracle
3.Arquitectura Mysql
4.Conclusión
Noviembre 2005
Arquitectura del Manejador de Almacenamiento
•File Manager: proporciona la gerencia de archivos generales y de archivos protegidos grandes.
•Buffer Manager: proporciona la gerencia de almacenadores intermediarios compartidos.
•Page Manager: algoritmo DE LRU de las aplicaciones para manejar las páginas.
•Lock Manager: proporciona cerradurasde tipo ”lectura” y ”escritura” para alcanzar consistencia.
• IPC: realiza la sincronización del escondrijo. •Disk Manager: proporciona el interfaz para
storage/disk físico.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL- Historia- Arquitectura
- Arquitectura Total- Subsistemas del Servidor- Almacenamiento
- Ventajas y Mejoras- Soporte Técnico
2.Arquitectura Oracle
3.Arquitectura Mysql
4.Conclusión
Noviembre 2005
Flujo de Trabajo del QueryAGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL- Historia- Arquitectura
- Arquitectura Total- Subsistemas del Servidor- Almacenamiento- Flujos de los Query
- Ventajas y Mejoras- Soporte Técnico
2.Arquitectura Oracle
3.Arquitectura Mysql
4.Conclusión
Noviembre 2005
Flujo de Trabajo de los Querys
1) la secuencia de la Query del SQL se convierte en un árbol del Query .
2) El árbol del Query es modificado por el rewriterde la manera siguiente: el rewriter mira para arriba palabras claves en el árbol del Query y las amplía con la definición proporcionada. (El cuadro 5 flujo del trabajo de la Query )
3) Las tomas del Planer en modificado analiza el árbol, genera todas las trayectorias posibles de la Query . El Planer después evalúa las trayectorias para determinar la trayectoria óptima y establece un plan del Query para esta trayectoria.
4) El plan del Query se transforma en una serie de Query ejecutables del SQL y se procesa para obtener resultados.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL- Historia- Arquitectura
- Arquitectura Total- Subsistemas del Servidor- Almacenamiento- Flujos de los Query
- Ventajas y Mejoras- Soporte Técnico
2.Arquitectura Oracle
3.Arquitectura Mysql
4.Conclusión
Noviembre 2005
ARQUITECTURA
PostgreSQL
AGENDA
1. Introducción
2.Arquitectura General
2.PostgreSQL- Historia- Arquitectura- Ventajas y Mejoras- Soporte Técnico
2.Arquitectura Oracle
3.Arquitectura Mysql
4.Conclusión
Noviembre 2005
Ventajas y Mejoras del PostgreSQL
• Una ayuda mejor que los vendedores propietarios • Ahorro significativo en proveer de personal costes• Extensible• Plataforma cruzada• Diseñado para los ambientes del alto volumen
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL- Historia- Arquitectura- Ventajas y Mejoras- Soporte Técnico
2.Arquitectura Oracle
3.Arquitectura Mysql
4.Conclusión
Noviembre 2005
Características Técnicas
Compilador ACID CompletoCompilador ANSI SQLRéplica (soluciones no comerciales y comerciales) que
permite la duplicación de la base de datos principal a las máquinas auxiliares múltiples.
Interfaces naturales para ODBC, JDBC, C, C++, PHP, Perl, TCL, ECPG, Python, and Ruby
Soporte natural para SSLLenguaje ProcedimentalHot Stand-by (soluciones comerciales)Índices funcionales y parciales.Autentificación natural para KerberosSoporte para consultas UNION, UNION ALL y EXCEPTSoporte para cargar Extenciones de tipo SHA1, MD5, XML y
otras funcionalidades
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL- Historia- Arquitectura- Ventajas y Mejoras- Caracteristicas Tecnicas- Soporte Técnico
2.Arquitectura Oracle
3.Arquitectura Mysql
4.Conclusión
Noviembre 2005
Soporte Tecnico
Pervasive proporciona una empresa para el soporte tecnico de los consumidores, proveiendo de usuarios y los reveladores un recurso profesional para proporcionar la localización de averías, dirección del revelador, y mitigación del riesgo. Deje que el Premiado equipo de soporte de Pervasive lo ayude a alcanzar el éxito con su Pervasive PostgreSQL.
La ayuda es vendida por la suscripción anual. Las suscripciones de la ayuda se ofrecen en varios
niveles dependiendo de la necesidad de usted, el cliente
AGENDA
1. Introducción
2.Arquitectura General
2.PostgreSQL- Historia- Arquitectura- Ventajas y Mejoras- Caracteristicas Tecnicas- Soporte Técnico
2.Arquitectura Oracle
3.Arquitectura Mysql
4.Conclusión
Noviembre 2005
Soporte TecnicoPostgres Silver SupportEl Soporte de Nivel Silver ayuda a los clientes a resolver problemas con su
Servidor de Base de Datos Pervasive Postgres. El Nivel Silver se apunta en los clientes que utilizan la base de datos en
ambientes no-críticosDisponible durante las horas de oficina estándares
Our Price: $1,999.00
Postgres Gold SupportEl Soporte de Nivel Gold se apunta en los clientes que utilizan la base de
datos en ambientes críticosDisponible durante las horas de oficina estándares
Our Price: $2,999.00
Postgres Platinum SupportAsi como el soporte Silver y Gold, el soporte Platino ayuda a un cliente a
resolver cualquier problema con su servidor Perasive Postgres. Además de las características del soporte Silver y Gold, el soporte Platino agrega la cobertura 24x7 para las ediciones críticas, proveiendo de clientes la confianza para desplegar Perasive Postgres en sus ambientes críticos de la misión.
Our Price: $4,999.00
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL- Historia- Arquitectura- Ventajas y Mejoras- Caracteristicas Tecnicas- Soporte Tecnico
2.Arquitectura Oracle
3.Arquitectura Mysql
4.Conclusión
Noviembre 2005
Soporte TecnicoAGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL- Historia- Arquitectura- Ventajas y Mejoras- Caracteristicas Tecnicas- Soporte Tecnico
2.Arquitectura Oracle
3.Arquitectura Mysql
4.Conclusión•Contrato de Soporte Tecnico por 12-meses•10 Contactos Certificados •Acceso Directo al Backline •soporte 24/7 para las ediciones críticas sin un solo punto de la falta con 24/7 servicio que envía (6 niveles de escalada durante no horas de oficina) •Tiempos de reacción máximos sobre horas de oficina: 1 (crítico) y 6 (no crítico)
Platinum
•Contrato de Soporte Tecnico por 12-meses •5 Contactos Certificados •Tiempos de reacción máximos sobre horas de oficina: 2 (crítico) y 12 (no crítico)
Gold
•Contrato de Soporte Tecnico por 12-meses •Dos contactos nombrados (es decir su organización puede nombrar a 2 empleados en su sitio de la compañía que se autoricen a entrar en contacto con Peracive para la ayuda. •Tiempos de reacción máximos sobre horas de oficina: 6 (crítico) y 24 (no crítico)
Silver
Soporte para Usuarios TerminalesNiveles
Noviembre 2005
INTRODUCCIONTodo el mundo puede conducir un automóvil, sin
necesidad de conocer cómo funciona un motor de combustión interna y todos los subsistemas asociados a él. Pero hay ciertos conceptos como aprovechamiento de la potencia, compresión, endurecimiento de la suspensión, motricidad, etc., le serán ajenos y nunca podrá sacar lo mejor del automóvil. Y si tiene algún problema se quedará tirado en la carretera.
A continuación se abordara la arquitectura del SGBD Oracle y da una visión lo suficientemente profunda del mismo como para que podamos entender cómo funciona.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL
4.Arquitectura Oracle
5.Arquitectura Mysql
6.Conclusión
Noviembre 2005
HistoriaOracle surge a finales de los 70 bajo el nombre de
Relational Software a partir de un estudio sobre SGBDde George Koch.
Computer World definió este estudio como uno de los más completos jamás escritos sobre bases de datos. Este artículo incluía una comparativa de productos queelegía a Relational Software como el más completodesde el punto de vista técnico.
Esto se debía a que usaba la filosofía de las bases de datos relacionales, algo que por aquella época era todavía desconocido.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL
4.Arquitectura Oracle- Historia- Oracle- Arquitectura- Bases de Datos Oracle- Estructura de la BD- Arquitectura- Requerimientos- Licencia- En el Mundo
5.Arquitectura Mysql
6.Conclusión
Noviembre 2005
ORACLE
Oracle es un sistema de administración de base de datos(o RDBMS), fabricado por Oracle Corporation.
Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su:
Soporte de transacciones. Estabilidad. Escalabilidad. Es multiplataforma.
Su mayor defecto es su enorme precio, que es de variosmiles de euros (según versiones y licencias). Otro aspecto queha sido criticado por algunos especialistas es la seguridad de la plataforma, y las políticas de suministro de parches de seguridad
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL
4.Arquitectura Oracle- Historia- Oracle- Arquitectura Oracle- Bases de Datos Oracle- Estructura de la BD- Arquitectura- Requerimientos- Licencia- En el Mundo
5.Arquitectura Mysql
6.Conclusión
Noviembre 2005
ARQUITECTURA ORACLE
Cada servidor de Oracle está constituido por una BD y una instancia.
Estructura lógica: compuesta por tablespaces y un conjunto de objetos (tablas,vistas,índices...).
Estructura física: tres tipos de ficheros:ficheros de datos,ficheros de rehacer ficheros de control.
Una instancia es el conjunto de estructuras de memoria (SGA) y procesos:
Procesos de usuario: Ejecutan el código de una aplicación.
Procesos de Oracle: Atienden a los procesos de usuario y realizan el mantenimiento de la BD.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL
4.Arquitectura Oracle- Historia- Oracle- Arquitectura Oracle- Bases de datos Oracle- Estructura de la BD- Arquitectura- Requerimientos- Licencia- En el Mundo
5.Arquitectura Mysql
6.Conclusión
Noviembre 2005
BASES DE DATOS
Una Base de Datos Oracle está almacenada físicamente en ficheros, y la correspondencia entre los ficheros y las tablas es posible gracias a las estructuras internas de la BD, que permiten diferentestipos de datos estén almacenados, pero físicamente separados.
Está división lógica se hace gracias a los espacios de tablas, tablespaces.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL
4.Arquitectura Oracle- Historia- Oracle- Arquitectura Oracle- Bases de datos Oracle- Estructura de la BD- Arquitectura- Requerimientos- Licencia- En el Mundo
5.Arquitectura Mysql
6.Conclusión
Noviembre 2005
ESPACIOS DE TABLAS
Cada BD tiene al menos uno (SYSTEM) Los espacios de tablas se utilizan para mantener
juntos los datos de usuarios o de aplicaciones para facilitar su mantenimiento o mejorar las prestaciones del sistema.
De esta manera, cuando se crea una tabla se debeindicar el espacio de tablas al que se destina.
Este espacio de tablas es el que contiene el diccionario de datos, por lo que conviene reservarlo para el uso del servidor, y asignar las tablas de usuario a otro.
Lo razonable y aconsejable es que cada aplicación tenga su propio espacio de tablas.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL
4.Arquitectura Oracle- Historia- Oracle- Arquitectura Oracle- Bases de datos Oracle- Estructura de la BD- Arquitectura- Requerimientos- Licencia- En el Mundo
5.Arquitectura Mysql
6.Conclusión
Noviembre 2005
Hay varias razones que justifican que este modo de organización de las tablas esten en espacios de tablas:
Un espacio de tablas puede quedarse offline debido a un fallo de disco, permitiendo que el SGBD continúe funcionando con el resto.
Permiten distribuir a nivel lógico/físico los distintos objetos de las aplicaciones.
Son una unidad lógica de almacenamiento, pueden usarse para aislar completamente los datos de diferentes aplicaciones.
Oracle permite realizar operaciones de backup/recovery a nivel de espacio de tabla mientras la BD sigue funcionando.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL
4.Arquitectura Oracle- Historia- Oracle- Arquitectura Oracle- Bases de datos Oracle- Estructura de la BD- Arquitectura- Requerimientos- Licencia- En el Mundo
5.Arquitectura Mysql
6.Conclusión
Noviembre 2005
Si este espació de tabla inicial se ha quedado pequeño Oracle puede gestionar el crecimiento dinámico de los ficheros sobre los que se asientan los espacios de tablas.
Los parámetros de crecimiento del tamaño de los espacios de tablas se especifican en la creación de los mismos.
Dentro de cada espacio de tabla se pueden almacenar objetos de distinta naturaleza: tablas, índices, etc. Pero no se pueden mezclar así no más.
Un segmento está constituido por un conjunto de extensiones, que no son más que grupos de bloques de disco ORACLE contiguos. Cuando se borra un segmento, el espacio es devuelto al espacio de tabla.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL
4.Arquitectura Oracle- Historia- Oracle- Arquitectura Oracle- Bases de datos Oracle- Estructura de la BD- Arquitectura- Requerimientos- Licencia- En el Mundo
5.Arquitectura Mysql
6.Conclusión
Noviembre 2005
Todos los datos de la BD están almacenados en segmentos. Y existen 5 tipos de segmentos:
de datosde índices: permiten un acceso rápido a los datos
dependiendo de la cantidad de los mismos de rollback: son objetos internos de la BD que
permiten efectuar la restauración de las transacciones no validadas asegurando la consistencia de la BD.
temporalesde bootstrap: Se crea en SYSTEM y contiene
definiciones del diccionario para sus tablas, que se cargan al abrir la BD. No requiere ninguna acción por parte del DBA (Administrador de la BD)
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL
4.Arquitectura Oracle- Historia- Oracle- Arquitectura Oracle- Bases de datos Oracle- Estructura de la BD- Arquitectura- Requerimientos- Licencia- En el Mundo
5.Arquitectura Mysql
6.Conclusión
Noviembre 2005
FICHEROSCada espacio de tablas se compone de uno o más
ficheros en disco. Un fichero puede pertenecer sólo a un espacio de tablas.
INSTANCIASUna instancia de BD es el conjunto de estructuras
de memoria y de procesos que acceden a los ficheros de datos.
Los parámetros que determinan el tamaño y composición de una instancia están almacenados en un fichero llamado init.ora. Este fichero es leido durante el arranque de la BD y puede ser modificado por el DBA.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL
4.Arquitectura Oracle- Historia- Oracle- Arquitectura Oracle- Bases de datos Oracle- Estructura de la BD- Arquitectura- Requerimientos- Licencia- En el Mundo
5.Arquitectura Mysql
6.Conclusión
Noviembre 2005
La Arquitectura de la BD Oracle pueden ser divididas en tres clases:
Aquellas que son internas a la BD
Aquellas que son internas a las áreas de memoria (incluidas la memoria compartida y procesos)
Aquellas que son externas a la BD.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL
4.Arquitectura Oracle- Historia- Oracle- Arquitectura Oracle- Bases de datos Oracle- Estructura de la BD- Arquitectura - Requerimientos- Licencia - En el Mundo
5.Arquitectura Mysql
6.Conclusión
Noviembre 2005
Estructuras Internas de la BD Tablas, Columnas y FilasLos datos son almacenados en la BD utilizando
tablas. Registros y Atributos Las tablas propiedad del usuario SYS son llamadas
tablas del diccionario de datos. Proveen el catálogodel sistema que permite que la BD se gestione a sí misma.
Restricciones de Tablas-Clave primaria (PRIMARY KEY)-Valor nulo no admitido (NOT NULL)-Valor por omisión (DEFAULT).-Clave ajena (FOREIGN KEY).
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL
4.Arquitectura Oracle- Historia- Oracle- Arquitectura Oracle- Bases de datos Oracle- Estructura de la BD-Arquitectura
- Estructuras Internas
5.Arquitectura Mysql
6.Conclusión
Noviembre 2005
UsuariosUna cuenta de usuario no es una estructura física de la
BD, pero está relacionada con los objetos de la BD: los usuarios poseen los objetos de la BD. Existen dos usuarios especiales: SYS y SYSTEM.
ÍndicesUn índice es una estructura de la BD utilizada para
agilizar el acceso a una fila de una tabla. Los índices se crean automáticamente cuando se define una restricción UNIQUE o PRIMARY KEY.
Vistas-Se define como una consulta y es tratada como una tabla.-Una vista no almacena datos, sólo se almacena la
consulta que la define.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL
4.Arquitectura Oracle- Historia- Oracle- Arquitectura Oracle- Bases de datos Oracle- Estructura de la BD-Arquitectura
- Estructuras Internas
5.Arquitectura Mysql
6.Conclusión
Noviembre 2005
Procedimientos y FuncionesUn procedimiento es un bloque de código PL/SQL,
que se almacena en el diccionario de datos y que es llamado por las aplicaciones. Se pueden utilizar para implementar seguridad, no dando acceso directamente a determinadas tablas.
PaquetesSe utilizan para agrupar procedimientos y
funciones. Los elementos dentro de los paquetes pueden ser públicos o privados.
DisparadoresSe pueden utilizar para mejorar y reforzar la
integridad y la seguridad de la BD.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL
4.Arquitectura Oracle- Historia- Oracle- Arquitectura Oracle- Bases de datos Oracle- Estructura de la BD-Arquitectura
- Estructuras Internas
5.Arquitectura Mysql
6.Conclusión
Noviembre 2005
Privilegios y RolesEjemplos de privilegios son INSERT, SELECT,
UPDATE, EXECUTE, etc. Los privilegios se pueden otorgar a un rol, y los roles pueden ser otorgados a múltiples usuarios.
Segmentos, Extensiones y BloquesLos segmentos son los equivalentes físicos de los
objetos que almacenan datos. Un segmento está constituido por secciones llamadas extensiones, que son conjuntos contiguos de bloques Oracle
Segmento de RollbackOracle debe tener un mecanismo para reconstruir la
imágen previa a una transacción incompleta.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL
4.Arquitectura Oracle- Historia- Oracle- Arquitectura Oracle- Bases de datos Oracle- Estructura de la BD-Arquitectura
- Estructuras Internas
5.Arquitectura Mysql
6.Conclusión
Noviembre 2005
Estructuras de Memoria Internas Oracle mantiene dos estructuras principales de
memoria: el Área Global de Programa (ProgramGlobal Area), PGA; y el Área Global del Sistema, (System Global Area) SGA.
El PGA es la zona de memoria de cada proceso Oracle. No está compartida y contiene datos e información de control de un único proceso.
El SGA es la zona de memoria en la que la BD Oracle guarda información sobre su estado. Esta estructura de memoria está disponible para todos los procesos, por eso se dice que está compartida.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL
4.Arquitectura Oracle- Historia- Oracle- Arquitectura Oracle- Bases de datos Oracle- Estructura de la BD-Arquitectura
- Estructuras Internas- Estructuras de memoria
Internas5.Arquitectura Mysql
6.Conclusión
Noviembre 2005
Área Global del Sistema, SGA
Buffers de BD, Database Buffer CacheEs el caché que almacena los bloques de datos
leidos, tales como tablas, índices y clusters. Los bloques modificados se llamas bloques sucios.
Buffer Redo LogLos registros Redo describen los cámbios
realizados en la BD y son escritos en los ficheros redo log para que puedan ser utilizados en las operaciones de recuperación de la BD. Pero antes de ser escritos en los ficheros redo log son escritos en un caché de la SGA llamado redo log buffer.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL
4.Arquitectura Oracle- Historia- Oracle- Arquitectura Oracle- Bases de datos Oracle- Estructura de la BD-Arquitectura
- Estructuras Internas- Estructuras de memoria
Internas5.Arquitectura Mysql
6.Conclusión
Noviembre 2005
Área de SQL Compartido, Shared SQL Pool
En esta zona se encuentran las sentencias SQL que han sido analizadas. El analisis sintáctico (error de escritura en los queries) de las sentencias SQL lleva su tiempo y Oracle mantiene las estructuras asociadas a cada sentencia SQL analizada durante el tiempo que pueda para ver si puede reutilizarlas (que quiere decir esto si ya las tiene en memoria no hace falta buscar dicha sentencia si no reutilizar la que esta en la zona de SQL compartido). Antes de analizar una sentencia SQL, Oracle mira a ver si encuentra otra sentencia exactamente igual en la zona de SQL compartido.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL
4.Arquitectura Oracle- Historia- Oracle- Arquitectura Oracle- Bases de datos Oracle- Estructura de la BD-Arquitectura
- Estructuras Internas- Estructuras de memoria
Internas5.Arquitectura Mysql
6.Conclusión
Noviembre 2005
Área Global de Programa
El Program Global Area es un área de memoria utilizada por un proceso Oracle. Esta zona de memoria no se puede compartir.
Estructuras de Proceso El servidor se vale de una serie de procesos que son
el enlace entre las estructuras físicas y de memoria, continuación se describen cada proceso y el papel que juega en la gestión de la BD.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL
4.Arquitectura Oracle- Historia- Oracle- Arquitectura Oracle- Bases de datos Oracle- Estructura de la BD-Arquitectura
- Estructuras Internas- Estructuras de memoria
Internas- Estructuras de Proc
5.Arquitectura Mysql
6.Conclusión
Noviembre 2005
Los Procesos que gestionan los recursos de la BD :
Escritor de la BD (DBWR). Escritor de registros (LGWR). Punto de control (CKPT). Supervisor del sistema (SMON). Supervisor del proceso (PMON). Archivador (ARCH). Recuperador (RECO). Bloqueo (LCK). Despachador (Dnnn).
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL
4.Arquitectura Oracle- Historia- Oracle- Arquitectura Oracle- Bases de datos Oracle- Estructura de la BD-Arquitectura
- Estructuras Internas- Estructuras de memoria
Internas- Estructuras de Proc
5.Arquitectura Mysql
6.Conclusión
Noviembre 2005
Estructuras Externas Por estructuras externas se entienden los ficheros
que utiliza el servidor de BD. Estos ficheros guardan información tanto de los datos almacenados en la BD como la necesaria para gobernar la propia BD.
Ficheros de la BD En estos ficheros reside la información de la BD
Ficheros redo logEn ellos se graba toda operación que se efectue en
la BD y sirven de salvaguarda de la misma
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL
4.Arquitectura Oracle- Historia- Oracle- Arquitectura Oracle- Bases de datos Oracle- Estructura de la BD-Arquitectura
- Estructuras Internas- Estructuras de memoria
Internas- Estructuras de Proces- Estructuras Externas
Noviembre 2005
Ficheros de control
Mantienen la información física de todos los ficheros que forman la BD, con su camino incluido; así como el estado actual de la BD.
El Fichero INIT.ORA
Oracle provee de un fichero de parámetros de inicialización llamado init.ora. Este fichero contiene los parámetros del sistema Oracle y debe ser utilizado por el DBA para configurar el SGDB y adecuarlo a una determinada explotación.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL
4.Arquitectura Oracle- Historia- Oracle- Arquitectura Oracle- Bases de datos Oracle- Estructura de la BD-Arquitectura
- Estructuras Internas- Estructuras de memoria
Internas- Estructuras de Proces- Estructuras Externas
Noviembre 2005
Noviembre 2005
REQUERIMIENTOS DEL SISTEMA
Estacion de Trabajo:
Procesador Pentium 166 MHz o SuperiorMinimo 128 Mb RAM*, 1 Gb Disco DuroEntre 298 y 587 Mb disponible de espacio en disco, dependiendo de la opcion que escojaSistema Operativo: Windows NT 4.0, Windows 2000, Windows98 or Windows95
Para una cuenta de Servidor:
Minimo 64 Mb RAM, de los cuales 32 Mb estarándisponibles para el System Global Area (SGA) Aproximadamente 140 Mb en el SYSTEM tablespace paralos paquetes del repositorio, procedimeintos y vistasentre 20 y 325 Mb en otras tablespaces, para los datos del repositorio
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL
4.Arquitectura Oracle- Historia- Oracle- Arquitectura Oracle- Bases de datos Oracle- Estructura de la BD-Arquitectura - Requerimientos- Licencia- En el Mundo
5.Arquitectura Mysql
6.Conclusión
Noviembre 2005
LICENCIA ORACLE
Licencia Oracle para estudiantes por 5.000 pesetas
“Por el dinero que un joven se gasta en un fin de semana, alrededor de 5.000 pesetas, ofrecemos a los universitarios españoles la posibilidad de adquirir la licencia de su base de datos y de las herramientas de desarrollo” ésta es la iniciativa de Oracle para los estudiantes que deseen obtener un CD-ROM con la base de datos Personal Oracle7 y las herramientas de desarrollo Oracle Developer/2000.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL
4.Arquitectura Oracle- Historia- Oracle- Arquitectura Oracle- Bases de datos Oracle- Estructura de la BD-Arquitectura - Requerimientos- Licencia- En el Mundo
5.Arquitectura Mysql
6.Conclusión
Noviembre 2005
ORACLE EN EL MUNDO
Esta compañía se ubicó en 1995 en el segundo lugar como compañía más admirada de software y servicios, situándose Microsoft en la primera posición.
A lo largo de los últimos diez años, la compañía ha experimentado un crecimiento sostenido, con una media de crecimiento anual del orden del 20 al 30%.
En lo que respecta a las ganancias, y durante su último año fiscal, Oracle osciló el 50%, posicionándose por encima de Intel, Motorola, Microsoft, HP, Apple, Sun, IBM y Novell.
Una de las especialidades de esta compañía de software, es la creación de los sistemas de facturación para grandes volúmenes de información, tales como los usados por las compañías telefónicas, de gas, de electricidad, etc., para la cobranza de sus servicios. Entre los próximos proyectos de esta compañía, se destaca la reestructuración del Banco de Previsión Social junto con la compañía IBM.
AGENDA
1. Introducción
2.Arquitectura General
3.PostgreSQL
4.Arquitectura Oracle- Historia- Oracle- Arquitectura Oracle- Bases de datos Oracle- Estructura de la BD-Arquitectura - Requerimientos- Licencia- En el Mundo
5.Arquitectura Mysql
6.Conclusión
Noviembre 2005
MySQL
Inicialmente, MySQL carecía de elementos considerados esenciales en las bases de datos, tales como seguridad, integridad, etc. A pesar e ello atajo a los desarrolladores web por su somplicidad.
La licencia GPL de MySQL obliga a distribuir cualquier producto derivado bajo esa misma licencia. Si un desarrollador desea incorporar MySQL en su producto pero no desea distribuirlo bajo licencia GPL, puede adquirir la licencia comercial de MySQL que le permite hacer justamente eso.
AGENDA
1. Introducción
2.Arquitectura General
3. Arquitectura Postgres
4. Arquitectura Oracle
5. Arquitectura MySQL
6. Conclusión
Por el momento no dispone de programas compilados Por el momento no dispone de programas compilados Por el momento no dispone de programas compilados Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro
Noviembre 2005
MySQL
Capa de Aplicación: La capa de aplicacion de MySQL es donde los
clientes y los usuarios obran recíprocamente con el MySQL RDBMS. Hay tres componentes en esta capa como puede ser visto en el diagrama acodado de la arquitectura de MySQL en el cuadro 3. Estos componentes ilustran las diversas clases de usuarios que puedan obrar recíprocamente con el MySQL RDBMS, que son los administradores, los clientes y los usuarios de la pregunta. Los administradores utilizan el interfaz y las utilidades administrativos
AGENDA
1. Introducción
2.Arquitectura General
3. Arquitectura Postgres
4. Arquitectura Oracle
5. Arquitectura MySQL
6. Conclusión
Por el momento no dispone de programas compilados Por el momento no dispone de programas compilados Por el momento no dispone de programas compilados Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro
Noviembre 2005
MySQL
Capa Lógica:Fue encontrado que MySQL tiene de hecho una
arquitectura lógica que sea virtualmente idéntica a la que esta'representada en el cuadro 2. La sección siguiente detalla estos subsistemas y las interacciones dentro de ellas.
Procesador QUERYLa mayoría extensa de interacciones en el sistema ocurre
cuando un usuario desea visión o manipular los datos subyacentes en el almacenaje .
Precompiler Encajado de DMLCuando una petición se recibe de un cliente en la capa de
uso, es la responsabilidad del precompiler encajado de DML (lengua de manipulación de datos) extraer las declaraciones relevantes del SQL encajadas en los comandos del API del cliente, o traducir al cliente ordena en las declaraciones correspondientes del SQL.
AGENDA
1. Introducción
2.Arquitectura General
3. Arquitectura Postgres
4. Arquitectura Oracle
5. Arquitectura MySQL
6. Conclusión
Por el momento no dispone de programas compilados Por el momento no dispone de programas compilados Por el momento no dispone de programas compilados Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro
Noviembre 2005
MySQL
Recopilador de DDLLas peticiones de tener acceso a las bases de datos de MySQL
recibidas de un administrador son procesadas por el recopilador de DDL (idioma de definición de datos). El recopilador de DDL compila los comandos (que son declaraciones del SQL) de obrar recíprocamente directamente con la base de datos. El administrador y las utilidades administrativas no exponen un interfaz, y por lo tanto se ejecutan directamente al servidor de MySQL. Por lo tanto, el precompiler encajado de DML no lo procesa, y éste explica la necesidad de un recopilador de DDL.
Programa de análisis de QueryEl paso siguiente implica el analizar de la pregunta de MySQL. En
esta etapa, el objetivo del programa de análisis de la pregunta es crear una estructura arborescente del análisis basada en la pregunta para poderla entender fácilmente por los otros componentes más adelante en la tubería.
AGENDA
1. Introducción
2.Arquitectura General
3. Arquitectura Postgres
4. Arquitectura Oracle
5. Arquitectura MySQL
6. Conclusión
Por el momento no dispone de programas compilados Por el momento no dispone de programas compilados Por el momento no dispone de programas compilados Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro
Noviembre 2005
MySQL
Preprocesador QueryLa pregunta analiza el árbol, según lo obtenido del programa de
análisis de la pregunta, después es utilizada por el preprocesador de la pregunta comprobar el sintaxis del SQL y comprobar la semántica de la pregunta de MySQL para determinarse si la pregunta es válida.
Encargado De Security/IntegrationUna vez que la pregunta de MySQL se juzgue para ser válida, el
servidor de MySQL necesita comprobar el Access Control List parasaber si hay el cliente.
Optimizador De QueryMySQL utiliza el optimizador de la pregunta para ejecutar
preguntas del SQL tan rápidamente como sea posible. Consecuentemente, ésta es la razón por la que el funcionamiento de MySQL es rápido comparado al otro RDBMS. La tarea del optimizador de la pregunta de MySQL es analizar la pregunta procesada para considerar si puede aprovecharse de algunas optimizaciones que permitan que procese la pregunta más rápidamente
AGENDA
1. Introducción
2.Arquitectura General
3. Arquitectura Postgres
4. Arquitectura Oracle
5. Arquitectura MySQL
6. Conclusión
Por el momento no dispone de programas compilados Por el momento no dispone de programas compilados Por el momento no dispone de programas compilados Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro
Noviembre 2005
Es la mas compatible y la que mas programas lleva dentro
MySQL
Motor De la EjecuciónUna vez que el optimizador de la pregunta de MySQL haya
optimizado la pregunta de MySQL, la pregunta se puede entonces ejecutar contra la base de datos. Esto es realizada por el motor de la ejecución de la pregunta, que después procede a ejecutar las declaraciones del SQL y tiene acceso a la capa física de la base de datos de MySQL
Gestor de transaccionesEn fecha la versión MySQL 4.0.x, ayuda fue agregado para las
transacciones en MySQL. Una transacción es una sola unidad del trabajo que tiene unos o más comandos de MySQL en ella. El gestor de transacciones es responsable de cerciorarse de que la transacción está registrada y ejecutada atómico.
Encargado Del Control Concurrenciaapropiados de datos en la base de datos del encargado de recurso.
Una vez que se adquiera la cerradura, sólo las operaciones en una transacción pueden manipular los datos. Si una diversa transacción intenta manipular los mismos datos bloqueados, el encargado del concurrencia-control rechaza la petición hasta que la primera transacción es completa.
AGENDA
1. Introducción
2.Arquitectura General
3. Arquitectura Postgres
4. Arquitectura Oracle
5. Arquitectura MySQL
6. Conclusión
Por el momento no dispone de programas compilados Por el momento no dispone de programas compilados Por el momento no dispone de programas compilados
Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro
Noviembre 2005
Es la mas compatible y la que mas programas lleva dentro
MySQL
Gerencia De RecuperaciónEncargado Del RegistroEl encargado del registro es responsable de registrar la operación
de e mismo ejecutada en la base de datos. Hace tan almacenando el disco del entrar a través del encargado del almacenador intermediario. Las operaciones en el registro se almacenan como comandos de MySQL. Así, en el caso de un fallo del sistema, ejecutar cada comando en el registro traerá detrás la base de datos a su estado estable pasado.
Encargado De la RecuperaciónEl encargado de la recuperación es responsable de restaurar la base
de datos a su estado estable pasado. Hace tan usando el registro para la base de datos, que se adquiere del encargado del almacenador intermediario, y ejecutando cada operación 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 recuperarían la base de datos a su estado estable pasado.
AGENDA
1. Introducción
2.Arquitectura General
3. Arquitectura Postgres
4. Arquitectura Oracle
5. Arquitectura MySQL
6. Conclusión
Noviembre 2005
Es la mas compatible y la que mas programas lleva dentro
MySQL
Gestión de la memoria externaEl almacenaje se hace físicamente en un cierto tipo de almacenaje
secundario, no obstante el acceso dinámico de este medio no es práctico. Así, todo el trabajo se hace a través de un número dealmacenadores intermediarios. Los almacenadores intermediarios residen en memoria principal y virtual y son manejados por un encargado del almacenador intermediario. Este encargado trabajaconjuntamente con dos otras entidades del encargado relacionadas con el almacenaje: el encargado de recurso y el encargado del almacenaje.
Encargado Del AlmacenajeEn el nivel más bajo existe el encargado del almacenaje. El papel
del encargado del almacenaje es mediar peticiones entre el encargado del almacenador intermediario y el almacenaje secundario. El encargado del almacenaje hace peticiones a través del regulador de disco subyacente (y a veces del sistema operativo) de recuperar datos del disco físico y los divulga de nuevo al encargado del almacenador intermediario.
AGENDA
1. Introducción
2.Arquitectura General
3. Arquitectura Postgres
4. Arquitectura Oracle
5. Arquitectura MySQL
6. Conclusión
Noviembre 2005
Es la mas compatible y la que mas programas lleva dentro
MySQL
Encargado Del BufferEl papel del encargado del almacenador intermediario es asignar
los recursos de la memoria para el uso de la visión y los datos de la manipulación. El encargado del almacenador intermediario toma en peticiones ajustadas a formato y decide cuánto memoria a asignar por almacenador intermediario y cuánta almacenadores intermediarios a asignar por la petición. Todas las peticiones se hacen del encargado de recurso.
Encargado De RecursoEl propósito del encargado de recurso es aceptar peticiones del
motor de la ejecución, puesto les en peticiones de la tabla, y solicita las tablas del encargado del almacenador intermediario. El encargado de recurso recibe referencias a los datos dentro de la memoria del encargado del almacenador intermediario y vuelve estos datos a las capas superiores
AGENDA
1. Introducción
2.Arquitectura General
3. Arquitectura Postgres
4. Arquitectura Oracle
5. Arquitectura MySQL
6. Conclusión
Noviembre 2005
Ventanas de MySQL:
- Por ser cliente servidor puedes crear respaldos sin tener que cerrar todas los objetos bloqueados por usuarios, si seramultiusuario ni le pienses mas.
- Access no soporta tablas de mas de 4GB, MySQL hasta de 1 Terabyte.
- Es multiplataforma.- Hay muchos mas ejemplos de acceso a la BD con JSP o Servlets
en la red- Configuracion es simple.- Aprovecha la potencia de sistemas multiprocesador,gracias a su
implementacion de multihilos,lo cual lo hace una base de datos muy veloz.
- Soporta gran cantidad de tipos de datos para las columnas- Dispone de API’S de gran cantidad de lenguajes(php,
c++,perl,java…)- Gran compatibilidad entre sistemas- Soporta hasta 32 indices por tabla- Gestion de usuarios y paswords,manteniendo un muy buen nivel
de seguridad en los datos
AGENDA
1. Introducción
2.Arquitectura General
3. Arquitectura Postgres
4. Arquitectura Oracle
5. Arquitectura MySQL- Ventajas- Desventajas
6. Conclusión
Por el momento no dispone de programas compilados Por el momento no dispone de programas compilados Por el momento no dispone de programas compilados Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro
Noviembre 2005
Desventanas de MySQL:
- Los procedimientos almacenados fueron implementos hasta la version 5, la cual no se considera muy estable.
- Si vas a ingrear datos desde la pagina tienes que chequear la integridad ya Mysql no lo Hace
- Subconsultas: tal vez esta sea una de las caracteristicas que mas se echan de menos,aunque gran parte de las veces se necesitan,es posible de reescribirlas de manera que no sean necesarias.
- No posee Triggers y procedures, se tiene pensado insertar procedures, mas no los triggers ya que reducen de forma significativa el rendimiento de la base de datos, incluso en aquelas consultas que no lo activan.
AGENDA
1. Introducción
2.Arquitectura General
3. Arquitectura Postgres
4. Arquitectura Oracle
5. Arquitectura MySQL- Ventajas- Desventajas
6. Conclusión
Noviembre 2005
Por el momento no dispone de programas compilados Por el momento no dispone de programas compilados Por el momento no dispone de programas compilados Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro Es la mas compatible y la que mas programas lleva dentro
Noviembre 2005
AGENDA
1. Introducción
2.Arquitectura General
3. Arquitectura Postgres
4. Arquitectura Oracle
5. Arquitectura MySQL
6. Cuadro Comparativo
7. Conclusión
Alta?MediaMedia/AltaAltaSeguridad
SíSíSíSíSíIntegridad de Datos
?Media
Media/AltaAltaAlta/Mu
y AltaEstabilidad
Media/AltaMedia/Alta?MediaMedia/A
ltaVelocidad
MedioAltoMedioAltoMedioSQL Standard
Linux, Solaris, HP-UX, AIX,
Compaq Tru64, OpenVMS Windows
Linux, Solaris,
freeBSD, HP-UX, MacOS, Windows
Linux, Solaris, HP-
UX, AIX, Windows
Linux, Solaris, HP-UX, AIX,
IRIX, FreeBSD, OpenBSD, NetBSD,
MacOs, SCO OpenServer,
SCO Unixware, BeOS, BSDI,
Compaq Tru64, QNX, Windows
Linux, Solaris, HP-UX, MacOs, AIX, SCO, IRIX,
FreeBSD, NetBSD,
OpenBSD, Windows, BSDI,
DEC, OS/2, Compaq Tru64, Novell NetWare.
Plataformas
Ingres R31.5.x7.58.x5Versión
IngresFirebirdMaxDBPostgreSQLMySQL
Cuadro Comparativo entre Arquitecturas OpenSource
Noviembre 2005
SíNoNoNoSíClustering
No?NoSiSíTablespaces
SíNoNoNoSíBalanceo de
cargas
BTREE, ISAM, HASH, HEAP, HEAPSORT, PARTITION
?
EVT, tablas procedimentales, vistas actualizables y tablas derivadas
1 Tipo
InnoDB (default), MYISAM,
BerkeleyDB, MERGE, Derived
Tipos de tablas
ODBC, JDBC, C/C++, .NET, Perl, Python, PHP, Cobol,
Fortran
ODBC, JDBC,
C/C++, PHP, Python, Perl, Kylix, Delphi, .NET/Mono,
ADO
ODBC ,JDBC, C/C++,
Precompiler
(Embedded SQL), Perl,
Python, PHP
ODBC, JBDC, C/C++,
Embeded SQL (in C),
Tcl/Tk, Perl,
Python, PHP, .NET
ODBC, JDBC, C/C++, .NET/Mono, ADO.Net, OLEDB,
Delphi, Perl, Python, PHP, Embedded (C precompiler),
Embeded in Java
Interfaces de programación
SíSíSí
Sí(pl/pgSQL,
pl/Perl, pl/TCL,
pl/Python, pl/sh)
Sí (no permite algunas
instrucciones)*
Soporte de procedimientos almacenados
SíNoSíSíSí*Soporte de Esquemas
SíSíSíSíSí (sin índices)*Soporte de vistasAGENDA
1. Introducción
2.Arquitectura General
3. Arquitectura Postgres
4. Arquitectura Oracle
5. Arquitectura MySQL
6. Cuadro Comparativo
7. Conclusión
Noviembre 2005
CONCLUSION
Podemos afirmar que los dbms en linea general tienen gran similitud en cuanto a su estructura, la difrencia viene en el manejo de los usuarios, lassentencias de codigo, la seguridad y la integidad de losdatos, etc. Sin embargo con el mismo fin y en ocaciones con similitudes en los mecanismos de manejo de los mismos.
En cuanto a la diferencia entre las bases de datos o los dbms comerciales o propietarios y los OpenSource, esta en el soporte ofrecido y en algunos casos en la calida, existe la tendencia a que el software propietarioen cuanto a bases de datos se refiere tiende a satisfacermas las necesidades de las empresas que requierengran cantidad de almacenamiento, y las bases de datos OpenSource son la mas recomendadas para usopersonal..
AGENDA
1. Introducción
2.Arquitectura General
3. Arquitectura Postgres
4. Arquitectura Oracle
5. Arquitectura MySQL
6. Conclusión
Noviembre 2005
Referencia
• Soporte Tecnicohttp://www.pervasivepostgres.com/support/index.asp
• PostgreSQL Oficial Sitehttp://www.postgresql.org/about/awards
MySQL
1. Atkinson, Leon. Core MySQL: The Serious Developer’s Guide. New Jersey: Prentice Hall Publishing,
2002.2. Date, C.J. An Introduction to Database Systems. Menlo Park:
Addison-Wesley Publishing Company, Inc,1986.3. Dubois, Paul. MySQL. New York: New Riders Publishing,
2000.4. Frost, R.A. Database Management Systems. New York:
Granada Technical Books, 1984.5. Garcia-Molina, Hector. Database System Implementation. New
Jersey: Prentice Hall, 2000.6. Garlan, David. Shaw, Mary. "An Introduction to Software
Architecture". Pittsburgh, PA USA: School ofComputer Science, Carneigie Mellon University, 1994.
AGENDA
1. Introducción
2.Arquitectura General
3. Arquitectura Postgres
4. Arquitectura Oracle
5. Arquitectura MySQL
6. Conclusión
- Referencias