4. Administrar un SGBD¶
4.1. ¿De qué va este tema?¶
En este curso aprenderás a:
Realizar una instalación y configuración (básica) de un SGBD
Conocer las tareas de administración básicas de una BD
Entender las funciones de un administrador de BD (DBA)
Se trata de ser capaces de realizar una administración básica de una base de datos cualquiera. En este tema usaremos tres SGBD muy utilizados (Sqlite , MariaDB y Postgresql ) para tener una idea genérica y transversal de las principales tareas de administración.
4.2. Clases¶
Está organizado en 8 talleres de unas 3 sesiones de clase. En total unas 24 sesiones de clase más tu trabajo en casa.
La dedicación depende del conocimiento previo, motivación y capacidad de aprendizaje del estudiante para esa sesión en concreto.
4.2.1. Sistemas Gestores de bases de datos (Repaso)¶
Repasamos la clase Sistemas Gestores de bases de datos
4.2.2. Administrar un SGBD¶
¿Quien es el responsable? El Administrador (DBA)
Funciones: instalar, configurar y administrar:
El software SGBD en …
una o varias instancias …
y con una o varias BD (o esquemas)
Ojo con las obligaciones legales (sobre los datos y el acceso)
Carrera Profesional (How to become a … ) :
Recomendaciones:
Escoger un SGBD (y usar la documentación oficial)
Aprender SQL (básico y avanzado)
Aprender administración de ese SGBD
Coger experiencia (perfil junior)
Obtener una Certificación y/o adquirir nuevos roles
Salarios (depende)
Ofertas Trabajo:
¿Qué hay que hacer? Muchas cosas, pero por simplificar:
Administrar la infraestructura tecnológica (el sistema base)
Administrar el acceso a los datos (quien, a qué y desde donde)
Administrar la seguridad e integridad de los datos (aspectos técnicos y legales)
Administrar el servicio (rendimiento, acceso, etc) y dar soporte (ayuda a usuarios)
Conceptos Generales de administración de BD y SQL (Database Glossary /PostgreSQL Glossary )
Conceptos Generales
Objetos SQL: Tablas, índices, vistas, disparadores (triggers), funciones, etc
Restricciones (Constraint) a nivel de columna o de tabla
Test ACID: soporte transaccional
Consultas y Subconsultas (Query / Multi-row_subquery)
Particionado (Tablespace): misma BD (o esquema) en diferentes sistemas de almacenamiento físico
Componentes y Funciones del SGBD
Query Planner (Planificador de consultas)
Estándar SQL (listado)
Concurrencia y bloqueo (Lock)
Programación: funciones, procedimientos almacenados, etc
Motor de Almacenamiento
Mecanismo de Almacenamiento
Disaster Recovery
Replicación: copias y sincronización de una BD en diferentes instancias
Business Intelligence (BI): análisis de datos para toma de decisiones
Licencia de Uso (y su importancia)
Leer Material
Revisa la documentación propuesta con el nivel de profundización en el que estamos (curso inicial de BD en FP, no un doctorado). Los conceptos son los mismos, pero el nivel de profundización para un diseño complejo es lo que cambia.
Una buena propuesta y muy completa de carrera profesional de un DBA está descrita en PostgreSQL DBA Roadmap . Ser DBA (a nivel profesional) implicaría responder (y saber implementar) preguntas de este estilo:
Explicar los diferentes tipos de objetos en una BD
Tener claros los conceptos del modelo relacional
¿Qué sería una transacción? ¿Qué es eso de ACID?
¿Qué es la concurrencia y el bloqueo?
Diferentes conceptos de SQL (lenguajes DDL, DML, DCL y DTL)
¿Qué es la replicación o la recuperación por fallo?`
¿Qué es la autenticación basada en cliente? ¿Y en host?
¿Sobre qué infraestructura voy a desplegar mi SGBD?
¿Qué es eso de la alta disponibilidad?
¿Cómo realizo actualización y migración de los datos?
4.2.3. El SGBD Sqlite (Repaso)¶
Repasamos la clase El SGBD Sqlite
4.2.4. Administración básica de Sqlite¶
Documentación de Referencia:
Uso de comandos sqlite (dot commands ).
Se ven todos con uno de ellos:
.help
La configuración en sí, es usando estos comandos (por ejemplo como se muestran los datos, vía
.mode
o guardar en un archivo, vía.output
)
Importar / Exportar:
Archivo .db (base de datos autocontenida). Se puede abrir con
.open base_de_datos.bd
o directamente.Archivo .sql (exportar esquema y contenido).
Exportar esquema (
.schema
) a un archivo (vía.output
)Exportar la BD completa (esquema + contenido) vía
.dump
Importar esquema (cargando comandos SQL vía
.read
)Se puede exportar también a tabla csv (exportar csv )
Uso de archivos CSV (importar CSV en sqlite ):
Activar modo CSV
Revisar el archivo CSV por si hay alguna inconsistencia (campos, texto, delimitadores, etc)
Importar archivo csv (vía
.import
) o …Crear la tabla e importar el archivo (eliminar campos de encabezado)
Curso completo de una hora (instalación y consultas):
Administrar SQLite
Usar SQLite en la práctica Administrar un SGBD (Cualquiera) (instalación, creación y Administración)
4.2.5. El SGBD MariaDB (o MySQL)¶
Es uno de los SGBD más usados en sitios (aplicaciones) web
Es básicamente MySQL (Compatibility ) pero resolviendo el problema de la licencia (y control) del desarrollo
Permite diferentes motores de almacenamiento (nivel físico)
Tiene una funcionalidad muy completa
Un archivo de configuración principal:
my.cnf
(ejemplo ).Proceso estándar de instalación:
Descargas e instalas (depende de tu sistema)
Aseguras la instalación (localhost, ojo en configuración LAN o WAN):
Definimos el usuario administrador (y le ponemos clave)
Quitamos el acceso anónimo (y cualquier usuario no administrador)
El acceso sería sólo desde localhost
Es decir la conexión necesitará generalmente: el host, el puerto, el usuario, la contraseña y la base de datos
Revisas el archivo de configuración (recuerda reiniciar el servicio si modificas la configuración)
Ves si ya hay bases de datos creadas (Revisar información )
Creas una base de datos de prueba
Instalar MariaDB
Usar MariaDB en la práctica Administrar un SGBD (Cualquiera) (instalación, creación y Administración)
4.2.6. Administración básica de MariaDB¶
Documentación de Referencia:
Administrar MariaDB
Usar MariaDB en la práctica Administrar un SGBD (Cualquiera) (instalación, creación y Administración)
4.2.7. El SGBD PostgreSQL¶
Relacional y orientada a objetos (ORDBMS )
Muy completa, fiable, con muy buen rendimiento, alta concurrencia y libre
Muy buen soporte y documentación muy completa
Es muy extensible (un muy buen ejemplo es PostGIS )
Arquitectura Cliente (p.ej psql pero hay muchos) / Servidor (varios procesos) con configuración muy personalizada. Es un software complejo (y potente)
Instalar PostgreSQL
Usar PostgreSQL en la práctica Administrar un SGBD (Cualquiera) (instalación, creación y Administración)
4.2.8. Administración básica de PostgreSQL¶
Documentación de Referencia:
Curso Completo (14 videos sencillos) de Postgres para principiantes :
Instalar PostgreSQL
Usar PostgreSQL en la práctica Administrar un SGBD (Cualquiera) (instalación, creación y Administración)