Características de Sistemas Operativos
Linux
- Coding abierto: Su código fuente está disponible para ser visto, modificado y distribuido libremente por cualquiera.
- Multiusuario: Múltiples usuarios pueden acceder a las aplicaciones y recursos del sistema al mismo tiempo.
- Multitarea: Es posible ejecutar varios programas a la vez.
- Estabilidad y seguridad: Resistente a fallos y muy robusto.
Windows
- Interfaz gráfica de usuario: Facilita la interacción con ventanas y elementos visuales, permitiendo a los usuarios navegar y acceder a funciones y aplicaciones de forma rápida y sencilla.
- Compatibilidad con aplicaciones: Compatible con una amplia variedad de dispositivos y programas, lo que brinda flexibilidad y conveniencia a los usuarios.
- Actualizaciones regulares: Ofrece actualizaciones y mejoras constantes, incluyendo mejoras de seguridad, nuevas características y optimización del rendimiento.
- Amplia base de usuarios: Ampliamente utilizado a nivel mundial.
Virtualización
Hipervisores
Software que crea y ejecuta máquinas virtuales (VM). Ejemplos: VMware, Microsoft Hyper-V, Kernel-based Virtual Machine (KVM), Xen.
Tipos de Hipervisores
- Tipo 1 (Bare Metal): Se ejecuta directamente en el hardware del host y gestiona los sistemas operativos invitados (guest OS). No requiere un sistema operativo host adicional. Ejemplo: KVM.
- Tipo 2: Se ejecuta como una aplicación dentro de un sistema operativo host. Común en entornos de desarrollo o pruebas. Ejemplo: VirtualBox.
Funciones y Ventajas de la Virtualización
- Creación y ejecución de VM: Permite crear y manejar múltiples VM en un único hardware físico.
- Aislamiento de recursos: Cada máquina virtual se ejecuta en su propio entorno aislado; los procesos en una VM no pueden interferir con los de otra.
- Redistribución de recursos: Los recursos pueden redistribuirse fácilmente entre las VM existentes o nuevas.
- Gestión de programación: Asigna recursos a las VM según sus necesidades, basándose en los recursos físicos disponibles.
Ventajas Generales
- Ejecución simultánea de múltiples sistemas operativos en un solo hardware.
- Optimización de recursos y mayor flexibilidad.
- Consolidación de servidores.
- Eficiencia de costes.
- Aislamiento, flexibilidad y escalabilidad.
Automatización y Gestión de Datos
Shell Script
Un programa creado con instrucciones que son ejecutadas por un Shell (CLI o intérprete de comandos). El código se ejecuta línea por línea, realizando las acciones indicadas por cada instrucción. Los scripts se escriben en lenguajes de Shell como Bash. Permiten automatizar tareas y ejecutar comandos en secuencia. Los dialectos de los scripts de Shell se consideran lenguajes de scripting.
Gobierno de Datos
Conjunto de procesos, políticas, roles y tecnologías que aseguran que los datos sean precisos, accesibles, seguros y utilizables para quienes los necesitan, dentro del marco de las leyes vigentes y los objetivos estratégicos de la organización. Su implementación eficaz garantiza la integridad, trazabilidad y responsabilidad sobre los datos, mejorando la capacidad de análisis, reduciendo riesgos y fortaleciendo la confianza. Abarca todas las medidas adoptadas para que los datos sean seguros, privados, precisos, disponibles y utilizables para la toma de decisiones.
Importancia del Gobierno de Datos
- Toma de decisiones más acertadas y oportunas.
- Mejora de los controles de costes.
- Mejora del cumplimiento de normativas.
- Aumento de la confianza de clientes y proveedores.
- Gestión de riesgos más eficiente.
- Facilita el acceso a los datos para más personal.
- Custodia y gestión de datos.
- Datos como activos: Un programa sólido de gobierno de datos ayuda a proteger estos activos y a definir una estrategia de datos que respalde los objetivos organizacionales.
Componentes Clave del Gobierno de Datos
- Seguridad de los datos: Garantiza la protección de la información frente a accesos no autorizados, fugas, manipulaciones, pérdidas o ataques cibernéticos. Incluye medidas técnicas, políticas, procesos y cultura organizacional.
- Linaje de datos: Permite rastrear cómo se transforma la información desde su origen hasta su uso final, esencial para asegurar la confianza y la responsabilidad.
- Actores asociados: Una estrategia efectiva requiere una estructura organizativa clara con roles y responsabilidades definidos (Data Owner, Data Steward, Data Custodian, Data Users).
Desafíos en la Implementación del Gobierno de Datos
- Resistencia cultural: Promover una mentalidad donde los datos sean activos compartidos y estratégicos.
- Falta de liderazgo claro: Ausencia de un patrocinador ejecutivo que respalde el programa y asigne recursos.
- Datos distribuidos y en silos: Dificultad para implementar una gobernanza centralizada y coherente debido a la dispersión de datos en múltiples sistemas.
- Complejidad normativa: Adaptación a un entorno legal cada vez más complejo en cuanto a uso, privacidad y protección de datos.
- Escalabilidad operativa: Necesidad de automatización, IA y analítica avanzada para manejar volúmenes crecientes de datos (Big Data).
Ingeniería de Sistemas vs. Ingeniería de Datos
Ingeniería de Sistemas
- Integración de tecnologías.
- Optimización de procesos.
- Gestión de información.
- Seguridad de la información.
- Adaptación a cambios.
Ingeniería de Datos
- Adquisición de datos.
- Procesamiento de datos.
- Almacenamiento de datos.
- Gestión de datos.
- Integración de datos.
- Análisis de datos.
Rol Crucial de la Ingeniería de Datos en el Ciclo de Vida de los Datos
- Gestión eficiente de datos.
- Integración de datos.
- Procesamiento en tiempo real.
- Análisis predictivo.
- Seguridad y cumplimiento normativo.
- Escalabilidad.
- Creación de Data Warehouses y Data Lakes.
- Automatización de procesos.
Rol del Ingeniero de Datos
- Diseño de arquitecturas de datos.
- Desarrollo de pipelines de datos.
- Implementación de soluciones de integración.
- Aseguramiento de la calidad de datos.
- Gestión de metadatos.
- Implementación de seguridad y privacidad de datos.
- Optimización de rendimiento.
- Colaboración con equipos de ciencia de datos y analítica.
Bases de Datos y Lenguajes
SQL (Structured Query Language)
- Lenguaje declarativo.
- Control de transacciones.
- Gestión de privilegios y seguridad.
Bases de Datos Relacionales
- Estructura tabular con filas y columnas.
- Relaciones entre tablas mediante claves (primaria y foránea).
- Normalización.
- Uso de SQL como lenguaje de consulta.
Bases de Datos No Relacionales (NoSQL)
- Modelos de datos flexibles.
- Escalabilidad horizontal.
- Alta disponibilidad y tolerancia a fallos.
- Optimización para casos de uso específicos.
- Soporte para datos no estructurados.
Lenguajes de Bases de Datos
- Lenguaje de Definición de Datos (DDL): Permite definir y gestionar las estructuras de las bases de datos. Comandos:
CREATE
,DROP
,ALTER
(table),CREATE VIEW
,CREATE INDEX
. - Lenguaje de Manipulación de Datos (DML): Permite manipular los datos almacenados. Comandos:
SELECT
,INSERT INTO
,UPDATE
,DELETE FROM
.