Esta es la etapa más sencilla analíticamente hablando. Se trata del proceso de recopilación e interpretación de datos para describir qué ha ocurrido. El análisis descriptivo proporciona información valiosa sobre el pasado, indicando qué está mal o bien, sin explicar por qué.
En esta etapa podremos responder preguntas del tipo por qué. Los datos históricos pueden comenzar a compararse con otros datos para saber por qué sucedió algo en el pasado. Con este proceso se recopilan e interpretan diferentes conjuntos de datos con el objetivo de identificar anomalías, detectar patrones y determinar relaciones.
El análisis predictivo utiliza variables predictivas del pasado para analizar e identificar la probabilidad de un resultado futuro desconocido. En esta etapa ya no se pregunta simplemente qué pasó, sino qué podría pasar en el futuro.
El análisis prescriptivo es la combinación de los datos recopilados en la etapa descriptiva, de diagnóstico, y predictiva, es decir, fusiona qué ha ocurrido junto con por qué sucedió y cuándo podría volver a pasar. El resultado es un análisis prescriptivo que resaltará lo que podríamos hacer. Vendría a ser el cómo. Pensad en una receta médica en la que se detalla cómo tomar dicho medicamento.
El análisis cognitivo reúne una serie de tecnologías inteligentes para aprender de forma autónoma utilizando algoritmos de inteligencia artificial y una serie de técnicas de aprendizaje como el aprendizaje profundo y el aprendizaje automático. Al aplicar estas técnicas, una aplicación cognitiva puede volverse más inteligente y eficaz con el tiempo al aprender de sus interacciones con los datos y los humanos. Pensad en Alexa, recopila información vía voz e incluso la transcribe en formato texto.
¿Qué proceso puede organizar los datos de una base de datos? El proceso de normalización. En este se incluye la creación de tablas y el establecimiento de relaciones entre ellas con el objetivo de obtener una base de datos más flexible al eliminar la redundancia y las dependencias incoherentes.
No queremos datos redundantes, pues estos desperdician el espacio y dificultan el mantenimiento. Si tenemos datos repetidos en más de un lugar, los tenemos que cambiar de la misma forma en todas las ubicaciones. Un cambio en el número de teléfono de un usuario es mucho más fácil de implementar si los datos sólo se almacenan en la tabla Usuarios y no en algún otro lugar de la base de datos.
Aunque sea intuitivo buscar un correo electrónico en la tabla Usuarios, puede no tener sentido mirar en dicha ubicación el tipo de suscripción contratada, suponiendo que disponemos de una base de datos con usuarios de una plataforma de streaming como Netflix, por ejemplo. Dicha información está relacionada con el servicio contratados o depende de él y por lo tanto, deberíamos buscar en la tabla Servicios. Las dependencias incoherentes pueden dificultar el acceso porque la ruta para encontrar los datos puede no estar.
Cada regla existente en la normalización de una base de datos se llaman "forma normal". Si se cumple la primera regla, se dice que la base de datos está en "primera forma normal" y así consecutivamente, "segunda forma normal", "tercera...", etc. Aunque son posibles otros niveles de normalización, la tercera forma normal se considera el nivel más alto.
Si nos referimos a la estructura y organización en la que se almacenan y gestionan los datos en un entorno de bases de datos para su posterior análisis y consulta, realmente nos estaremos refiriendo a los tipos de esquema o modelos de una base de datos. Dichas estructuras son importantes para garantizar que los datos estén disponibles, sean comprensibles y sean útiles para la toma de decisiones en una organización. A continuación te muestro algunos ejemplos:
1. Modelo dimensional: Este es uno de los modelos más utilizados en la creación de almacenes de datos. En este enfoque, los datos se organizan en dos tipos principales de tablas: tablas de hechos (que contienen datos cuantitativos y métricas) y tablas de dimensiones (que contienen atributos descriptivos). Estas tablas se relacionan a través de claves para permitir un rápido acceso a datos agregados y consultas analíticas.
2. Modelo en forma de estrella: Es una variante del modelo dimensional en el que una tabla de hechos central se conecta a múltiples tablas de dimensiones. Este modelo se llama "en forma de estrella" debido a su apariencia visual, donde las tablas de dimensiones son los "brazos" de la estrella que se conectan a la tabla central de hechos.
3. Modelo en forma de copo de nieve: Similar al modelo en forma de estrella, el modelo en forma de copo de nieve también utiliza tablas de hechos y dimensiones, pero las tablas de dimensiones se normalizan adicionalmente en múltiples niveles. Esto ayuda a reducir la redundancia de datos, pero también puede hacer que las consultas sean un poco más complejas.
4. Modelo tabular: En este modelo, los datos se almacenan en tablas relacionales tradicionales. Es similar a un modelo de base de datos relacional, pero se optimiza para consultas analíticas. Las relaciones entre las tablas se utilizan para realizar análisis complejos.
5. Modelo NoSQL: Aunque los modelos anteriores se basan en bases de datos relacionales, en el mundo de las bases de datos NoSQL, como las bases de datos de documentos, columnares o gráficas, el almacén de datos puede tener una estructura más flexible. Los datos se almacenan en formato JSON, XML u otros formatos, y las consultas pueden ser más ad hoc.
Cada estructura tiene sus propias ventajas y desventajas, y la elección depende de las necesidades específicas de la organización y de la naturaleza de los datos que se manejan. En general, el objetivo principal es proporcionar un entorno de almacenamiento que facilite la consulta y el análisis de datos para respaldar la toma de decisiones informadas. Dicho esto, pasamos a explicar los diferentes sistemas para administrar los almacenes de datos.
Los Sistemas de Administración de Bases de Datos Relacionales (SGBDR o RDBMS, por sus siglas en inglés) son software diseñados para gestionar y administrar bases de datos relacionales. Estas bases de datos almacenan datos en tablas con filas y columnas, lo que permite la organización y relación de datos de manera estructurada. Aquí tienes información clave sobre los SGBDR:
1. Modelo relacional: Los SGBDR siguen el modelo de datos relacional, en el cual los datos se organizan en tablas (también llamadas relaciones) con filas (tuplas) y columnas (atributos). Las relaciones pueden establecerse entre tablas mediante claves primarias y foráneas para representar la estructura y la integridad de los datos.
2. SQL (Structured Query Language): La mayoría de los SGBDR utilizan SQL para realizar consultas y operaciones en las bases de datos. SQL es un lenguaje de programación que permite la extracción, modificación, inserción y eliminación de datos de manera eficiente.
3. Integridad de datos: Los SGBDR mantienen la integridad de los datos mediante restricciones de integridad, como claves primarias y foráneas, que garantizan la coherencia y la validez de los datos. También permiten establecer reglas para mantener la integridad referencial.
4. Transacciones: Los SGBDR admiten transacciones para garantizar la atomicidad, consistencia, aislamiento y durabilidad (propiedades ACID) de las operaciones en la base de datos. Esto significa que las operaciones se ejecutan de manera completa o no se ejecutan en absoluto, lo que asegura que la base de datos se mantenga en un estado coherente.
5. Optimización de consultas: Los SGBDR incluyen optimizadores de consultas que analizan las consultas SQL y determinan la mejor forma de acceder a los datos. Esto ayuda a mejorar el rendimiento y la eficiencia de las consultas.
6. Escalabilidad: Los SGBDR pueden escalar verticalmente (aumentando la potencia de hardware) o horizontalmente (agregando más servidores) para manejar un mayor volumen de datos y tráfico.
7. Seguridad: Los SGBDR ofrecen características de seguridad, como control de acceso, autenticación y autorización, para proteger los datos sensibles y garantizar que solo las personas autorizadas tengan acceso.
8. Replicación y Alta disponibilidad: Los SGBDR permiten la replicación de datos para respaldar la alta disponibilidad y la recuperación de desastres. Esto asegura que los datos estén disponibles en caso de fallos del sistema.
9. Tipos de datos:
· Los datos están muy normalizados.
· Los esquemas de base de datos son necesarios y se aplican.
· Relaciones de muchos a muchos entre entidades de datos de la base de datos.
· Las restricciones se definen en el esquema y se imponen en todos los datos de la base de datos.
· Los datos necesitan una integridad elevada. Los índices y las relaciones deben mantenerse con precisión.
· Los datos requieren una sólida coherencia. Las transacciones funcionan de forma que garantizan que todos los datos sean totalmente coherentes para todos los usuarios y procesos.
· El tamaño de las entradas de datos individuales es de tamaño pequeño a medio.
10. Servicios disponibles: Algunos ejemplos de SGBDR populares incluyen Microsoft SQL Server, MySQL, PostgreSQL, Oracle Database y SQLite. Por parte de Azure disponemos de Azure SQL Database, Azure Database for MySQL, Azure Database for PostgreSQL y Azure Database for MariaDB. La elección de un SGBDR específico depende de los requisitos y las necesidades de una aplicación o sistema en particular. Cada uno tiene sus propias características, licenciamiento y costos asociados.
11. Ejemplos:
· Administración de inventario.
· Administración de pedidos.
· Informes de base de datos.
· Control.
Los almacenes clave/valor son un tipo de base de datos NoSQL que se utiliza para almacenar y recuperar datos de manera eficiente mediante una estructura simple de clave única y valor asociado. Este enfoque es diferente de las bases de datos relacionales, ya que no se basa en tablas con esquemas rígidos. Aquí hay algunas características clave de los almacenes clave/valor:
1. Estructura simple: En un almacén clave/valor, los datos se almacenan como pares de clave y valor. La clave es un identificador único que se utiliza para recuperar el valor asociado. Esto hace que la estructura de datos sea muy simple y eficiente.
2. Escalabilidad horizontal: Los almacenes clave/valor están diseñados para escalar horizontalmente, lo que significa que pueden manejar grandes volúmenes de datos distribuyendo la carga en múltiples servidores o nodos. Esto los hace adecuados para aplicaciones con requisitos de escalabilidad masiva.
3. Rendimiento rápido: Debido a su diseño simple y la indexación eficiente de las claves, los almacenes clave/valor suelen ofrecer un alto rendimiento en la lectura y escritura de datos. Esto los hace ideales para aplicaciones que requieren acceso rápido a datos.
4. Tolerancia a fallos: Los almacenes clave/valor a menudo implementan técnicas de replicación y particionamiento para garantizar la disponibilidad y la tolerancia a fallos. Si un nodo falla, los datos aún están disponibles a través de réplicas en otros nodos.
5. Flexibilidad en el esquema: A diferencia de las bases de datos relacionales, los almacenes clave/valor no requieren un esquema fijo. Cada par clave/valor puede tener un valor diferente y no es necesario definir previamente la estructura de los datos.
6. Aplicaciones comunes: Los almacenes clave/valor se utilizan en una variedad de aplicaciones, como caché de datos, sistemas de sesiones de usuarios en aplicaciones web, administración de contenido, sistemas de recomendación y sistemas de registro distribuido.
7. Tipos de datos:
· Cada clave está asociada a un valor único.
· No hay ninguna aplicación del esquema.
· No existen relaciones entre entidades.
8. Servicios disponibles: Algunos ejemplos populares de almacenes clave/valor incluyen Redis, Amazon DynamoDB, Riak, Couchbase y Apache Cassandra. Por parte de Azure disponemos de Azure Cosmos DB for Table y Azure Cosmos DB for NoSQL, Azure Cache for Redis y Azure Table Storage. Cada uno de ellos tiene sus propias características y casos de uso específicos.
9. Ejemplos:
· Almacenamiento en caché de datos.
· Administración de sesiones.
· Administración de perfiles y preferencias de usuario.
· Recomendación de producto y servicio.
Es importante tener en cuenta que los almacenes clave/valor no son la solución óptima para todas las situaciones. Son ideales para aplicaciones que requieren alta velocidad y escalabilidad, pero pueden no ser adecuados para casos de uso que dependen de consultas complejas y relaciones entre datos. En tales casos, las bases de datos relacionales o NoSQL con otros modelos de datos, como las bases de datos de documentos o grafos, pueden ser más apropiadas.
Supongamos que deseas almacenar información de usuarios en un almacén clave/valor para una aplicación web. Cada usuario tiene una identificación única (clave) y una serie de datos asociados (valor). Aquí tienes un ejemplo simplificado:
clave: "usuario:123"valor:{"nombre": "Luis Estrella","correo electrónico": "luis.estrella@ejemplo.com","edad": 54,"ciudad": "Ciudad de México"}En este ejemplo, "usuario:123" es la clave única que identifica al usuario, y el valor asociado es un objeto JSON que contiene información sobre el usuario, como su nombre, correo electrónico, edad y ciudad.
Los almacenes clave/valor son eficientes para recuperar rápidamente los datos de un usuario específico utilizando su clave. Esto es útil en aplicaciones donde se necesita acceder a información de usuario de manera rápida y sencilla. Ten en cuenta que este es un ejemplo simplificado, y en aplicaciones reales, los datos pueden ser mucho más complejos y contener múltiples claves/valores para diferentes aspectos de un usuario o entidad.
La plataforma como servicio (PaaS) es un entorno completo de desarrollo e implementación en la nube, con recursos que permiten desde aplicaciones simples basadas en la nube hasta aplicaciones empresariales sofisticadas habilitadas para la nube. Tú contratas los recursos que necesitas de un proveedor de servicios en la nube mediante un sistema de pago por uso y accedes a ellos a través de una conexión segura a Internet.
Al igual que IaaS, PaaS incluye infraestructura (servidores, almacenamiento y redes), pero también middleware, herramientas de desarrollo, servicios de inteligencia empresarial (BI), sistemas de gestión de bases de datos y más. PaaS está diseñada para soportar el ciclo de vida completo de la aplicación web: creación, prueba, implementación, gestión y actualización.
PaaS te permite evitar el gasto y la complejidad de comprar y administrar licencias de software, la infraestructura de aplicaciones subyacente y el middleware, los orquestadores de contenedores como Kubernetes o las herramientas de desarrollo y otros recursos. Tú administras las aplicaciones y servicios que desarrollas y el proveedor de servicios en la nube generalmente administra todo lo demás.
Las organizaciones suelen utilizar PaaS para estos escenarios:
· Marco de desarrollo: PaaS proporciona un marco que los desarrolladores pueden aprovechar para desarrollar o personalizar aplicaciones basadas en la nube. De manera similar a la forma en que se crea una macro de Excel, PaaS permite crear aplicaciones utilizando componentes de software integrados. Se incluyen características de la nube como escalabilidad, alta disponibilidad y capacidad multiinquilino, lo que reduce la cantidad de codificación que deben realizar los desarrolladores.
· Analítica o inteligencia de negocios: Las herramientas proporcionadas como servicio con PaaS permiten a las organizaciones analizar y extraer sus datos, encontrar conocimientos y patrones y predecir resultados para mejorar los pronósticos, las decisiones de diseño de productos, los retornos de la inversión y otras decisiones comerciales.
· Servicios adicionales: Los proveedores de PaaS pueden ofrecer otros servicios que mejoren las aplicaciones, como flujo de trabajo, directorio, seguridad y programación.
Al ofrecer infraestructura como servicio, PaaS ofrece las mismas ventajas que IaaS. Pero sus características adicionales (middleware, herramientas de desarrollo y otras herramientas comerciales) te brindan más ventajas:
· Reduce el tiempo de codificación: Las herramientas de desarrollo PaaS pueden reducir el tiempo que lleva codificar nuevas aplicaciones con componentes de aplicación precodificados integrados en la plataforma, como flujo de trabajo, servicios de directorio, funciones de seguridad, búsqueda, etc.
· Agrega capacidades de desarrollo sin incorporar personal: Los componentes de plataforma como servicio pueden brindar nuevas capacidades sin necesidad de incorporar personal con las habilidades necesarias.
· Desarrolla para múltiples plataformas, incluidas las móviles, más fácilmente: Algunos proveedores de servicios ofrecen opciones de desarrollo para múltiples plataformas, como computadoras, dispositivos móviles y navegadores, lo que hace que las aplicaciones multiplataforma sean más rápidas y fáciles de desarrollar.
· Utiliza herramientas sofisticadas de forma asequible: Un modelo de pago por uso hace posible que individuos u organizaciones utilicen software de desarrollo sofisticado y herramientas de análisis e inteligencia empresarial que no podrían permitirse comprar directamente.
· Apoyar a equipos de desarrollo distribuidos geográficamente: Debido a que se accede al entorno de desarrollo a través de Internet, los equipos de desarrollo pueden trabajar juntos en proyectos incluso cuando los miembros del equipo se encuentran en ubicaciones remotas.
· Gestiona eficientemente el ciclo de vida de la aplicación: PaaS proporciona todas las capacidades que necesitas para respaldar el ciclo de vida completo de la aplicación web: creación, prueba, implementación, administración y actualización dentro del mismo entorno integrado.
En este artículo se proporcionan instrucciones para configurar la seguridad y el cunplimiento de Microsoft 365. Evita posibles interrupciones, automatiza tareas, impide la fuga de información...
Conoce la solución de Microsoft para el gobierno de datos. Con ella podrás administrar y controlar los datos de tu entorno de una manera fácil y unificada.