BLOQUE 4 - TEMA 2 - Admin BBDD y Virtualizacion Flashcards
Qué es el sharding ?
Distribuir un gran conjunto de datos en varias bases de datos
(se basa en el concepto de escalado horizontal)
Que puerto utiliza el listener de oracle ?
1521
(El listener es responsable de proporcionar la conectividad de red con la base de datos Oracle)
Que es UNDO TBS1 ?
Es un tablespace por defecto que utiliza oracle, sirve para retener los cambios que se realizan sobre los datos en Oracle y asi poder deshacerlos.
Qué es un usuario en Oracle ?
un schema
(sin usuario no hay tablas)
Cual es la cuenta/usuario principal en oracle ?
sys
(no confundir con sa, sysdba, system…estas otras tienen menos privilegios en realidad)
nota: sa por ejemplo es la cuenta de inicio de sql server que se genera con la instalacion, y que tiene el rol de systemdb
Como se llama la distribucion de Oracle gratuita ?
Oracle XE
Que puerto utiliza SQL Server ?
1433
Como se llaman en SQL Server las columnas autoincrementales ?
Columnas identity
Que puerto utiliza MariaDB?
3306
En que directorio por defecto de unix está MariaDB ?
/etc/mysql
Como se llama el archivo de configuracion de MariaDB ?
my.cnf
Con que comando de MariaDB nos muestra la base de datos?
show database
Como se llama la utilidad de MySQL para hacer copias de seguridad ?
mysqldump
comando para copiar todas las bbdd;
mysqldump -u usuario -p contraseña –all-databases > backup.sql
Cual es el puerto que utiliza la bbdd postgre ?
5432
Como se llama el fichero de configuracion de la bbdd Postgre ? (T)
postgresql.conf
Comandos para crear y borrar una bbdd postgre ?
createdb/dropdb
Comandos para crear y borrar usuarios en una bbdd postgre ?
createuser/ dropuser
Comando para restaurar una bbdd postgre ? (T)
psql nombre-bd< fichero.bkp (restaurar)
Comando para hacer backup de una bbdd postgre ?
pg-dump nombre-bd > fichero.bkp (backup)
Que es vmware y que hay en los ficheros .vmx ?
software virtualizacion
en el fichero está la configuracion de la maquina virtual
Que es virtual box y que hay en los ficheros .vdi, .vbox y .ova ?
software virtualizacion
los ficheros tienen:
- vdi -> formato disco virtual
- vbox ->configuracion maquina virtual
- ova -> encapulsa una maquina virtual completa
Que es hipervisor y cuantos tipos hay ?
Un hipervisor es un software que crea y ejecuta maquinas virtuales.
hay 2 tipos:
- Hipervisor tipo 1 (bare metal) - se instala directamente en el hardware fisico de un servidor
- Hipervisor tipo 2 (host) - se ejecuta en un sistema operativo host como windows o linux
Que es docker ?
Plataforma de software que permite crear, ejecutar y gestionar contenedores.
Con qué comando generamos una imagen docker ?
docker build -t etiqueta
Con qué comando levantamos un contenedor de docker a partir de una imagen ?
docker run -name mssql01 -d etiqueta -p 1433:1433
Que es IaaS ? nombra algún ejemplo de plataforma
Infraestructure as as service
AWS
Azure
Google Cloud
Red Hat Openstack
Que es PaaS ? nombra algún ejemplo
Plattform as a service
Openshift
Heroku
CloudFoundry
Qué es Saas? nombra algun ejemplo
Software as a service
Gmail
Qué contiene una imagen de docker ?
Código Fuente +
Configuración +
Dependencias +
Entorno de ejecución
Qué es enjaular un proceso ?
Enjaular un proceso se refiere a la práctica de aislar un proceso en un entorno controlado y restringido para mejorar la seguridad y la gestión de recursos.
Esto se puede lograr mediante varias técnicas, como el uso de contenedores, máquinas virtuales o entornos chroot
Qué haría este comando ?
sudo chroot /mnt/chroot /bin/bash
El comando sudo chroot /mnt/chroot /bin/bash hace lo siguiente:
- sudo: Ejecuta el comando con privilegios de superusuario.
- chroot /mnt/chroot: Cambia el directorio raíz del proceso actual al directorio /mnt/chroot. Esto significa que el proceso y cualquier proceso hijo verán /mnt/chroot como su directorio raíz /.
- /bin/bash: Inicia una nueva instancia del shell Bash dentro del nuevo entorno raíz.
En resumen, este comando cambia el entorno raíz del sistema al directorio /mnt/chroot y luego inicia una sesión de Bash en ese entorno. Esto es útil para crear un entorno aislado para pruebas o para recuperar un sistema dañado.
Qué es la deduplicación ? (T)
La deduplicación de datos es un proceso de optimización que consiste en eliminar las copias redundantes de datos
Por ejemplo en un contexto de dockerfile, intentar reutilizar lo que ya tenemos. no genero dos capas, si se que hay dos capas iguales, me quedo con una y la reutilizo
En docker, que diferencia hay entre CMD y EntryPoint ? (T)
Si en el dockerfile:
- solo se especifica un CMD: Docker ejecutará ese comando usando el entrypoint por defecto /bin/sh -c
- Si se especifican ambos,
El ENTRYPOINT especifica el ejecutable que usará el contenedor,
y CMD se corresponde con los parámetros a usar con dicho ejecutable.
Con qué comando se borra un contenedor de docker ?
docker rm (contenedor)
Como se comunican los microservicios entre si ?
Se comunican por HTTP
Qué es GraphQL ? (T)
GraphQL es un lenguaje de consulta para APIs y un tiempo de ejecución del servidor que permite a los clientes solicitar exactamente los datos que necesitan y nada más. Fue desarrollado por Facebook
GraphQL es especialmente útil en el desarrollo de aplicaciones web y móviles, así como en arquitecturas de microservicios2.
Nombra algunos software o fabricantes de brokers de mensajes. (T)
Apache Kafka
RabbitMQ
Active MQ
Google Cloud Pub/sub
Que es un APIGateway ?
es un servidor que actúa como intermediario entre los clientes y un conjunto de servicios backend
componente crucial en la arquitectura de microservicios
Nombra algun framework para microservicios
Spring Boot (para app java)
Spring Cloud (para aplicaciones distribuidas)
Quarkus
Micronaut
Este comando, genera y ejecuta un contenedor llamado hello-world
“docker run hello-world”
es correcto ? SI / NO
No, docker run NO genera la imagen, solo la ejecuta.
Para poder correrla, tendremos que haberla construido antes con un docker build
Que es CaaS ?
Contenedores como servicio
Que es KaaS ?
Kubernetes como servicio
Si estamos diseñando microservicios, tendremos que aplicar las maximas restricciones a los mismos, o tendremos que hacerlos ‘abiertos’ ?
en el mundo de los microservicios hay que dar los minimisimos privilegios posibles
Que es el back-off exponencial ?
Es una tecnica para gestionar reintentos. De manera que, por ejemplo, la primera se reintenta al segundo, la siguiente a los 10 segundos, la siguiente a los 30 segundos…
el tiempo va aumentando exponencialmente
Como se llaman las dos grandes estructuras de almacenamiento de una bbdd Oracle ?
- PGA (program global area) : Es el servidor, atiende las peticiones)
- SGA (server global area) : zona memoria cache donde se guardan los datos globales de la instancia de bbdd
Nombra algunos tablespaces por defecto de Oracle (T)
- USER (esquemas)
- SYSTEM, objetos del sistema
- SYSAUX componentes adicionales
- UNDO_TSB1 (para retener los cambios y poder deshacerlos)
- TEMP
Cual es la cuenta (usuario) principal de oracle ?
SYS
(que no sa, ojo, es SYS)
Con que comando podemos saber si la base de datos MariaDB está arriba ? (T)
systemctl status <nombrebbdd></nombrebbdd>
Que es citrix y XenApp ?
Citrix es la empresa. XenApp es un producto de citrix de virtualizacion de aplicaciones (o escritorios)
Que es CRI-O ? (T)
Descripción: Es un runtime de contenedores ligero diseñado específicamente para Kubernetes
. Implementa la interfaz de runtime de Kubernetes (CRI) y se centra en la simplicidad y la robustez
.
Uso: Se utiliza principalmente en entornos Kubernetes para gestionar contenedores de manera eficiente
Que es Containerd ?
Descripción: Es un runtime de contenedores de código abierto que se enfoca en la simplicidad, la robustez y la portabilidad
. Es un proyecto de la Cloud Native Computing Foundation (CNCF)3
.
Uso: Gestiona el ciclo de vida completo de los contenedores, desde la transferencia de imágenes hasta la ejecución y supervisión de contenedores
Que es Podman ?
Descripción: Es una herramienta de código abierto desarrollada por Red Hat para gestionar contenedores, pods, imágenes y volúmenes en sistemas Linux
.
Uso: Ofrece una alternativa sin daemon a Docker, permitiendo la gestión de contenedores de manera más segura y accesible
Que es Docker Compose ? (T)
Es una herramienta que simplifica la definición y gestión de aplicaciones multicontenedor. Te permite utilizar un archivo YAML para definir los servicios, redes y volúmenes que tu aplicación necesita y luego gestionar todo con simples comandos.
Características principales:
Definición de servicios: Con un archivo docker-compose.yml, puedes especificar los contenedores que tu aplicación necesita, sus imágenes, puertos, volúmenes, variables de entorno, y más.
Orquestación: Docker Compose se encarga de levantar todos los contenedores definidos en el archivo de configuración, coordinándolos para asegurar que se ejecutan correctamente juntos.
Comandos fáciles: Usa comandos simples como docker-compose up para iniciar tu aplicación y docker-compose down para detenerla y eliminar los contenedores
Ejemplo básico de un archivo docker-compose.yml:
version: ‘3’
services:
web:
image: nginx
ports:
- “80:80”
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: example
Este archivo define dos servicios: uno para NGINX y otro para MySQL. Puedes levantar ambos servicios con un solo comando: docker-compose up.
¿Cuál de los siguientes NO es un tipo de hipervisor?
a) Tipo 1 (bare metal)
b) Tipo 2 (hosted)
c) Tipo 3 (híbrido)
d) Ninguna de las anteriores
C
Tipo 3 (híbrido)
Recuerda: los hipervisores son como los cimientos de un edificio, hay dos tipos principales, uno directo sobre el terreno (bare metal) y otro sobre una plataforma (hosted)
Qué es un contenedor en el contexto de la virtualización ligera?
a) Una máquina virtual completa con su propio sistema operativo
b) Una partición del disco duro que almacena datos de aplicaciones
c) Una instancia aislada de un entorno operativo que comparte el kernel del sistema host
d) Un archivo comprimido que contiene una aplicación y sus dependencias
C
Una instancia aislada de un entorno operativo que comparte el kernel del sistema host
Los contenedores son entornos ligeros que comparten el kernel del sistema operativo host, lo que los hace más eficientes que las máquinas virtuales tradicionales. Recuerda: los contenedores son como apartamentos en un edificio, comparten recursos comunes (el kernel) pero cada uno tiene su propio espacio
En oracle, que tienen estos 3 ficheros ?
- tnsnames.ora
- listener.ora
- sqlnet.ora
- tnsnames.ora: Mapea nombres de host y puertos a
las bases de datos específicas - listener.ora: Configura el listener para aceptar conexiones en ciertos puertos y protocolos.
- sqlnet.ora: Configura opciones de seguridad y control de acceso para las conexiones de red.
Cuando creamos un usuario en bbdd oracle, puede conectarse ?
NO, hay que darle permisos especificos para comenzar la conexion:
GRANT CONNECT TO nombre_usuario;
como se llaman las columnas autoincrementales en oracle ?
Sequence
CREATE SEQUENCE nombre_secuencia
START WITH 1
INCREMENT BY 1;
como se llaman las columnas autoincrementales en sql server ?
Identity
CREATE TABLE MiTabla (
ID INT IDENTITY(1,1) PRIMARY KEY,
Nombre NVARCHAR(50),
Edad INT
);
¿Qué instrucción de Dockerfile define el directorio de trabajo? (T)
WORKDIR
¿Qué instrucción de Dockerfile especifica el comando que se ejecutará por defecto al iniciar el contenedor? (T)
CMD
¿Qué instrucción de Dockerfile permite declarar variables de entorno que estarán disponibles en el contenedor?
ENV
¿Qué instrucción de Dockerfile copia archivos y directorios del host al contenedor, pero no descomprime archivos .tar? (T)
COPY
¿Qué instrucción de Dockerfile se utiliza para copiar archivos del host al contenedor y puede descomprimir archivos .tar (T)
ADD
¿Qué instrucción de Dockerfile ejecuta un comando y guarda el resultado como una nueva capa en la imagen?
RUN
¿Qué instrucción de Dockerfile define argumentos que se pasan por la línea de comandos y pueden ser utilizados durante la construcción de la imagen?
ARG
¿Qué instrucción de Dockerfile se utiliza para especificar la imagen base desde la cual se construirá una nueva imagen?
FROM
¿Qué instrucción de Dockerfile crea un punto de montaje que puede ser compartido entre el contenedor y el host? (T)
VOLUME
¿Qué instrucción de Dockerfile define el comando que se ejecuta por defecto al arrancar el contenedor, permitiendo sobrescribir los argumentos?
ENTRYPOINT
¿Qué instrucción de Dockerfile informa sobre los puertos en los que el contenedor escuchará en tiempo de ejecución?
EXPOSE
¿Qué instrucción de Dockerfile establece el usuario que se utilizará para ejecutar las instrucciones y el contenedor?
USER
¿Qué instrucción de Dockerfile añade meta-datos a la imagen, como información de mantenimiento o versión? (T)
LABEL
Que diferencia hay entre docker y docker compose ?
Docker: Te permite ejecutar y gestionar contenedores individuales.
Docker Compose: Te permite orquestar aplicaciones multicontenedor, simplificando su gestión y configuración. Es útil cuando tienes una aplicación que depende de múltiples servicios (como bases de datos, APIs, servidores web) que deben ejecutarse juntos.
Puertos Oracle
1521 (está siendo sustituido por 2483 y 2484)
Puertos de:
Oracle
SQL Server
MySQL y MariaDB
Postgre
Oracle: 1521 (está siendo sustituido por 2483 y 2484)
SQL Server: 1433
MySQL y MariaDB: 3306
Postgre: 5432
En postgre, que es el MVCC(Multi-version Concurrency Control) ?
Aíslan las transacciones con “fotos” + Mergear
Que tipos de hipervisores existen ?
- Hipervisores de Tipo 1 (Bare Metal):
Descripción: Ejecutan directamente sobre el hardware físico del servidor
Ventajas: Mayor rendimiento y eficiencia, ya que no hay capa adicional de software entre el hardware y las máquinas virtuales.
Ejemplos: VMware ESXi, Microsoft Hyper-V, Xen, KVM, Proxmox VE
- Hipervisores de Tipo 2 (Alojados):
Descripción: Ejecutan dentro de un sistema operativo anfitrión ya en funcionamiento
Ventajas: Fáciles de instalar y usar, ideales para entornos de desarrollo y pruebas.
Ejemplos: VMware Workstation, Oracle VM VirtualBox, VMware Player, Parallels Desktop
Si hablamos de virtualizacion, que contiene el archivo .vmem ? (T)
Este archivo es un archivo de paginación de la máquina virtual utilizado por VMware Workstation
Contiene una copia de seguridad de la memoria principal de la máquina virtual
Si hablamos de virtualizacion, que contiene el archivo .nvram? (T)
Este archivo almacena el estado de la BIOS de la máquina virtual
. Es utilizado por VMware para guardar la configuración del BIOS
Si hablamos de virtualizacion, que contiene el archivo .vmsd? (T)
Este archivo contiene metadatos sobre las instantáneas de una máquina virtual4
Define las relaciones entre las instantáneas y los discos secundarios de cada instantánea
Que es el Thin provisioning ?
Este método de asignación de almacenamiento asigna espacio de almacenamiento de manera dinámica según las necesidades del usuario. Solo se utiliza el espacio necesario en el momento
Que es el Thick provisioning ?
Este método asigna una cantidad fija de espacio de almacenamiento cuando se crea el disco virtual. Todo el espacio asignado se reserva desde el principio, aunque no se utilice todo