ORACLE Joseba Gil Irisarri Noelia Suaa Prez NDICE
ORACLE Joseba Gil Irisarri Noelia Suaña Pérez
ÍNDICE • • • Introducción Concurrencia Seguridad Extensiones Comparativas con otras BD Conclusiones
INTRODUCCIÓN • Se creó en 1977. • • Laurence Joseph Ellison. Empezó trabajando para la empresa Ampex la cual le asignó diseñar una gran base de datos para la CIA pero fracasó. . .
• • • Introducción Concurrencia Seguridad Extensiones Comparativas con otras BD Conclusiones
Concurrencia • Queremos que un SGBD multiusuario proporcione acceso simultáneo a varios clientes y usuarios. • Los objetivos claves de un sistema de gestión son: Ø Los datos tienen que ser leidos y modificados de forma consistente. Ø Hay que maximizar la concurrencia en un entorno multiusuario. Ø Se necesita un alto rendimiento para maximizar la productividad de los usuarios de un sistema de BD.
Concurrencia • Problema si no se realiza el control de concurrencia Ø Los datos pueden ser modificados de forma incorrecta, violando la intregridad de los mismos. • Solución: Ø Si varios usuarios están accediendo a los mismos datos una forma de gestionar la concurrencia es hacer que cada usuario espere su turno, pero el objetivo de un SGBD es reducir esta espera de forma que no exista o sea inapreciable para los usuarios. • “Todas las sentencias deben ejecutarse con la menor interferencia posible, sin sacrificar el rendimiento ni la integridad de los datos”
Concurrencia • Oracle resuelve estas cuestiones mediante: – Varios tipos de bloqueo. – Un modelo de consistencia multiversión.
Concurrencia • Consistencia de lectura • Mecanismos de bloqueo • Bloqueo automático
Concurrencia • Consistencia en lectura. Ø Garantiza que un conjunto de datos vistos por una sentencia sea consistente y no cambia la ejecución(consistecia a nivel de sentencia). Ø Asegura que los lectores de los datos de la BD NO esperarán a los escritores u otros lectores de los mismos datos. Ø Asegura que los escritores de los datos de la BD NO esperarán a los lectores de los mismos datos. Ø Asegura que los escritores solo esperarán a otros escritores si intentan modificar las mismas filas en transacciones concurrentes.
Concurrencia • La forma más sencilla de presentar la implementación de Oracle para la consistencia de lectura es imaginar a cada usuario trabajando con su propia copia de la BD, de aquí lo de la consistencia multiversión.
Concurrencia • Mecanismos de bloqueo Se utilizan para conseguir 2 objetivos: Ø Consistencia: Asegura que los datos que ve el usuario no van a ser modificados por otros usuarios hasta que no termine con ellos. Ø Integridad: Asegura que los datos de la BD reflejan todos los cambios realizados en la secuencia correcta.
Concurrencia • Bloqueo automático Se realiza de forma automática y no necesita intervención del usuario. El gestor de bloqueo de Oracle bloquea los datos de la tabla a nivel de fila de esta forma se minimiza la contención. Ø Permite que se consulten datos bloqueados , pero prohibe la modificación de los mismos. Ø Si el usuario desea evitar el bloqueo a nivel de fila, Oracle permite el bloqueo manual a nivel de fila y a nivel de tabla, esta es la situación de consultar registros que posteriormente van a ser actualizados. Ø
• • • Introducción Concurrencia Seguridad Extensiones Comparativas con otras BD Conclusiones
SEGURIDAD • Los mecanismos de seguridad que dispone Oracle realizan lo siguiente: Ø Previenen accesos no autorizados a la BD. Ø Previenen accesos no autorizados a los objetos del esquema. Ø Controlan el acceso a disco. Ø Controlan el uso de los recursos del sistema(e. j: tiempo de CPU). Ø Realizan una auditoria de las acciones de los usuarios.
SEGURIDAD • La seguridad de la BD se puede dividir de 2 tipos: Ø Seguridad del sistema: Incluye mecanismos que controlan el acceso y la utilización de la BD a nivel de sistema, la seguridad del sistema incluye: § Cantidad de espacio de disco disponible para los objetos de un usuario. § Combinaciones válidas usuario/contraseña. § Recursos de un usuario.
SEGURIDAD • Los mecanismos de seguridad comprueban: ØSi un usuario está autorizado para conectarse a la BD. ØSi está activada la auditoria de la BD. ØLas operaciones que puede realizar cada usuario.
SEGURIDAD Ø Seguridad de los datos: Incluye a los mecanismos que controlan el acceso y el uso de la BD a nivel de objetos, la seguridad de los datos comprueba: §Qué usuarios tienen acceso a objetos específicos del sistema y los tipos de acciones que se pueden realizar sobre el objeto(solo lectura, escritura…) §Las acciones que son auditadas por cada objeto del esquema.
SEGURIDAD • Oracle proporciona distintas posibilidades para gestionar la seguridad de la BD. ØUsuarios y esquemas de la BD. ØPrivilegios. ØRoles. ØCuotas de almacenamiento. ØLimitación de recursos. ØAuditoria.
GESTIONAR LA SEGURIDAD DE LA BD • Usuarios: Cada usuario tiene un dominio de seguridad, es decir, un conjunto de propiedades que determinan aspectos como: – Espacio de disco disponible. – Acciones(privilegios y roles)permitidas al usuario. – Limitaciones de los recursos del sistema.
üUsuarios y esquemas de la BD. • Privilegios. • Roles. • Cuotas de almacenamiento. • Limitación de recursos. • Auditoria.
GESTIONAR LA SEGURIDAD DE LA BD • Privilegios: Es el derecho a ejecutar un tipo de sentencia SQL(e. j: conectarse a la BD, crear una tabla con tu propio esquema, seleccionar filas de tablas de otro usuario, ejecutar algun procedimiento almacenado. . . ) • Los privilegios se pueden clasificar en: ØPrivilegios de sistema. ØPrivilegios sobre datos.
GESTIONAR LA SEGURIDAD DE LA BD • Privilegios del sistema: Permiten a los usuarios realizar una acción en el sistema o una acción concreta en un tipo particular de objeto(e. j: los privilegios para crear un tablaspace, para eliminar una tabla de la BD son privilegios del sistema). Estos privilegios suelen estar asignados sólo a administradores o a programadores , ya que se trata de tareas muy delicadas
GESTIONAR LA SEGURIDAD DE LA BD • Privilegios sobre objetos: Permiten a los usuarios realizar acciones concretas sobre un objeto específico del esquema(e. j: borrar filas de un objeto). Estos privilegios suelen estar asignados a usuarios finales para que puedan realizar sus acciones permitidas sobre la BD.
GESTIONAR LA SEGURIDAD DE LA BD • La forma de conceder privilegios a los usuarios es de 2 formas: 1. Concesión explicita(e. j: privilegio de insertar registros en la tabla EMPLEADO está concedido explicitamente a “Ana”.
GESTIONAR LA SEGURIDAD DE LA BD 2. Consesión a través de roles: Los roles son un grupo de privilegios que se pueden conceder a usuarios o a otros roles. (e. j: El privilegio de insertar registros en la tabla EMPLEADO ha sido concedido al rol CLERK que han sido concedidos a las empleados “Pablo” y “Ana”).
üUsuarios y esquemas de la BD. üPrivilegios. üRoles. • Cuotas de almacenamiento. • Limitación de recursos. • Auditoria.
GESTIONAR LA SEGURIDAD DE LA BD • Cuotas de almacenamiento: Métodos para controlar y limitar el espacio de disco asignado a cada usuario, incluyendo cuotas para tablespace por omisión o temporales – Tablespace por omisión. – Tablespace temporal.
GESTIONAR LA SEGURIDAD DE LA BD • Característica de las cuotas de almacenamiento: Ø Puede limitar la cantidad de espacio de disco disponible para los objetos del esquema. Ø Se pueden definir cuotas(limites de espacio)para cada tablespace del usuario, estas cuotas permiten controlar la cantidad de espacio de disco consumida por los objetos de un usuario.
üUsuarios y esquemas de la BD. üPrivilegios. üRoles. üCuotas de almacenamiento. • Limitación de recursos. • Auditoria.
GESTIONAR LA SEGURIDAD DE LA BD • Limitación de los recursos: Cada usuario está asignado a un perfil que especifica las limitaciones sobre distintos recursos del sistema disponibles para el usuario incluyendo – Nº de sesiones concurrentes – Tiempo de CPU(por sesión, por sentencia SQL) – Cantidad de operaciones E/S lógicas(por sesion, por sentencia) – Cantidad de tiempo inactivo por sesión – Cantidad de tiempo de conexión – Restricciones de la contraseña………
üUsuarios y esquemas de la BD. üPrivilegios. üRoles. üCuotas de almacenamiento. üLimitación de recursos. • Auditoria.
GESTIONAR LA SEGURIDAD DE LA BD • Auditoria: Permite la auditoria(registro)selectiva de las acciones de los usuarios para ayudar a analizar usos extraños de la BD La auditoria se puede realizar a 3 niveles: § A nivel de sentencia § A nivel de privilegios § A nivel de objetos
GESTIONAR LA SEGURIDAD DE LA BD § Auditoria a nivel de sentencia: Ø Consiste en en registrar ciertas sentencias SQL y se pueden realizar para todos los usuarios o para algunos en concreto. (e. j: Registrar las conexiones y deconexiones a la BD de “Ana”)
GESTIONAR LA SEGURIDAD DE LA BD § Auditoria a nivel de privilegios: Ø Consiste en registrar el uso de privilegios delicados y se pueden realizar para todos los usuarios o para algunos en concreto.
GESTIONAR LA SEGURIDAD DE LA BD § Auditoria a nivel de objetos: Ø Consiste en registrar los accesos a objetos concretos del esquema.
GESTIONAR LA SEGURIDAD DE LA BD • Para todas los tipos de auditoria, Oracle permite gestionar de forma selectiva las sentencias que se han ejecutado con éxito, las que han fallado o ambas de esta forma permite analizar sentencias malintencionadas.
ü Introducción ü Concurrencia ü Seguridad • Extensiones • Comparativas con otras BD • Conclusiones
Extensiones • • • Grid Computing Herramientas administrativas Herramientas de recuperación de datos Herramientas de inteligencia del negocio Herramientas de gestión del contenido Herramientas de integración de información
Extensiones Grid Computing • Distinto de cluster: un servidor puede utilizar cualquier recurso para cualquier aplicación de cualquier cliente • Mayor flexibilidad • Mayor disponibilidad • Mayor rendimiento
Extensiones ü Grid Computing • Herramientas administrativas • Herramientas de recuperación de datos • Herramientas de inteligencia del negocio • Herramientas de gestión del contenido • Herramientas de integración de información
Extensiones Herramientas administrativas es • Auto-administrador En ausencia del administrador se ocupa de: Ø Archivos Ø Memoria dinámica Ø Espacio libre Ø RMAN* Ø…
Extensiones Herramientas administrativas • Administrador de empresa Coordina a través de la red de la empresa las tareas de varios administradores • Administrador automático de almacenamiento ØRedistribuye los datos en los discos de forma equilibrada ØRedundancia con mirroring
Extensiones Herramientas administrativas • Scheduler Simplificar gestión tareas: ØPaquete DBMS_SCHEDULER ØSólo programas PL/SQL • Administrador de recursos Control de distribución de recursos entre sesiones (nadie debe acaparar los recursos)
Extensiones ü Grid Computing ü Herramientas administrativas • Herramientas de recuperación de datos • Herramientas de inteligencia del negocio • Herramientas de gestión del contenido • Herramientas de integración de información
Extensiones Herramientas de recuperación de datos • RMAN (Recovery Manager) Ø Recupera datos a partir de logs Ø Hace copias incrementales Ø Más robusto que comandos Ø Facilita el trabajo
Extensiones ü Grid Computing ü Herramientas administrativas ü Herramientas de recuperación de datos • Herramientas de inteligencia del negocio • Herramientas de gestión del contenido • Herramientas de integración de información
Extensiones Herramientas de inteligencia del negocio • Data Warehouse BD para consultas y análisis Aplicaciones: Ø ETL (extracción, transformación y carga frecuente) Ø Indexación por mapa de bits Ø OLAP: procesamiento analítico de datos
Herramientas de inteligencia del negocio • Data Mining Construcción y evaluación de modelos a partir de datos • Compresión de tablas • Partición de tablas: acceso selectivo ØTransparente a la aplicación ØNo cambian las sentencias SQL, DML
Extensiones Herramientas de inteligencia del negocio • Ejecución o procesamiento paralelo Una sentencia SQL se ejecuta en varios procesos Mayor rapidez
Extensiones ü Grid Computing ü Herramientas administrativas ü Herramientas de recuperación de datos ü Herramientas de inteligencia del negocio • Herramientas de gestión del contenido • Herramientas de integración de información
Herramientas de gestión del contenido • XML ØTipo de datos nativo ØConversión a XML a partir de tablas • LOB (Large OBject) ØTipos de datos: BLOB, CLOB, NCLOB, BFILE ØTratan en formato binario o carácter: texto, imágenes, vídeo y sonido
Extensiones Herramientas de gestión del contenido • Indexadores Ø Oracle Text: indexador de texto Ø Oracle Ultra Search: indexador de texto, e-mails, sitios web, tablas… • Tipos de datos de DB 2 y SQL/DS
Extensiones Herramientas de gestión del contenido • Objetos Ø Conversión a tabla de objetos (atributos=columnas de la tabla) Ø Jerarquía de objetos, herencia Ø Vistas de objetos, jerarquía de vistas Ø Conjuntos de objetos ordenados: VARRAY desordenados: Nested Table
Extensiones ü Grid Computing ü Herramientas administrativas ü Herramientas de recuperación de datos ü Herramientas de inteligencia del negocio ü Herramientas de gestión del contenido • Herramientas de integración de información
Extensiones Herramientas de integración de información • BD distribuidas Oracle garantiza: Ø Transparencia de localidad: el usuario no sabe dónde están los datos Ø Transparencia de SQL y transacción: las sentencias y transacciones no se modifican Ø Integridad de datos: (mecanismo de commit en 2 fases) Ø Optimización de consultas distribuidas
Extensiones Herramientas de integración de información • Streams Ø Propagan y gestionan datos dentro de una BD ó de una BD a otra Ø El usuario controla cómo viajan los datos de un nodo a otro Ø Replicación de datos, mensajes de alerta…
Extensiones Herramientas de integración de información • Pasarelas transparentes y conectividad genérica Ø Comunicación con fuentes de datos no Oracle, aplicaciones no SQL
• • • Introducción Concurrencia Seguridad Extensiones Comparativas con otras BD Conclusiones
Comparativa con otras BD Oracle, DB 2, SQL Server, Informix • Los estudios comparativos están hechos normalmente por las empresas que desarrollan BD: Ø No son muy objetivos Ø Se obtienen conclusiones contradictorias Ø Publicar comparativas por libre trae problemas legales • La experiencia de los usuarios a veces dice mucho más
Comparativa con otras BD Oracle, DB 2, SQL Server, Informix • Oracle Ventajas: Ø Muy robusta y estable Ø Soporta gran volumen de datos (TB) Ø Muy completa Ø Multiplataforma Ø Multilingüe Ø Buen rendimiento en sistemas críticos y distribuidos Ø Gratis para uso no comercial
Comparativa con otras BD Oracle, DB 2, SQL Server, Informix • Oracle Desventajas: Ø La más cara: BD + aprendizaje y salario del ABD Ø Manejo complicado: es necesaria la “carrera de ABD en Oracle” Ø Lenta (según configuración) Ø Poco rentable para proyectos pequeños o medianos Ø Instalación complicada y lenta Ø Consume muchos recursos
Comparativa con otras BD Oracle, DB 2, SQL Server, Informix • DB 2 Ventajas: Ø Características parecidas a Oracle (principal BD comercial competidora) Ø Mayor compatibilidad para servidores con diferentes SO Ø En general, a mitad de precio Desventajas: Ø Últimas actualizaciones mal diseñadas o demasiado caras
Comparativa con otras BD Oracle, DB 2, SQL Server, Informix • SQL Server Ventajas: Ø La más barata Ø Más fácil de instalar y usar Ø Optimizada para Windows Desventajas: Ø Sólo funciona en Windows Ø No soporta gran volumen de datos (<=GB)
Comparativa con otras BD Oracle, DB 2, SQL Server, Informix • Informix Ventajas: Ø Características parecidas a Oracle Ø Más fácil de instalar y configurar Desventajas: Ø Algo más cara en configuraciones parecidas
Nº de CPUs Oracle 9 i Standard Edition IBM DB 2 v 8. 1 Workgroup Edition SQL Server 2000 Standard Edition Informix versión 9. 21 1 $15, 000 $7, 500 $4, 999 $20, 000 2 $30, 000 $15, 000 $9, 998 $30, 000 8 $120, 000 $60, 000 $39, 992 - $480, 000 $240, 000 $159, 968 - 32 Comparativa con otras BD Oracle, DB 2, SQL Server, Informix • Tabla de precios (versión estándar):
Nº de CPUs Oracle 9 i Enterprise Edition IBM DB 2 v 8. 1 Enterprise Edition SQL Server 2000 Enterprise Edition 1 $40, 000 $25, 000 $19, 999 2 $80, 000 $50, 000 $39, 998 8 $320, 000 $200, 000 $159, 992 32 $1, 280, 000 $800, 000 $639, 968 Comparativa con otras BD Oracle, DB 2, SQL Server, Informix • Tabla de precios (versión empresa):
• • • Introducción Concurrencia Seguridad Extensiones Comparativas con otras BD Conclusiones
¿Qué sistema de BD prefieres?
Conclusiones • Postgre. SQL y My. SQL son las BD preferidas pero se piden conocimientos sobre Oracle y SQL Server Ø El marketing influye • Para proyectos grandes con gran volumen de datos y en sistemas críticos son recomendables, en este orden: DB 2, Oracle e Informix • En otro caso, compensa SQL Server • En casa: Postgre. SQL, My. SQL o incluso Access
- Slides: 70