Tema 2 Admin BBDD Flashcards
¿Significado de DBA?
Administrador de base de datos.
Funciones del DBA
- Instalación y actualización del SGBD
- Establecer la política y necesidades de almacenamiento. Particionamiento.
- Creación de políticas de backup y restauración.
- Establecimiento de mecanismos de seguridad. Disponibilidad/HA. Vistas/permisos
- Monitorización y optimización del rendimiento. EXPLAIN PLAN.
- Creación de BBDD. Script de creación/carga. Soporte a desarrollo. Esquemas, restricciones, integridad.
- Creación/Definición de usuarios/roles
- Documentación.
¿Qué es SHARDING en MONGODB?
- REPARTIR FÍSICAMENTE LA INFO DE LA DDBB, ENTRE VARIOS NODOS.
Explain Plan
Son los pasos que sigue el motor de ejecución de queries, para ejecutar una query.
¿Qué es FULL SCAN en las BBDD?
- SE RECORRE TODA LA TABLA, PORQUE NO TENEMOS UN ÍNDICE PARA BUSCAR.
- TAMBIÉN SE USA PARA RESOLVER LA FRAGMENTACIÓN.
¿Qué se usa para hacer índices en BBDD?
Árboles B
Esquema de BBDD ORACLE
¿En ORACLE, qué es SEGMENTO?
Los Tablespaces, se dividen en SEGMENTOS, estos en EXTENSIONES y las extensiones, en BLOQUES.
Estructura LÓGICA del almacenamiento de ORACLE.
BTSEB
- BASE DE DATOS
- TABLESPACES, guarda muchas cosas -> DATAFILES, es la parte física.
- SEGMENTOS
- EXTENSIONES, una o varias.
- BLOQUES
¿Qué es una Datafile?
- Es la representación física de un Tablespace.
- Un Datafile, solo pertenece a un Tablespace
- Un Tablespace puede tener más de un Datafile.
Tablespaces por defecto de Oracle:
- Users.
- System. Por ejemplo almacena el Diccionario de datos.
- Sysaux. Por ejemplo almacena el Enterprise Manager
El rol de CONNECT, a partir de la versión 10, que único privilegio da??
El de CREATE SESSION
Herramientas de backup de Oracle:
- RMAN : Recovery Manager
- DATA PUMP: exportación/backup e importación/restauración
Lenguaje de procedimientos almacenados en Oracle:
- PL/SQL
- Lenguaje de programación incrustado en Oracle.
- SE EJECUTA EN EL SERVIDOR
- ES LA IMPLEMENTACIÓN DE SQL/PSM
Columnas autoincrementales en Oracle:
Create sequence
Se incrementa secuencialmente cada vez que se consulta.
Para permitir que otro usuario pueda ver una tabla que no está en nuestro esquema, se usa?
Create synonym
+
Grant Select
Solución de cluster de Oracle:
RAC
Real Application Clusters
Vistas Materializadas Oracle:
Create Materialized view
Es una vista de datos que no cambian con frecuencia.
Es como una foto.
Herramienta de administración de SQL SERVER:
SQL Server Management Studio (SSMS)
Gestor gratuito de Oracle para SQL:
Oracle Database Express Edition (XE).
Equivalente de Datafiles de ORACLE en SQL SERVER.
Filegroups.
3 tipos de Filegroups de SQL SERVER:
- Primary Data Files (.mdf)
- Secondary Data Files (.ndf)
- Log Files (o Registro de Transacciones) (.ldf)
Características de MYSQL/MaríaDB:
- Puerto 3306
- Hay dos versiones MySQL y MaríaDB
- Hace uso de dos motores de almacenamiento: InnoDB (ACID) y MyIsam (Acceso Secuencial Indexado), no transaccional.
Tres archivos que crea MyIsam:
- .frm para formato tabla
- .myd para datos
- .myi para indices
Características de InnoDB:
- Soporta transacciones de tipo ACID
- Bloqueo de registros
- Integridad referencial
Soluciones de Alta Disponibilidad (HA) en MySql.
- Replicación (Master-Slave), algoritmo PAXOS
- Cluster (sql Nodes+Data Nodes)
Características de POSTGRESQL
- Puerto 5432
- Hay BBDD y SCHEMAS
- Toda la seguridad de usuarios se basa en roles.
- Se pueden particionar tablas.
- Multiples lenguajes SQL/PSM:
– PL/pgSQL
– PL/TCL
– PL/PERL
– PL/PYTHON - Herencia de tablas
- MVCC (gestión de concurrencia)
RLS
Row Level Security
Seguridad basada en filas.
Se usa en SQL Server.
Puertos que usan los SGBD más usados:
- PostgreSQL ==>5432
- SQL ==>1433
- Oracle ==>2483. Antes 1521
- MySql ==>3306
Cuatro características de MyIsam:
- No soporta transacciones (ACID)
- No soporta forein keys
- Si soporta FULL-TEXT
- Acceso Secuencial Indexado
Recomiendan usar el nuevo motor ARIA
NDB Cluster
- PERMITE LA DISTRIBUCIÓN DE LA BBDD EN MYSQL.
¿Qué es un árbol B?
- Es un árbol balanceado de búsqueda
- Puede tener más de dos hijos.
- Se usan en las BBDD y SISTEMAS DE ARCHIVOS.
- Mantienen los datos ordenados.
¿Qué son TRANSACCIONES ACID?
Son las siglas de :
1. Atomicity (Atomicidad) -> Implica que se hacen todas las acciones requeridas en la transacción o ninguna, nunca se hace a medias. O TODO O NADA.
2. Consistency (INTEGRIDAD)-> Se mantiene la integridad de la información, al inicio, durante y al final de la transacción.
3. Isolation (AISLAMIENTO)-> El motor de la BBDD debe poder procesar las transacciones sin que sean visibles unas por otras en cualquier punto del proceso.
4. Durability (PERSISTENCIA)-> Una vez hecha la transacción, los datos son permanentes.
Características sobre Oracle
- Oracle, solo tiene una Base de Datos, que engloba absolutamente todo.
- Puerto 1521 (Antiguo), 2483 (Nuevo)
- La aplicación de usuario al conectarse con la BBDD, usa el driver de JDBC, para conectarse con un proceso en el servidor, que es el que le va a atender, que se llama PGA (Program Global Area) o LISTENER.
- Después del PGA, dentro de la BBDD, está el SGA, Server Global Area, que contiene las tripas de Oracle, caches y procesos.
- Dentro de SGA, un par de procesos que hay que saber son DBWn (DataBase Writer Process) y LGWR, LoG WriteR Process.
- En ORACLE, los USUARIOS, son los esquemas completos de las TABLAS.
MyISAM vs InnoDB
- MyISAM ES MÁS ANTIGUO y RÁPIDO
- InnoDB SI ADMITE TRANSACCIONES ACID
MOTORES O MECANISMOS DE ALMACENAMIENTO EN LAS BBDD
- MyISAM
- InnoDB
- ARIA
- NDM Cluster
COMANDO PARA INDICAR EL USO DE MYISAM o INNODB EN LAS TABLAS DE LA BBDD:
- CON ENGINE
- EJEMPLO: CREATE TABLE t (i INT) ENGINE = MYISAM;
REDO LOG DE ORACLE
- GUARDA TODOS LOS CAMBIOS HECHOS EN LA BBDD.
- LOS GUARDA COMO VECTORES DE CAMBIO
- SI LA BBDD SE ROMPE, LOS REDO LOGS, PUEDEN RECONSTRUIRLA, HASTA EL MOMENTO DEL ÚLTIMO REDO.
TABLESPACES EN ORACLE
- ALMACÉN LÓGICO DE LOS FICHEROS DE LA BBDD
- CONECTA CON LOS DATAFILES (FÍSICOS)
- EL TABLESPACE POR DEFECTO ES SYSTEM
- LOS DATAFILES SOLO PUEDEN PERTENECER A UN TABLESPACE
- HAY QUE CREAR SIEMPRE UN TABLESPACES AL CREAR LA BBDD
USUARIOS POR DEFECTO DE TABLESPACES “SYSTEM” DE ORACLE:
Son los usuarios SYS y SYSTEM
SQL/PSM vs PL/SQL
- SQL/PSM ES EL ESTANDAR ISO PARA PROCEDIMIENTOS ALMACENADOS
- PL/SQL ES LA IMPLEMENTACIÓN DE SQL/PSM
MECANISMOS DE SEGURIDAD EN ADMINISTRACIÓN DE BBDD
- SOLUCIONES DE HA
- ROLES
- PERFILES
- USUARIOS
- VISTAS
Características de SQL SERVER
- SQL sí que tiene varias BBDD
- Tiene 3 tipos de FileGroups:
– Primary Data Files (.mdf)
– Secondary Data Files (.ndf)
– Log Files (o Registro de Transacciones) (.ldf)
¿Qué es ARIA en BBDD?
Aria es un mecanismo de almacenamiento nativo de la base de datos MariaDB (derivada de MySQL). Su objetivo es el de presentar una alternativa a MyISAM resistente a caídas. Todavía no tiene plenas características transaccionales pero está planeada su evolución en ese sentido.
El objetivo a largo plazo es hacer de Aria el mecanismo de almacenamiento transaccional y no transaccional por defecto de MariaDB. Está siendo desarrollado desde 2007, cuando lo anunció Michael “Monty” Widenius en su blog. Aria también está incluida en Percona Server, otra ramificación de MySQL.