Podcast
Questions and Answers
¿Cuál de las siguientes funciones NO corresponde a un DBA?
¿Cuál de las siguientes funciones NO corresponde a un DBA?
¿Cuál es una forma de mejorar la capacidad de almacenamiento en bases de datos grandes?
¿Cuál es una forma de mejorar la capacidad de almacenamiento en bases de datos grandes?
En el contexto de la gestión de bases de datos, ¿qué implica el concepto de 'sharding'?
En el contexto de la gestión de bases de datos, ¿qué implica el concepto de 'sharding'?
¿Cuál de las siguientes acciones es esencial para asegurar la disponibilidad de la base de datos?
¿Cuál de las siguientes acciones es esencial para asegurar la disponibilidad de la base de datos?
Signup and view all the answers
¿Qué aspecto considera la planificación de capacidad en la administración de bases de datos?
¿Qué aspecto considera la planificación de capacidad en la administración de bases de datos?
Signup and view all the answers
¿Cuál de las siguientes es una responsabilidad del DBA en relación con la recuperación de datos?
¿Cuál de las siguientes es una responsabilidad del DBA en relación con la recuperación de datos?
Signup and view all the answers
¿Qué es una 'sharded cluster' en términos de bases de datos?
¿Qué es una 'sharded cluster' en términos de bases de datos?
Signup and view all the answers
¿Qué estrategia puede ser costosa al insertar datos en tablas grandes con muchos índices?
¿Qué estrategia puede ser costosa al insertar datos en tablas grandes con muchos índices?
Signup and view all the answers
¿Cuál es la función del proceso FlashBack Data Archiver?
¿Cuál es la función del proceso FlashBack Data Archiver?
Signup and view all the answers
¿Qué es un tablespace en el contexto de una base de datos?
¿Qué es un tablespace en el contexto de una base de datos?
Signup and view all the answers
¿Cuál de las siguientes afirmaciones sobre el archivo de datos es correcta?
¿Cuál de las siguientes afirmaciones sobre el archivo de datos es correcta?
Signup and view all the answers
¿Cuál de los siguientes tablespaces está destinado para los objetos del sistema en Oracle?
¿Cuál de los siguientes tablespaces está destinado para los objetos del sistema en Oracle?
Signup and view all the answers
¿Qué representa un segmento dentro de una base de datos Oracle?
¿Qué representa un segmento dentro de una base de datos Oracle?
Signup and view all the answers
¿Cómo se define una extensión en el contexto de almacenamiento físico?
¿Cómo se define una extensión en el contexto de almacenamiento físico?
Signup and view all the answers
¿Cuál de los siguientes modelos de almacenamiento no es un tipo de segmento en una base de datos Oracle?
¿Cuál de los siguientes modelos de almacenamiento no es un tipo de segmento en una base de datos Oracle?
Signup and view all the answers
¿Qué función cumple el tablespace UNDO TBS1 en una base de datos Oracle?
¿Qué función cumple el tablespace UNDO TBS1 en una base de datos Oracle?
Signup and view all the answers
¿Cuál es una ventaja de crear un tablespace separado para índices?
¿Cuál es una ventaja de crear un tablespace separado para índices?
Signup and view all the answers
¿Por qué es importante que los índices estén almacenados en la parte de almacenamiento más rápida?
¿Por qué es importante que los índices estén almacenados en la parte de almacenamiento más rápida?
Signup and view all the answers
¿Qué opción indica que se realizará el registro de cambios en el archivo de redo logs?
¿Qué opción indica que se realizará el registro de cambios en el archivo de redo logs?
Signup and view all the answers
¿Cuál de las siguientes afirmaciones acerca del tablespace es correcta?
¿Cuál de las siguientes afirmaciones acerca del tablespace es correcta?
Signup and view all the answers
¿Qué hace la opción AUTOEXTEND ON en un datafile?
¿Qué hace la opción AUTOEXTEND ON en un datafile?
Signup and view all the answers
¿Qué restricción garantiza que la columna 'edad' sea mayor o igual a cero?
¿Qué restricción garantiza que la columna 'edad' sea mayor o igual a cero?
Signup and view all the answers
¿Qué permite la cláusula ONLINE en un tablespace?
¿Qué permite la cláusula ONLINE en un tablespace?
Signup and view all the answers
¿Cuál es el propósito de asignar tablespaces a dispositivos de almacenamiento específicos?
¿Cuál es el propósito de asignar tablespaces a dispositivos de almacenamiento específicos?
Signup and view all the answers
¿Cuál de las siguientes afirmaciones sobre InnoDB es correcta?
¿Cuál de las siguientes afirmaciones sobre InnoDB es correcta?
Signup and view all the answers
¿Cuál es una característica distintiva de MyISAM en comparación con InnoDB?
¿Cuál es una característica distintiva de MyISAM en comparación con InnoDB?
Signup and view all the answers
¿Qué motor de almacenamiento fue desarrollado por MariaDB como alternativa a MyISAM?
¿Qué motor de almacenamiento fue desarrollado por MariaDB como alternativa a MyISAM?
Signup and view all the answers
¿Cuál de los siguientes motores de almacenamiento no cumple con las propiedades ACID?
¿Cuál de los siguientes motores de almacenamiento no cumple con las propiedades ACID?
Signup and view all the answers
¿Qué tipo de bloqueo utiliza MyISAM?
¿Qué tipo de bloqueo utiliza MyISAM?
Signup and view all the answers
En términos de rendimiento, ¿cuál es la ventaja de InnoDB sobre MyISAM en operaciones de escritura?
En términos de rendimiento, ¿cuál es la ventaja de InnoDB sobre MyISAM en operaciones de escritura?
Signup and view all the answers
¿Cuál de los siguientes motores de almacenamiento de MariaDB es más adecuado para manejar grandes volúmenes de datos de tipo CSV?
¿Cuál de los siguientes motores de almacenamiento de MariaDB es más adecuado para manejar grandes volúmenes de datos de tipo CSV?
Signup and view all the answers
¿Qué motor de almacenamiento se considera el equivalente mejorado de InnoDB?
¿Qué motor de almacenamiento se considera el equivalente mejorado de InnoDB?
Signup and view all the answers
¿Cuál de las siguientes afirmaciones sobre la creación de usuarios es correcta?
¿Cuál de las siguientes afirmaciones sobre la creación de usuarios es correcta?
Signup and view all the answers
¿Cuál es la función de la cláusula 'DEFAULT TABLESPACE' al crear un usuario?
¿Cuál es la función de la cláusula 'DEFAULT TABLESPACE' al crear un usuario?
Signup and view all the answers
¿Qué herramienta se utiliza para realizar backups en entornos empresariales con Oracle?
¿Qué herramienta se utiliza para realizar backups en entornos empresariales con Oracle?
Signup and view all the answers
¿Qué son los sinónimos en el contexto de bases de datos?
¿Qué son los sinónimos en el contexto de bases de datos?
Signup and view all the answers
¿Cuál es el propósito del comando 'GRANT CONNECT, RESOURCE TO nombre_usuario'?
¿Cuál es el propósito del comando 'GRANT CONNECT, RESOURCE TO nombre_usuario'?
Signup and view all the answers
Cuando se habla de 'vistas materializadas', ¿qué se está describiendo?
Cuando se habla de 'vistas materializadas', ¿qué se está describiendo?
Signup and view all the answers
¿Cuál es la importancia del 'TEMPORARY TABLESPACE' al crear un usuario?
¿Cuál es la importancia del 'TEMPORARY TABLESPACE' al crear un usuario?
Signup and view all the answers
¿Qué significa crear un 'sinónimo' para una tabla en una base de datos?
¿Qué significa crear un 'sinónimo' para una tabla en una base de datos?
Signup and view all the answers
Study Notes
Funciones del DBA
- Los administradores de bases de datos (DBA) usan software especializado para almacenar y organizar datos.
- Sus responsabilidades incluyen la planificación de la capacidad, la instalación, la configuración, el diseño de la base de datos, la migración, la supervisión del rendimiento, la seguridad, la resolución de problemas, así como la copia de seguridad y la recuperación de datos.
- Los DBA o ADBA (Administrador de Base de Datos de Aplicación) son responsables de las tareas de la aplicación relacionadas con una aplicación específica.
Lista de responsabilidades del administrador de base de datos
- Instalar y actualizar el SGBD
- Cuidar el diseño e implementación de la base de datos.
- Establecer la política y necesidades de almacenamiento.
- Nota: los índices ocupan espacio.
- En una tabla muy pesada, cada vez que se inserta un dato hay que actualizar un índice (muy costoso), para ello se implementan estrategias:
- Particionamiento: aunque lógicamente parezca una tabla, estas tablas se dividen en otras, es decir, se particiona.
- Sharding (fragmentación): concepto basado en la división de bases de datos grandes en otras más pequeñas para aumentar la capacidad de almacenamiento del sistema y su rapidez. Permitir esto significa que la información puede repartirse en varios servidores, de forma que cada servidor tenga una parte del conjunto completo de datos. El conjunto de servidores que contiene la totalidad de un conjunto de datos se denomina sharded cluster o shards (conjunto fragmentado).
- Crear políticas de copia de seguridad y restauración.
- Planificar el crecimiento y los cambios (planificación de la capacidad, crecimiento vegetativo).
- Establecer mecanismos de seguridad.
- Disponibilidad/HA: esto implica una disponibilidad física
- Vistas/Permisos
- Implementar y mantener el diseño de la base de datos.
- FBDA → El proceso FlashBack Data Archiver (FBDA) es el encargado de registrar la información del área Flashback.
Estructura y lógica de almacenamiento
- Relación 1-N: Define una relación entre dos entidades donde una entidad puede tener varias instancias de la otra entidad.
- Separación de la estructura lógica de la física: Es esencial para garantizar la independencia del modelo de datos de la implementación física.
- Archivo de datos (datafile): Es el almacenamiento físico de los datos de la base de datos.
-
Tablespace (lógico): Es una ubicación de almacenamiento donde se pueden guardar los datos correspondientes a los objetos de una base de datos.
- Brinda una capa de abstracción entre los datos físicos y lógicos.
- Sirve para asignar espacio para todos los segmentos administrados.
- Nota: No es un espacio de tablas, sino que es un espacio para almacenar cosas diferentes, como segmentos, tablas, archivos de datos.
- Un tablespace se almacena físicamente en uno o varios archivos de datos ('datafiles').
- Por ejemplo, una tabla puede estar en dos sitios.
-
Tablespaces por defecto:
- USER: Almacén por defecto en el que los diferentes usuarios de la BBDD almacenan sus objetos. Los esquemas de las aplicaciones irían en este espacio.
- SYSTEM: Para los objetos del sistema, como el Diccionario de Datos.
- SYSAUX: Para componentes adicionales de la base de datos, como el repositorio del Enterprise Manager.
- UNDO TBS1: Sirve para retener los cambios que se realizan sobre los datos en Oracle y así poder deshacerlos. Con un tiempo límite de retención configurable y siempre y cuando los bloques del dato que queramos recuperar no hayan sido sobreescritos en el UNDO.
- TEMP: Espacio temporal para operaciones de la base de datos.
-
Segmento: Es una unidad lógica de almacenamiento en una base de datos Oracle. Representa una porción de espacio de almacenamiento dedicado a un objeto de la base de datos, como una tabla, un índice o una vista materializada.
- Tabla
- Partición de tabla
- Índice
- Partición de índice
- Cluster
- Rollback - Undo
- Deferred rollback
- Temporal
- Caché
- Lobsegment
- Lobindex - LOB
-
Extensión: Unidad física de almacenamiento en el nivel del sistema de archivos.
- Son unidades de asignación de espacio que se utilizan para organizar y gestionar el almacenamiento de datos.
- Capacidad para crecer.
- Bloque (múltiplos del bloque del SO): Unidad básica de almacenamiento en una base de datos.
Por qué crear un tablespace para índices
- Gestión del espacio: Al crear un tablespace separado para índices, se puede administrar mejor el espacio y la asignación de recursos.
- Optimización del rendimiento: Al almacenar índices en un tablespace dedicado, se puede ajustar el tablespace para satisfacer las necesidades de rendimiento específicas de los índices.
- Administración de almacenamiento: Proporciona una capa adicional de organización para la administración del almacenamiento. Permite realizar copias de seguridad y restauración de índices de forma independiente.
- Separación de datos e índices: Mejora la eficiencia en operaciones específicas, como la reconstrucción de índices, ya que estas operaciones no afectarán directamente al tablespace de datos.
- Almacenamiento en dispositivos específicos: Permite asignar tablespaces a dispositivos de almacenamiento específicos, permitiendo controlar en qué dispositivos físicos se almacenan los índices.
- Seguridad y auditoría: Proporciona una capa adicional de control sobre el acceso a los índices.
- Nota: Los índices deberían ir en la parte de almacenamiento más rápida. Esto es responsabilidad de la base de datos, no de las aplicaciones.
Ejemplos
- Creación de un tablespace:
CREATE TABLESPACE datos_tbs
DATAFILE 'datos_tbs.dbf' SIZE 100M
AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
LOGGING
ONLINE;
- Creación de una tabla:
CREATE TABLE empleados (
id INT PRIMARY KEY,
nombre VARCHAR(255),
edad INT,
CONSTRAINT chk_edad CHECK (edad >= 0)
)
TABLESPACE datos_tbs
STORAGE (
INITIAL 10M
NEXT 10M
MAXSIZE UNLIMITED
)
LOGGING;
- Creación de un usuario:
CREATE USER nombre_usuario IDENTIFIED BY contraseña
DEFAULT TABLESPACE datos_tbs
TEMPORARY TABLESPACE temp_tbs
QUOTA UNLIMITED ON datos_tbs;
GRANT CONNECT, RESOURCE TO nombre_usuario;
-
Nota: Por defecto, un usuario no puede hacer nada. Hay que darle permisos con un
GRANT
.
Herramientas de copia de seguridad
- Backup (Herramienta RMAN): Hay algunas otras herramientas de copia de seguridad.
- Oracle Data Pump: Utilidad integrada en Oracle Database que permite exportar e importar datos y metadatos de la base de datos.
- Oracle Secure Backup (OSB): Solución para entornos empresariales.
- Veritas NetBackup for Oracle: Ofrece soluciones de copia de seguridad y recuperación.
Miscelánea
- Lenguaje de procedimientos almacenados: PL/SQL.
- Columnas autoincrementales: Create sequence.
-
Creación de sinónimos:
- Es un objeto de base de datos que proporciona una referencia alternativa a otro objeto existente. (Para que otro usuario de la aplicación (ej: nominas_lector) vea las tablas de otro (ej: nominas_owner)).
- Es como un enlace a la otra tabla.
- Ejemplo:
CREATE SYNONYM nombre_del_syn FOR esquema.objeto; GRANT SELECT ON nombre_del_syn TO nombre_usuario;
- Solución de clúster: RAC (el que nos da la alta disponibilidad).
- Vistas materializadas: Cuando hay una vista, se ejecuta una SELECT que muestra los datos.
-
Gestores de Almacenamiento:
- InnoDB (ACID): Soporta transacciones, claves foráneas y bloqueos. Garantiza la integridad. Si la aplicación hace un uso elevado de INSERT y UPDATE, habrá un aumento de rendimiento con respecto a MyISAM.
- MyISAM (NO ACID): Ideal para consultas tipo SELECT. Soporta índices de texto completo (FULLTEXT indexes). Soporta datos de tipo GIS.
- ISAM: (indexed sequential access method) Es un método para crear, mantener y manipular archivos de datos para que los registros se puedan recuperar secuencial o aleatoriamente mediante una o más claves. MySQL implementa ISAM, pero lo extiende a MyISAM.
- Aria: Similar a MyISAM, desarrollado por MariaDB. Recomendable para aplicaciones en las que predominan las sentencias SELECT ante los INSERT/UPDATE.
- Otros motores en MariaDB: Spider, ColumnStore, Memory, CSV, Merge, Archive, Blackhole, Federated.
Crear tablas en MyISAM
CREATE TABLE nombres (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(255) NOT NULL,
edad INT UNSIGNED DEFAULT NULL,
fecha_nacimiento DATE DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Este cuestionario explora las funciones y responsabilidades de los administradores de bases de datos (DBA). Se abordarán temas como la instalación de SGBD, el diseño de bases de datos y las estrategias de particionamiento. Ideal para estudiantes y profesionales en el área de gestión de datos.