Bases de Datos: MySQL y PostgreSQL
18 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

¿Qué método utiliza MySQL para crear y manejar archivos de datos?

  • HDFS
  • SQL
  • NFS
  • ISAM (correct)
  • ¿Cuál es el nombre del motor de almacenamiento desarrollado por MariaDB similar a MyISAM?

  • InnoDB
  • Aria (correct)
  • MyISAM
  • MongoDB
  • El motor Aria de MariaDB soporta atomicidad.

    False

    ¿Qué tipo de nodos permite a las aplicaciones conectarse al clúster en MySQL?

    <p>Sql Nodes</p> Signup and view all the answers

    ¿Cuál es el archivo que define cómo se realizará la autenticación en PostgreSQL?

    <p>pg_hba.conf</p> Signup and view all the answers

    ¿Qué comando se utiliza para hacer una copia de seguridad de todas las bases de datos en MySQL?

    <p>mysqldump --all-databases</p> Signup and view all the answers

    ¿Cuál es el puerto por defecto utilizado por PostgreSQL?

    <p>5432</p> Signup and view all the answers

    El método para manejar las transacciones en PostgreSQL que garantiza la durabilidad es conocido como ______.

    <p>WAL (Write Ahead Log)</p> Signup and view all the answers

    ¿Cuáles son las responsabilidades de un administrador de bases de datos (DBA)? (Seleccione todas las que apliquen)

    <p>Copia de seguridad y recuperación de datos</p> Signup and view all the answers

    ¿Qué es un 'sharded cluster'?

    <p>Un conjunto de servidores que contienen la totalidad de un conjunto de datos, repartidos en varios servidores.</p> Signup and view all the answers

    Un DBA no necesita monitorear el rendimiento de la base de datos.

    <p>False</p> Signup and view all the answers

    Asocie los componentes de Oracle con sus respectivas descripciones:

    <p>PGA = Zona de memoria para datos de un proceso servidor específico SGA = Zona de memoria que guarda datos globales de la instancia DBWn = Responsable de escribir buffers modificados en disco CKPT = Escribe checkpoints en los archivos de control</p> Signup and view all the answers

    Un ______ es una unidad lógica de almacenamiento en una base de datos Oracle.

    <p>segmento</p> Signup and view all the answers

    ¿Cuál es el puerto utilizado por defecto para conectarse a un servidor Oracle?

    <p>1521</p> Signup and view all the answers

    ¿Qué tipo de tablas en MySQL proporciona soporte para transacciones y claves foráneas?

    <p>InnoDB</p> Signup and view all the answers

    La herramienta de respaldo en Oracle llamada ______ permite realizar exportaciones e importaciones de datos.

    <p>Data Pump</p> Signup and view all the answers

    Las columnas de autoincrementales en SQL Server se llaman 'identity'.

    <p>True</p> Signup and view all the answers

    ¿Cuál es el rol con más altos privilegios en SQL Server?

    <p>sysadmin</p> Signup and view all the answers

    Study Notes

    Funciones del DBA

    • Un administrador de bases de datos (DBA) usa software especializado para almacenar y organizar datos.
    • Las funciones del DBA 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.
    • Un Administrador de Base de Datos de Aplicación (ADBA) es responsable de las tareas de la aplicación relacionadas con una aplicación específica. Esto incluye la creación de objetos de base de datos, instantáneas, ajuste de SQL, etc.

    Listado de tareas del administrador de base de datos

    • Instalación y actualización del SGBD: Instalar y actualizar el sistema de gestión de bases de datos (SGBD).
    • Diseño y implementación de la base de datos: Cuidar el diseño e implementación de la base de datos.
    • Establecimiento de políticas de almacenamiento:
      • Definir las políticas y necesidades de almacenamiento.
      • Considerar que los índices ocupan espacio.
      • Implementar estrategias para gestionar el almacenamiento en tablas muy pesadas como el particionamiento y el sharding.
      • Particionamiento: Divide las tablas lógicamente en partes más pequeñas para mejorar el rendimiento y la gestión del espacio.
      • Sharding (fragmentación): Divide las bases de datos grandes en bases de datos más pequeñas para aumentar la capacidad de almacenamiento y la rapidez. Permite el escalado horizontal, donde la información se puede distribuir en varios servidores, cada uno con una parte del conjunto total de datos.
    • Creación de políticas de backup y restauración: Definir y implementar políticas de copia de seguridad y recuperación de datos.
    • Planificación del crecimiento: Anticipar y planificar el crecimiento de la base de datos (planificación de capacidad).
    • Establecimiento de mecanismos de seguridad:
      • Disponibilidad/HA: Implementar mecanismos para garantizar la alta disponibilidad y redundancia de la base de datos.
      • Vistas/Permisos: Crear vistas y controlar los permisos para asegurar la seguridad de los accesos y la información.
    • Implementación y mantenimiento del diseño de la base de datos: Implementar y mantener el diseño de la base de datos.
    • Monitorización y optimización del rendimiento:
      • Supervisar el rendimiento de la base de datos.
      • Utilizar herramientas como Explain Plan para analizar las consultas y detectar posibles cuellos de botella.
      • Aplicar estrategias para optimizar las consultas, como el uso de índices agrupados (Clustered Index Scan).
      • Crear un árbol B+ para gestionar los índices.
    • Creación de usuarios: Crear usuarios de la aplicación (no usuarios nominales).
    • Script de creación y carga de la base de datos: Crear scripts para la creación y carga de la base de datos.
    • Implementación y mantenimiento de la seguridad de la base de datos: Crear y mantener usuarios y roles, y asignar privilegios.
    • Soporte a desarrollo:
      • Definir los esquemas de la base de datos.
      • Implementar restricciones y integridad de datos.
    • Configuración y mantenimiento de la documentación y los estándares: Documentar y mantener los estándares de la base de datos.

    Responsabilidades del ADBA

    • Crear objetos de base de datos (tablas, índices, etc.).
    • Escribir procedimientos de base de datos, funciones y disparadores.
    • Ayudar a los desarrolladores con las actividades de la base de datos.
    • Ajustar las consultas de la base de datos.
    • Supervisar los trabajos relacionados con la aplicación y las actividades de replicación de datos.

    Administración Oracle

    • Un servidor Oracle está formado por:
      • Instancia de Oracle: Conjunto de procesos y estructuras de datos en memoria que requiere el servidor cuando está en funcionamiento.
      • Archivos de la base de datos: Los archivos físicos que contienen los datos de la base de datos.
    • Arquitectura de Oracle:
      • Cuando se crea una instancia de Oracle, se crea una sola base de datos, que contiene diferentes aplicaciones.
      • Instancia (puerto 1521, reemplazado por 2483): Actúa como el gestor de la base de datos.
      • Listener: Proceso servidor que proporciona la conectividad de red con la base de datos Oracle. Escucha las conexiones en un puerto específico.
      • PGA (Program Global Area): Zona de memoria que contiene los datos relacionados con un proceso servidor concreto. Proporciona acceso al SGA.
      • SGA (Server Global Area): Zona de memoria (caché) que guarda los datos globales de la instancia. Contiene diferentes caches como el diccionario de datos, REDO LOG, buffer de datos y Shared Pool.
      • REDOL LOG (Circular): Registra los cambios realizados en la base de datos (DML confirmados y DDL).
      • Procesos: Módulos con funcionalidades específicas como DBWn, CKPT, LGWR, PMON, SMON, RECO, MMON, MMNL, CJQ0, Jnnn, FBDA.

    Estructura y Lógica de Almacenamiento en Oracle

    • Relación 1-N: Oracle implementa una relación 1-N entre la estructura lógica y la física.
    • Separación de estructura lógica de la física: La estructura lógica de la base de datos se separa de la estructura física.
    • Archivo de datos (datafile): Almacena los datos físicamente.
    • Tablespace: Ubicación lógica de almacenamiento para objetos de la base de datos, como tablas, índices, etc.
      • Actúa como una capa de abstracción entre los datos físicos y lógicos.
      • Se utiliza para asignar espacio para todos los segmentos administrados.
      • Se almacena físicamente en uno o varios archivos de datos ("datafiles").
    • Segmento: Unidad lógica de almacenamiento en una base de datos Oracle. Se dedica a un objeto de la base de datos, como una tabla, un índice o una vista materializada.
    • Extensión: Unidad física de almacenamiento a nivel del sistema de archivos. Se utiliza para organizar y gestionar el almacenamiento de datos.
    • Bloque: Unidad básica de almacenamiento en Oracle. Es un múltiplo del bloque del sistema operativo.

    Creación de un tablespace para índices

    • Gestión del espacio: Permite una mejor gestión del espacio y la asignación de recursos.
    • Optimización del rendimiento: Ajuste de tablespace para satisfacer las necesidades de rendimiento de los índices.
    • Administración de almacenamiento: Proporciona una capa adicional de organización para la administración del almacenamiento.
    • Separación de datos e índices: Mejor eficiencia en operaciones específicas, como la reconstrucción de índices, ya que no afecta al tablespace de datos.
    • Almacenamiento en dispositivos específicos: Permite asignar tablespaces a dispositivos de almacenamiento específicos.
    • Seguridad y auditoría: Mayor seguridad y control sobre los índices.
    • Nota: Los índices deben ir en la parte de almacenamiento más rápida.

    Herramientas de backup en Oracle

    • RMAN (Recovery Manager): Utilidad poderosa para realizar copias de seguridad, recuperación y otras tareas de administración.
    • Oracle Data Pump: Utilidad integrada para exportar e importar datos y metadatos de la base de datos.
    • Oracle Secure Backup (OSB): Solución para entornos empresariales.
    • Veritas NetBackup for Oracle: Solución de backup y recuperación de datos.

    Otros conceptos en Oracle

    • Lenguaje de procedimientos almacenados: PL/SQL
    • Columnas autoincrementales: se utilizan secuencias (create sequence).
    • Creación de sinónimos:
      • Un sinónimo proporciona una referencia alternativa a un objeto existente.
      • Permitir que un usuario vea las tablas de otro usuario.
      • Se debe dar permiso al usuario que utiliza el sinónimo (GRANT SELECT).
    • Solución de cluster: RAC (Real Application Clusters).
    • Vistas materializadas:
      • Se utiliza para almacenar el resultado de una consulta en caché.
      • Reduce la necesidad de ejecutar consultas repetidas.
      • Se puede definir una política de refresco para mantener los datos actualizados.
    • Oracle XE: Versión gratuita de Oracle Database.

    Administración SQL Server

    • Puerto: 1433
    • Columnas identity: Se utiliza para gestionar las columnas autoincrementales.
    • Roles:
      • sysadmin: Rol más alto con todos los privilegios de administración del sistema.
      • sa: Cuenta de inicio de sesión predeterminada que se crea durante la instalación de SQL Server.
    • Base de datos: SQL Server puede tener varias bases de datos, como por ejemplo, la base de datos de vacaciones, nóminas, etc.
    • Cliente de administración: SSMS (Management Studio).
    • File Groups: Equivalentes a los datafiles en Oracle, sin pasar por el tablespace.
      • Log Files (.ldf): Archivos que almacenan el registro de transacciones.
      • Primary Data Files (.mdf): Archivo principal que contiene la base de datos.
      • Secondary Data Files (.ndf): Archivos adicionales que se utilizan para almacenar datos.

    Administración MySQL/MariaDB

    • Puerto: 3306
    • Licencias:
      • MySQL: GPL y propietario.
      • MariaDB: Open Source.

    Gestores de Almacenamiento en MySQL/MariaDB

    • Tipo de tablas:
      • InnoDB: Soporte para transacciones, claves foráneas y bloqueos de registros.
        • Garantiza la integridad de la base de datos.
        • Soporta bloqueos de fila.
        • Rendimiento mejorado para operaciones INSERT y UPDATE.
      • MyISAM: Ficheros secuenciales indexados.
        • No es transaccional.
        • No soporta claves foráneas.
        • Soporta índices de texto completo.
        • Soporta tipo de datos GIS.
        • Bloqueo a nivel de tabla.
        • Genera 3 archivos: frm, myd, myi.
      • ISAM: Similar a MyISAM pero implementado por IBM.
      • Aria: Motor de almacenamiento desarrollado por MariaDB.
        • Se utiliza en la versión 10.4 de MariaDB para las tablas internas.
        • Recomendable para aplicaciones con muchas consultas SELECT.
        • No soporta comprobaciones de integridad referencial ni bloqueo de tablas.
        • Alta velocidad.

    Soluciones de HA en MySQL/MariaDB

    • Replicación master-slave:
      • Un nodo actúa como maestro y los demás como esclavos.
      • El maestro registra las sentencias que recibe en un log (Binlog).
      • Los esclavos replican los datos desde el Binlog.
      • Configuración asíncrona: Los slaves replican el log en otro log llamado relay log.
    • Cluster:
      • Activo-activo.
      • Se utiliza un cluster de servidores para garantizar la alta disponibilidad.

    Otros motores de almacenamiento en MariaDB

    • Spider
    • ColumnStore
    • Memory
    • CSV
    • Merge
    • Archive
    • Blackhole
    • Federated

    MariaDB Distribuida

    • Los nodos Sql permiten a las aplicaciones conectarse al clúster y ejecutar consultas SQL.
    • El nodo coordinador maneja la gestión del clúster.
    • Los nodos de gestión son responsables de la administración y el monitoreo del clúster.
    • Los nodos de servicio almacenan datos en memoria y proporcionan acceso a los datos para las consultas.
    • ndbd es el demonio que se ejecuta dentro de los DataNodes para escribir o leer información.
    • ndb es un motor de almacenamiento.

    Configuraciones MariaDB

    • El archivo my.cnf contiene enlaces a directorios donde se encuentra la configuración detallada.
    • La configuración se encuentra en los directorios conf.d y mariadb.conf.d.
    • Se puede encontrar configuración adicional en el archivo 50-server.conf.

    Copia de seguridad y restauración en MariaDB

    • mysqldump es una utilidad de línea de comandos para realizar copias de seguridad de bases de datos MySQL.
    • Genera un archivo con los inserts necesarios para restaurar la base de datos.
    • La opción --add-drop-database agrega la instrucción DROP DATABASE al inicio del archivo de respaldo.
    • La opción --add-drop-table agrega la instrucción DROP TABLE antes de cada creación de tabla.
    • La opción --complete-insert utiliza la sintaxis completa de INSERT para cada fila.
    • Para restaurar un respaldo se utiliza el comando mysql -u usuario -p contraseña nombre_de_la_base_de_datos < backup.sql.
    • LOCK TABLES y UNLOCK TABLES se utilizan para bloquear/desbloquear una tabla durante la realización de cambios.

    Postgres

    • Postgres utiliza el puerto 5432.
    • Se crean bases de datos y esquemas (organización lógica de las tablas) de forma independiente.
    • La seguridad de los usuarios se basa en Roles, que pueden ser usuarios o grupos de usuarios.
    • El archivo pg_hba.conf define la autenticación y las conexiones permitidas.
    • Las tablas se pueden particionar, por ejemplo, por fecha.
    • Postgres admite el concepto de tablas heredadas (INHERIT).
    • La seguridad a nivel de fila (RLS) permite definir qué usuarios o grupos pueden ver las filas de una tabla.
    • Postgres admite procedimientos almacenados en diferentes lenguajes, incluyendo PL/TCL, PL/Perl, PL/Python.
    • La replicación de Postgres se realiza a través de los archivos WAL (Write Ahead Log) que se envían del máster al esclavo.
    • Postgres utiliza un modelo de concurrencia avanzada (MVCC) que reduce los bloqueos.

    Herramientas de línea de comandos de Postgres

    • createdb y dropdb se utilizan para crear y eliminar bases de datos.
    • createuser y dropuser se utilizan para crear y eliminar usuarios.
    • pg-dump genera una copia de seguridad de una base de datos.
    • psql se utiliza para restaurar una copia de seguridad.
    • pg-dump-all genera una copia de seguridad de todas las bases de datos.
    • vacuumdb limpia y analiza una base de datos para recuperar almacenamiento de tuplas muertas.
    • reindexeddb reindexa una base de datos.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    Description

    Este cuestionario evalúa tus conocimientos sobre bases de datos, centrándose en MySQL y PostgreSQL. Se abordan temas como motores de almacenamiento, administración de datos y autenticación. Prepárate para poner a prueba tu comprensión de estos sistemas de gestión de bases de datos.

    More Like This

    Use Quizgecko on...
    Browser
    Browser