Anexo Examen Base De Datos PDF
Document Details
Uploaded by OpulentAntigorite7903
ILERNA
Tags
Summary
Este documento proporciona un resumen de las bases de datos, incluyendo conceptos clave como Big Data. Describe las técnicas de análisis de datos y las herramientas utilizadas en este campo. Hay una variedad de ejemplos e instrucciones.
Full Transcript
BASES DE DATOS Desarrollo de Aplicaciones Multiplataforma Desarrollo de Aplicaciones Web ANEXO www.ilerna.es ILERNA, centro autorizado con código 25002775 (Lleida), 28077294 (Madrid) y 41023090 (Sevil...
BASES DE DATOS Desarrollo de Aplicaciones Multiplataforma Desarrollo de Aplicaciones Web ANEXO www.ilerna.es ILERNA, centro autorizado con código 25002775 (Lleida), 28077294 (Madrid) y 41023090 (Sevilla) Bases de datos Apartado 1 Big data En la era digital, la cantidad de datos generados y recopilados está creciendo a una velocidad sin precedentes. Desde las interacciones en redes sociales hasta las transacciones comer- ciales y los datos de sensores en dispositivos de IoT, cada vez más información se almacena y necesita ser analizada. Big data se refiere a conjuntos de datos extremadamente grandes y complejos que son difíciles de procesar y analizar utilizando técnicas tradicionales de gestión y análisis de datos. Se caracteriza comúnmen- te por las siguientes “3V”: 1. Volumen: la cantidad de datos generados y almacenados. Los conjuntos de datos pueden ser de terabytes a petabytes. 2. Velocidad: la velocidad a la que se generan y procesan los datos. Esto incluye flujos de datos en tiempo real. 3. Variedad: los diferentes tipos de datos que se recopilan. Incluye datos estructurados, semiestructurados y no estructurados prove- nientes de diversas fuentes. Además de las 3V originales, a menudo se añaden otras dos: 4. Veracidad: la calidad y exactitud de los datos. 5. Valor: la utilidad de los datos para la toma de decisiones y la ob- tención de insights. Para + info La capacidad de analizar y extraer valor de grandes volúmenes de datos se ha convertido en un factor clave para la innovación, la eficiencia y la ventaja competitiva en diversas industrias. El análisis de big data implica la aplicación de técnicas avanzadas para descubrir patrones, correlaciones y tendencias dentro de grandes vo- lúmenes de datos. Esto permite a las organizaciones tomar decisiones informadas y basadas en datos. 2 Bases de datos Técnicas de análisis de datos 1. Análisis Descriptivo: se centra en describir y resumir los datos históricos para entender lo que ha sucedido. Ejemplos: informes de ventas, análisis de tráfico web. 2. Análisis Predictivo: utiliza modelos estadísticos y algoritmos de machine learning para predecir futuros eventos o comportamientos. Ejemplos: Predicción de la demanda, análisis de riesgo de crédito. 3. Análisis prescriptivo: ofrece recomendaciones específicas sobre acciones que se deben tomar para lograr ciertos objetivos. Ejemplos: optimización de rutas de entrega, recomendaciones de productos. 4. Análisis de sentimiento: analiza textos para determinar las emo- ciones y opiniones expresadas. Ejemplos: análisis de comentarios en redes sociales, reseñas de productos. 5. Análisis en tiempo real: procesa y analiza datos a medida que se generan para tomar decisiones instantáneas. Ejemplos: Detección de fraudes en transacciones, monitoreo de redes. Herramientas de análisis de big data 1. Hadoop: un marco de software de código abierto que permite el procesamiento distribuido de grandes conjuntos de datos en clus- ters de computadoras. 2. Spark: un motor de análisis rápido y general para big data, con capacidades de procesamiento en memoria. 3. NoSQL databases: bases de datos diseñadas para almacenar y recuperar datos no estructurados y semiestructurados (por ejem- plo., MongoDB y Cassandra). 4. Tableau: una herramienta de visualización de datos que ayuda a convertir datos en insights interactivos y comprensibles. 5. Power BI: un servicio de análisis empresarial de Microsoft que proporciona visualizaciones interactivas y capacidades de BI. La inteligencia de negocios (BI) es el conjunto de estrategias y tecno- logías utilizadas por las empresas para el análisis de datos de negocios. 3 Bases de datos El objetivo de BI es transformar datos en información útil y conoci- mientos que puedan ser utilizados para apoyar la toma de decisiones estratégicas, tácticas y operativas. Componentes de la inteligencia de negocios 1. Extracción, transformación y carga (ETL): procesos para extraer datos de diversas fuentes, transformarlos en un formato adecuado y cargarlos en un sistema de almacenamiento de datos. ETL asegu- ra que los datos sean precisos, consistentes y listos para el análisis. 2. Almacenamiento de datos (data warehousing): repositorios centralizados que almacenan datos de diversas fuentes para facili- tar el análisis y la generación de informes. Ejemplos: Amazon Redshift, Google BigQuery. 3. Análisis de datos: aplicación de métodos estadísticos y algoritmos de machine learning para descubrir patrones y obtener insights. Ayuda a identificar tendencias, anomalías y oportunidades. 4. Visualización de datos: uso de herramientas gráficas para re- presentar datos de manera visual. Facilita la comprensión y la comunicación de insights de datos complejos. Ejemplos: gráficos, dashboards interactivos. 5. Generación de informes (reporting): creación de informes es- tructurados que resumen y presentan los resultados del análisis de datos. Proporciona información clave para la toma de decisiones. Beneficios de la inteligencia de negocios 1. Mejora de la toma de decisiones: BI proporciona datos precisos y oportunos para respaldar decisiones informadas. Ejemplos: decisiones estratégicas de mercado, optimización de operaciones. 2. Identificación de oportunidades de mercado: análisis de datos de mercado y comportamiento del cliente para identificar nuevas oportunidades. Ejemplos: lanzamiento de nuevos productos, segmentación de clientes. 3. Optimización de procesos: análisis de datos operativos para identificar áreas de mejora y eficiencia. 4 Bases de datos Ejemplos: optimización de la cadena de suministro, mejora en la gestión de inventarios. 4. Mejora de la experiencia del cliente: análisis de datos de inte- racción y feedback del cliente para mejorar productos y servicios. Ejemplos: personalización de ofertas, mejora en el servicio al cliente. El big data y la inteligencia de negocios son pilares fundamentales en la economía digital moderna. La capacidad de recopilar, procesar y anali- zar grandes volúmenes de datos permite a las organizaciones obtener insights valiosos, mejorar la toma de decisiones, optimizar operaciones y descubrir nuevas oportunidades de mercado. Con herramientas y téc- nicas avanzadas de análisis de datos, las empresas pueden transformar la información en conocimiento accionable, manteniendo una ventaja competitiva en un entorno cada vez más basado en datos. 5 Bases de datos Apartado 2 Legislación sobre protección de datos La protección de datos es un aspecto crucial en el mundo digital actual, donde la información personal se recopila, almacena y procesa a gran escala. Las leyes de protección de datos están diseñadas para prote- ger la privacidad de los individuos y garantizar que las organizaciones manejen los datos personales de manera segura y responsable. A con- tinuación, se detallan los principales marcos legislativos de protección de datos a nivel global, sus características clave y su importancia. Principales marcos legislativos de protección de datos 1. Reglamento general de protección de datos (GDPR). Unión Europea El GDPR es una de las regulaciones de protección de datos más estrictas y completas del mundo, que se aplica a todas las organi- zaciones que procesan datos personales de residentes en la Unión Europea. Características clave: – Alcance global: se aplica a cualquier organización que maneje datos de residentes de la UE, independientemente de su ubi- cación. – Consentimiento explícito: requiere el consentimiento claro y afirmativo de los individuos para procesar sus datos. – Derecho de acceso y rectificación: los individuos tienen dere- cho a acceder, corregir y borrar sus datos personales. – Portabilidad de datos: permite a los individuos transferir sus datos a otro controlador de datos. – Notificación de brechas de seguridad: obliga a notificar a las autoridades y a los individuos afectados en caso de una viola- ción de datos dentro de las 72 horas. – Multas significativas: las infracciones pueden resultar en multas de hasta el 4% de la facturación anual global de la orga- nización o 20 millones de euros, lo que sea mayor. 6 Bases de datos 2. Ley de privacidad del consumidor de California (CCPA). Esta- dos Unidos La CCPA es una ley estatal que otorga a los residentes de California derechos significativos sobre sus datos personales. Características clave: – Derecho a saber: los consumidores tienen derecho a saber qué datos personales se recopilan sobre ellos y cómo se utilizan. – Derecho a borrar: los consumidores pueden solicitar la elimi- nación de sus datos personales. – Derecho a optar por no participar: permite a los consumido- res optar por no vender sus datos personales a terceros. – No discriminación: prohíbe discriminar a los consumidores que ejerzan sus derechos de privacidad. – Multas: las empresas pueden enfrentar multas de hasta 7.500 $ por infracción intencional y 2.500 $ por infracción no intencional. 3. Ley de protección de información personal y documentos electrónicos (PIPEDA). Canadá PIPEDA regula cómo las organizaciones del sector privado re- colectan, usan y divulgan información personal en el curso de actividades comerciales en Canadá. Características clave: – Consentimiento: requiere el consentimiento del individuo para la recopilación, uso o divulgación de datos personales. – Acceso y corrección: los individuos tienen derecho a acceder a sus datos personales y solicitar correcciones. – Protección de datos: obliga a las organizaciones a proteger los datos personales mediante medidas de seguridad adecuadas. – Transparencia: las organizaciones deben ser transparentes so- bre sus prácticas de manejo de datos. – Transferencia de datos transfronteriza: regula la transferen- cia de datos personales fuera de Canadá. 4. Ley general de protección de datos (LGPD). Brasil La LGPD es una ley federal que establece las directrices sobre la protección de datos personales en Brasil, similar al GDPR. Características clave: – Consentimiento: requiere el consentimiento explícito del indi- viduo para procesar datos personales. 7 Bases de datos – Derecho de acceso y rectificación: los individuos tienen de- rechos de acceso, corrección, eliminación y portabilidad de sus datos. – Responsabilidad y rendición de cuentas: las organizaciones deben demostrar el cumplimiento de la LGPD. – Notificación de brechas de seguridad: obliga a notificar a las autoridades y a los individuos afectados en caso de violación de datos. – Sanciones: las infracciones pueden resultar en multas de hasta el 2% de los ingresos de la empresa en Brasil, limitadas a 50 millones de reales por infracción. 5. Ley de protección de información personal (APPI). Japón La APPI regula la protección de datos personales en Japón y ha sido actualizada para alinearse más estrechamente con el GDPR. Características clave: – Consentimiento: requiere el consentimiento del individuo para la transferencia de datos a terceros. – Derechos de los individuos: incluye derechos de acceso, co- rrección y eliminación de datos personales. – Transferencias internacionales: regula la transferencia de da- tos personales fuera de Japón. – Supervisión y cumplimiento: establece la Comisión de Protec- ción de Información Personal para supervisar y hacer cumplir la APPI. Importancia de la legislación sobre protección de datos 1. Protección de la privacidad del individuo Las leyes de protección de datos están diseñadas para salvaguar- dar la privacidad y los derechos de los individuos. Estas garantizan que los datos personales se manejen de manera justa y segura, proporcionando a los individuos control sobre su información personal. 2. Fomento de la confianza del consumidor Cumplir con las leyes de protección de datos ayuda a construir y mantener la confianza del consumidor. Los consumidores están más dispuestos a compartir sus datos con organizaciones que de- muestran un fuerte compromiso con la privacidad y la seguridad. 8 Bases de datos 3. Reducción de riesgos de seguridad Las regulaciones exigen la implementación de medidas de segu- ridad adecuadas para proteger los datos personales. La reducción de riesgos de seguridad reduce el riesgo de violaciones de datos y el impacto financiero y reputacional asociado. 4. Cumplimiento legal y evitación de sanciones Cumplir con las leyes de protección de datos es obligatorio para evitar sanciones y multas significativas. Esto protege a las or- ganizaciones de las consecuencias legales y financieras de las infracciones. 5. Mejora de la gestión de datos Las regulaciones obligan a las organizaciones a gestionar los datos de manera más eficiente y transparente. Esto mejora la calidad de los datos, facilita la toma de decisiones informada y fortalece la gobernanza de datos. La legislación sobre protección de datos es fundamental para ga- rantizar la privacidad y seguridad de la información personal en el mundo digital. Con marcos legales como el GDPR, CCPA, PIPEDA, LGPD y APPI, los individuos están protegidos y las organizaciones son responsables de manejar los datos de manera ética y segura. Cumplir con estas regulaciones no solo es un requisito legal, sino también una práctica esencial para construir la confianza del con- sumidor y mejorar la gestión de datos. La continua evolución de estas leyes refleja la importancia creciente de la privacidad y la seguridad de los datos en nuestra sociedad interconectada. 9 Bases de datos Apartado 3 Bases de datos no relacionales En la era de la información, la capacidad de gestionar y analizar grandes volúmenes de datos es crucial para el éxito de muchas organizaciones. Mientras que las bases de datos relacionales han sido la columna vertebral del almacenamiento de datos durante décadas, la creciente demanda de flexibilidad, escalabilidad y manejo eficiente de datos no estructurados ha llevado al desarrollo y adopción de bases de datos no relacionales, también conocidas como NoSQL. Para + info Las bases de datos no relacionales (NoSQL) son sistemas de gestión de bases de datos que no utilizan el modelo relacional tradicional para almacenar y recuperar datos. En lugar de tablas y esquemas fijos, las bases de datos NoSQL emplean modelos de datos más flexibles, como documentos, grafos, pares clave-valor y columnas anchas. Esto permite manejar eficientemente grandes volúmenes de datos, datos semiestructurados y no estructura- dos, y datos que cambian rápidamente. noSQL: “not Only SQL SQL Databases SQL Databases Relational Key-Valeu Column-Family key value key value key value key value Analytical (OLAP) Graph Document 10 Bases de datos 3.1. Tipos de bases de datos no relacionales Existen varios tipos de bases de datos NoSQL, cada una diseñada para satisfacer necesidades específicas. A continuación, se describen los tipos más comunes: Bases de datos de documentos: almacenan datos en documen- tos individuales, generalmente en formatos JSON, BSON o XML. Cada documento es una colección de pares clave-valor y puede tener una estructura diferente. Características: – Flexibilidad en el esquema: los documentos pueden tener cam- pos adicionales sin afectar a otros documentos. – Buen rendimiento para consultas complejas y datos jerárquicos. – Ideal para aplicaciones web y móviles que manejan datos se- miestructurados. Ejemplos: MongoDB, CouchDB, RavenDB. Bases de datos de grafos: utilizan nodos, aristas y propiedades para representar y almacenar datos. Los nodos representan enti- dades, las aristas representan relaciones entre las entidades, y las propiedades almacenan información sobre nodos y aristas. Características: – Optimizadas para consultas sobre relaciones y conexiones complejas. – Excelente rendimiento en análisis de redes sociales, recomen- daciones y detección de fraudes. – Estructura flexible que facilita la evolución del esquema. Ejemplos: Neo4j, OrientDB, ArangoDB. Bases de datos de pares clave-valor: almacenan datos como pa- res clave-valor, donde cada clave es única y se utiliza para acceder al valor asociado. Características: – Muy rápidas para operaciones de lectura y escritura simples. – Escalabilidad horizontal fácil mediante particionamiento. – Adecuadas para cachés, sesiones y perfiles de usuario. Ejemplos: Redis, DynamoDB, Riak. 11 Bases de datos Bases de datos de columnas anchas: almacenan datos en tablas, pero en lugar de filas tradicionales, utilizan familias de columnas. Cada familia de columnas puede contener múltiples columnas y las filas pueden tener diferentes columnas. Características: – Altamente escalables y eficientes para grandes volúmenes de datos. – Optimizadas para operaciones de lectura y escritura masivas. – Adecuadas para análisis en tiempo real, almacenamiento de re- gistros y sistemas de recomendación. Ejemplos: Apache Cassandra, HBase, ScyllaDB. Comparación con bases de datos relacionales Relacionales No relacionales Utilizan modelos de datos flexi- Utilizan un esquema fijo y bles como documentos, grafos, Estructura de datos normalizado con tablas, filas y pares clave-valor y columnas columnas. anchas. Escalabilidad vertical (aumentar Escalabilidad horizontal (añadir Escalabilidad la capacidad del servidor exis- más servidores). tente). Garantizan la consistencia fuerte Ofrecen consistencia eventual, lo mediante transacciones ACID que permite mayor flexibilidad y Consistencia (atomicidad, consistencia, aisla- rendimiento en entornos distri- miento, durabilidad). buidos. Requieren un esquema predefi- Esquema flexible que permite Flexibilidad nido, lo que puede dificultar los modificaciones dinámicas sin cambios en la estructura de datos. afectar la base de datos existente. Las bases de datos no relacionales han surgido como una alternati- va poderosa y flexible a las bases de datos relacionales tradicionales, adaptándose a las necesidades cambiantes del mundo digital moderno. Ofrecen soluciones escalables y eficientes para manejar grandes volúme- nes de datos y datos no estructurados, permitiendo a las organizaciones innovar y responder rápidamente a nuevas oportunidades y desafíos. Con una comprensión clara de los diferentes tipos de bases de datos NoSQL y sus aplicaciones, las empresas pueden elegir la solución de almacena- miento de datos más adecuada para sus necesidades específicas. 12 Bases de datos link.ilerna.es/9s1v 3.2. Instalación del servidor mongoDB Para probar la base de datos mongoDB, vamos a utilizar el sistema Docker Desktop. Vamos al enlace y descargamos la versión para nuestro sistema operativo. Docker es una plataforma de software que permite crear, probar y des- plegar aplicaciones rápidamente. Utiliza contenedores, que son entornos ligeros, portátiles y autosuficientes que incluyen todo lo necesario para ejecutar una aplicación: código, runtime, herramientas del sistema, bi- bliotecas y configuraciones. Los contenedores aseguran que la aplicación se ejecute de manera consistente sin importar el entorno en el que se despliegue, ya sea en una máquina local, un servidor o en la nube. Beneficios de Docker 1. Portabilidad: los contenedores Docker se pueden ejecutar en cualquier sistema que tenga Docker instalado, independiente- mente de las diferencias en el sistema operativo subyacente. 2. Consistencia: garantiza que el software funcione de la misma manera en diferentes entornos, evitando problemas de “funciona en mi máquina”. 3. Eficiencia: los contenedores son más ligeros que las máquinas virtuales tradicionales, permitiendo ejecutar más contenedores en el mismo hardware. 4. Aislamiento: los contenedores proporcionan un entorno aislado para las aplicaciones, lo que mejora la seguridad y facilita la ges- tión de dependencias. 13 Bases de datos ¿Qué es Docker Desktop? Docker Desktop es una aplicación que proporciona una manera fácil de instalar y usar Docker en sistemas operativos Windows y macOS. In- cluye Docker Engine, Docker CLI, Docker Compose y otras herramientas necesarias para trabajar con contenedores. Funcionalidades de Docker Desktop 1. Docker Engine: el motor que ejecuta y gestiona los contenedores Docker. 2. Docker CLI: una interfaz de línea de comandos para interactuar con Docker. 3. Docker Compose: una herramienta para definir y ejecutar aplica- ciones multicontenedor. Utiliza un archivo YAML para configurar los servicios de la aplicación. 4. Kubernetes: Docker Desktop incluye Kubernetes, permitiendo a los desarrolladores ejecutar y gestionar clústeres de Kubernetes localmente. 5. Interfaz gráfica: proporciona una interfaz de usuario para gestionar contenedores, imágenes y volúmenes, facilitando la visualización y la administración de los recursos Docker. 6. Integración con el sistema operativo: Docker Desktop se integra con el sistema operativo, permitiendo el uso de volúmenes com- partidos y la red local. Beneficios de Docker Desktop 1. Facilidad de instalación y configuración: simplifica la instalación y configuración de Docker en entornos Windows y macOS. 2. Desarrollo local eficiente: permite a los desarrolladores construir, probar y depurar aplicaciones en contenedores localmente antes de desplegarlas en producción. 3. Entornos de desarrollo consistentes: asegura que todos los desarrolladores trabajen en un entorno de desarrollo idéntico, minimizando los problemas de configuración y dependencias. 4. Gestión de contenedores: proporciona herramientas para gestio- nar contenedores y clústeres de Kubernetes directamente desde el escritorio. 14 Bases de datos Usos comunes de Docker y Docker Desktop Desarrollo de software: crear entornos de desarrollo replicables y consistentes. Pruebas automatizadas: ejecutar pruebas de integración y de ex- tremo a extremo en contenedores aislados. Despliegue de aplicaciones: desplegar aplicaciones de manera rápida y segura en diferentes entornos (desarrollo, pruebas, pro- ducción). Microservicios: desarrollar y desplegar aplicaciones basadas en microservicios, donde cada microservicio se ejecuta en su propio contenedor. Modernización de aplicaciones legadas: contenerizar aplicacio- nes legadas para facilitar su despliegue y administración. Docker y Docker Desktop nos proporcionan una plataforma robusta para el desarrollo, prueba y despliegue de aplicaciones en entornos consistentes y portátiles, mejorando la eficiencia y la productividad de los desarrolladores. Descargar y lanzar imagen en Docker Lo primero es iniciar Docker Desktop. Después vamos a descargarnos una imagen en Docker, para ello hacemos clic en “search images to run”. Y escogemos la imagen “mongo”, que es la oficial de mongoDB y le damos a “pull”. 15 Bases de datos Indicamos los siguientes datos para lanzar la imagen que se va a con- vertir en un contenedor. Necesitamos tener abierta la terminal dentro de Docker Desktop para trabajar con los comandos que vamos a necesitar: Primero, vamos a crear una red para nuestra base de datos mongo: docker network create my-mongo-network Una vez creada la red, vamos a crear el contenedor donde funcionará mongoDB. docker run -d --name mongo --network my-mongo-network -p 27017:27017 -v mongo-data:/data/db mongo:latest Una vez creada con esta información, tenemos nuestra base de datos funcionando en el puerto 27017 de nuestro equipo. 16 Bases de datos 3.3. Instalación de un SGBD para mongoDB Un sistema de gestión de bases de datos (SGBD) es un conjunto de programas que permiten almacenar, modificar y extraer informa- ción de una base de datos de manera eficiente y segura. Los SGBD proporcionan una interfaz entre las bases de datos y los usuarios o aplicaciones, facilitando la gestión de los datos y asegurando su inte- gridad y disponibilidad. En nuestro caso vamos a usar Mongo Express, un SGBD específico de mongoDB. Empezamos descargando (pull) en Docker Desktop su imagen: Este es el comando que escribiremos para ejecutar mongo_express para poder acceder a la gestión de la BD mongoDB: docker run -d --name mongo-express --network my-mon- go-network -p 8081:8081 -e ME_CONFIG_MONGODB_URL=”- mongodb://mongo:27017” mongo-express:latest Creamos la red “my-mongo-network” para que puedan trabajar tanto la base de datos como el SGBD dentro de la misma red y, de este modo, reconocer los puertos de uno y de otra. Si vamos a la página http://localhost:8081/ , podemos acceder a la gestión de la base de datos. Nos pedirá datos de acceso y debemos introducir los que tiene por de- fecto: User: admin Password: pass Con esto, ya estamos dentro de la gestión. 17 Bases de datos 3.4. Creación de una BBDD en mongoDB Vamos a crear una base de datos en mongoDB utilizando el SGBD Mongo Express. Para ello, debemos estar en la página inicial de Mongo Express. Hacemos clic en “create database” poniendo nombre a la base de datos. Una vez dentro de la base de datos, tenemos que crear una colección: En estas colecciones vamos a introducir la información como docu- mentos JSON, como el ejemplo que ves a continuación: { mail: ‘[email protected]’, nombre: ‘Pepe Díaz’, edad: 28, direccion: { calle: ‘C/Fernando Alonso 12’, ciudad: ‘Oviedo’ } } Cuando hagamos búsquedas en esta base de datos, lo haremos a través del campo que necesitamos acceder: 18