Sei sulla pagina 1di 78

EXPLORE CORE DATA CONCEPTS

INTRODUCCION
En las últimas décadas, la cantidad de datos que los sistemas, aplicaciones y dispositivos
han generado ha aumentado significativamente. Los datos están en todas partes. Los
datos están disponibles en diferentes estructuras y formatos. Comprender los datos y
explorarlos revela hechos interesantes y lo ayuda a obtener información significativa.
En este módulo, aprenderá cómo puede organizar y procesar datos. Aprenderá sobre
bases de datos relacionales y no relacionales, y cómo se manejan los datos a través del
procesamiento transaccional y a través del procesamiento de datos por lotes y de
transmisión.
Imagine que es un analista de datos para una gran organización de consumidores. La
organización quiere comprender los patrones de compra de los clientes en los
supermercados. La organización tiene una serie de conjuntos de datos de diferentes
fuentes, como información de caja (punto de venta), datos meteorológicos y datos de
vacaciones. A la organización le gustaría usar las tecnologías de Azure para comprender y
analizar estos conjuntos de datos.

OBJETIVOS DE APRENDIZAJE
En este módulo podrás:

 Identificar cómo se definen y almacenan los datos.


 Identificar características de datos relacionales y no relacionales.
 Describir y diferenciar cargas de trabajo de datos.
 Describir y diferenciar datos de lotes y de transmisión.

IDENTIFICAR LA NECESIDAD DE SOLUCIONES DE DATOS


Los datos ahora son más fáciles de recopilar y más baratos de alojar, lo que los hace
accesibles para casi todas las empresas. Las soluciones de datos incluyen tecnologías y
plataformas de software que pueden ayudar a facilitar la recopilación, el análisis y el
almacenamiento de información valiosa. A todas las empresas les gustaría aumentar sus
ingresos y obtener mayores ganancias. En este mercado competitivo, los datos son un
activo valioso y, cuando se analizan adecuadamente, pueden convertirse en una gran
cantidad de información útil e informar decisiones comerciales críticas.
¿QUÉ SON LOS DATOS?
Los datos son una colección de hechos como números, descripciones y observaciones
utilizados en la toma de decisiones. Puede clasificar los datos como estructurados,
semiestructurados o no estructurados. Los datos estructurados son típicamente datos
tabulares que están representados por filas y columnas en una base de datos. Las bases
de datos que contienen tablas en este formulario se denominan bases de datos
relacionales (la relación matemática del término se refiere a un conjunto organizado de
datos que se mantiene como una tabla). Cada fila de una tabla tiene el mismo conjunto de
columnas. La imagen a continuación ilustra un ejemplo que muestra dos tablas en una
base de datos de comercio electrónico. Los dos primeros contienen los detalles de los
clientes de una organización, y el segundo contiene información sobre los productos que
vende la organización.
Los datos semiestructurados son información que no reside en una base de datos
relacional pero que aún tiene cierta estructura. Los ejemplos incluyen documentos en
formato de notación de objetos JavaScript (JSON). El siguiente ejemplo muestra un par de
documentos que representan la información del cliente. En ambos casos, cada documento
del cliente incluye documentos secundarios que contienen el nombre y la dirección, pero
los campos en estos documentos secundarios varían entre los clientes.
También hay otros tipos de datos semiestructurados. Los ejemplos incluyen almacenes de
valores clave y bases de datos de gráficos.
Un almacén de valores clave es similar a una tabla relacional, excepto que cada fila puede
tener cualquier número de columnas.
Puede usar una base de datos de gráficos para almacenar y consultar información sobre
relaciones complejas. Un gráfico contiene nodos (información sobre objetos) y bordes
(información sobre las relaciones entre objetos). La imagen a continuación muestra un
ejemplo de cómo podría estructurar los datos en una base de datos gráfica.
¿CÓMO SE DEFINEN Y ALMACENAN LOS DATOS EN LA COMPUTACIÓN EN
LA NUBE?
Dependiendo del tipo de datos, como estructurados, semiestructurados o no
estructurados, los datos se almacenarán de manera diferente. Los datos estructurados
generalmente se almacenan en una base de datos relacional como SQL Server o Azure SQL
Database. Azure SQL Database es un servicio que se ejecuta en la nube. Puede usarlo para
crear y acceder a tablas relacionales. Azure administra y ejecuta el servicio, solo tiene que
especificar que desea que se cree un servidor de base de datos. El acto de configurar el
servidor de bases de datos se denomina aprovisionamiento.
También puede aprovisionar otros servicios en Azure. Por ejemplo, si desea almacenar
datos no estructurados como archivos de video o audio, puede usar Azure Blob Storage
(Blob es un acrónimo de Binary Large Object). Si desea almacenar datos
semiestructurados, como documentos, puede usar un servicio como Azure Cosmos DB.
Después de aprovisionar su servicio, el servicio debe configurarse para que los usuarios
puedan tener acceso a los datos. Por lo general, puede definir varios niveles de acceso.

 El acceso de solo lectura significa que los usuarios pueden leer datos, pero no
pueden modificar ningún dato existente o crear nuevos datos.
 El acceso de lectura / escritura brinda a los usuarios la capacidad de ver y modificar
datos existentes.
 El privilegio de propietario brinda acceso completo a los datos, incluida la
administración de la seguridad, como agregar nuevos usuarios y eliminar el acceso
a los usuarios existentes.
También puede definir qué usuarios deberían poder acceder a los datos en primer lugar. Si
los datos son confidenciales (o secretos), es posible que desee restringir el acceso a
algunos usuarios seleccionados.
DESCRIBIR LAS SOLUCIONES DE PROCESAMIENTO DE DATOS.
Las soluciones de procesamiento de datos a menudo se dividen en una de dos grandes
categorías: sistemas analíticos y sistemas de procesamiento de transacciones.

¿QUÉ ES UN SISTEMA TRANSACCIONAL?


Un sistema transaccional es a menudo lo que la mayoría de las personas considera la
función principal de la informática empresarial. Un sistema transaccional registra las
transacciones. Una transacción puede ser financiera, como el movimiento de dinero entre
cuentas en un sistema bancario, o puede ser parte de un sistema minorista, que rastrea
los pagos de bienes y servicios de los clientes. Piense en una transacción como una unidad
de trabajo pequeña, discreta.
Los sistemas transaccionales suelen ser de gran volumen, a veces manejan muchos
millones de transacciones en un solo día. Los datos que se procesan deben ser accesibles
muy rápidamente. El trabajo realizado por los sistemas transaccionales a menudo se
denomina Procesamiento transaccional en línea (OLTP).
Para admitir un procesamiento rápido, los datos en un sistema transaccional a menudo se
dividen en pequeñas piezas. Por ejemplo, si está utilizando un sistema relacional, cada
tabla involucrada en una transacción solo contiene las columnas necesarias para realizar la
tarea transaccional. En el ejemplo de transferencia bancaria, una tabla que contenga
información sobre los fondos en la cuenta solo puede contener el número de cuenta y el
saldo actual. Otras tablas que no participan en la operación de transferencia contendrían
información como el nombre y la dirección del cliente y el historial de la cuenta. La
división de tablas en grupos separados de columnas como esta se denomina normalizada.
La siguiente unidad analiza este proceso con más detalle. La normalización puede permitir
que un sistema transaccional almacene en caché gran parte de la información requerida
para realizar transacciones en la memoria y acelerar el rendimiento.
Si bien la normalización permite un rendimiento rápido para las transacciones, puede
hacer que las consultas sean más complejas. Las consultas que involucran tablas
normalizadas con frecuencia necesitarán volver a unir los datos contenidos en varias
tablas. Esto puede dificultar a los usuarios empresariales que necesiten examinar los
datos.
¿QUÉ ES UN SISTEMA ANALÍTICO?
A diferencia de los sistemas diseñados para admitir OLTP, un sistema analítico está
diseñado para admitir a los usuarios comerciales que necesitan consultar datos y obtener
una vista panorámica de la información contenida en una base de datos.
Los sistemas analíticos se preocupan por capturar datos sin procesar y usarlos para
generar información. Una organización puede usar estos conocimientos para tomar
decisiones comerciales. Por ejemplo, los conocimientos detallados para una empresa de
fabricación pueden indicar tendencias que les permitan determinar en qué líneas de
productos enfocarse, para obtener rentabilidad.
La mayoría de los sistemas analíticos de procesamiento de datos necesitan realizar tareas
similares: ingestión de datos, transformación de datos, consultas de datos y visualización
de datos. La imagen a continuación ilustra los componentes en un sistema típico de
procesamiento de datos.

 Ingestión de datos: la ingestión de datos es el proceso de capturar los datos sin


procesar. Estos datos podrían tomarse de dispositivos de control que miden
información ambiental como la temperatura y la presión, dispositivos de punto de
venta que registran los artículos comprados por un cliente en un supermercado,
datos financieros que registran el movimiento de dinero entre cuentas bancarias y
datos meteorológicos del clima. estaciones Algunos de estos datos pueden
provenir de un sistema OLTP separado. Para procesar y analizar estos datos,
primero debe almacenar los datos en un repositorio de algún tipo. El repositorio
podría ser un almacén de archivos, una base de datos de documentos o incluso
una base de datos relacional.
 Transformación de datos / Procesamiento de datos: es posible que los datos sin
procesar no estén en un formato adecuado para realizar consultas. Los datos
pueden contener anomalías que deben filtrarse, o puede requerir la
transformación de alguna manera. Por ejemplo, las fechas o direcciones pueden
necesitar convertirse a un formato estándar. Después de que los datos se ingresen
en un repositorio de datos, es posible que desee realizar algunas operaciones de
limpieza y eliminar cualquier dato cuestionable o no válido, o realizar algunas
agregaciones como el cálculo de ganancias, márgenes y otras métricas de
rendimiento clave (KPI). Los KPI son la forma en que las empresas se miden para el
crecimiento y el rendimiento.

 Consulta de datos: después de que los datos se ingieren y se transforman, puede


consultar los datos para analizarlos. Puede estar buscando tendencias o
intentando determinar la causa de los problemas en sus sistemas. Muchos
sistemas de administración de bases de datos proporcionan herramientas que le
permiten realizar consultas ad-hoc contra sus datos y generar informes regulares.

 Visualización de datos: los datos representados en tablas como filas y columnas, o


como documentos, no siempre son intuitivos. Visualizar los datos a menudo puede
ser útil como herramienta para examinar los datos. Puede generar gráficos como
gráficos de barras, gráficos de líneas, trazar resultados en mapas geográficos,
gráficos circulares o ilustrar cómo cambian los datos con el tiempo. Microsoft
ofrece herramientas de visualización como Power BI para proporcionar una
representación gráfica rica de sus datos.

IDENTIFICAR TIPOS DE DATOS Y ALMACENAMIENTO DE DATOS.


Puede clasificar los datos de muchas maneras diferentes, dependiendo no solo de cómo
están estructurados, sino también de cómo se usan los datos. En esta unidad, aprenderá
sobre las características de los diferentes tipos de datos.

DESCRIBIR LAS CARACTERÍSTICAS DE LOS DATOS RELACIONALES Y NO


RELACIONALES.
Las bases de datos relacionales proporcionan probablemente el modelo más conocido
para almacenar datos. La estructura simple de tablas y columnas hace que sean fáciles de
usar inicialmente, pero la estructura rígida puede causar algunos problemas. Por ejemplo,
en una base de datos que contiene información del cliente, ¿cómo maneja a los clientes
que tienen más de una dirección? ¿Agrega columnas para contener los detalles de cada
dirección? Si es así, ¿cuántas de estas columnas debe agregar? Si permite tres direcciones,
¿qué sucede si un cliente tiene una sola dirección? ¿Qué guardas en el repuesto?
¿Columnas? ¿Qué sucede si de repente tienes un cliente con cuatro direcciones? Del
mismo modo, ¿qué información almacena en una dirección (nombre de la calle, número
de casa, ciudad, código postal)? ¿Qué sucede si una casa tiene un nombre en lugar de un
número, o está ubicada en algún lugar que no usa códigos postales?
Puede resolver estos problemas utilizando un proceso llamado normalización.
Normalmente, el resultado final del proceso de normalización es que sus datos se dividen
en una gran cantidad de tablas estrechas y bien definidas (una tabla estrecha es una tabla
con pocas columnas), con referencias de una tabla a otra, como se muestra en la imagen a
continuación. Sin embargo, consultar los datos a menudo requiere reunir información de
varias tablas uniendo los datos nuevamente en tiempo de ejecución (ilustrado por las
líneas en el diagrama). Este tipo de consultas puede ser costoso.

Las bases de datos no relacionales le permiten almacenar datos en un formato que


coincida más estrechamente con la estructura original. Por ejemplo, en una base de datos
de documentos, puede almacenar los detalles de cada cliente en un solo documento,
como se muestra en el ejemplo de la unidad anterior. Recuperar los detalles de un cliente,
incluida la dirección, es cuestión de leer un solo documento. Sin embargo, existen algunas
desventajas al usar una base de datos de documentos. Si dos clientes conviven y tienen la
misma dirección, en una base de datos relacional solo necesitaría almacenar la
información de la dirección una vez. En el siguiente diagrama, Jay y Frances Adams
comparten la misma dirección.

En una base de datos de documentos, la dirección se duplicaría en los documentos de Jay


y Francis Adams. Esta duplicación no solo aumenta el almacenamiento requerido, sino que
también puede hacer que el mantenimiento sea más complejo (si la dirección cambia,
debe modificarla en dos documentos).
DESCRIBIR LAS CARGAS DE TRABAJO TRANSACCIONALES.
Las bases de datos relacionales y no relacionales son adecuadas para diferentes cargas de
trabajo. Un uso principal de las bases de datos relacionales es manejar el procesamiento
de transacciones.
Una transacción es una secuencia de operaciones que son atómicas. Esto significa que
todas las operaciones en la secuencia deben completarse con éxito, o si algo sale mal,
todas las operaciones ejecutadas hasta ahora en la secuencia deben deshacerse. Las
transferencias bancarias son un buen ejemplo; deduce fondos de una cuenta y acredita los
fondos equivalentes a otra cuenta. Si el sistema falla después de deducir los fondos,
deben restablecerse en la cuenta original (no deben perderse). Luego puede intentar
realizar la transferencia nuevamente. Del mismo modo, no debería poder acreditar una
cuenta dos veces con los mismos fondos.
Cada transacción de la base de datos tiene un punto de inicio definido, seguido de pasos
para modificar los datos dentro de la base de datos. Al final, la base de datos confirma los
cambios para hacerlos permanentes o revierte los cambios al punto de partida, cuando la
transacción se puede volver a intentar.
Una base de datos transaccional debe adherirse a las propiedades ACID (Atomicidad,
Consistencia, Aislamiento, Durabilidad) para garantizar que la base de datos permanezca
consistente mientras procesa las transacciones.

 Atomicity garantiza que cada transacción se trate como una sola unidad, que tiene
éxito por completo o falla por completo. Si alguna de las declaraciones que
constituyen una transacción no se completa, la transacción completa falla y la base
de datos no se modifica. Un sistema atómico debe garantizar la atomicidad en
todas y cada una de las situaciones, incluyendo fallas de energía, errores y fallas.

 La coherencia garantiza que una transacción solo pueda llevar los datos de la base
de datos de un estado válido a otro. Una base de datos consistente nunca debe
perder o crear datos de una manera que no se pueda tener en cuenta. En el
ejemplo de transferencia bancaria descrito anteriormente, si agrega fondos a una
cuenta, debe haber una deducción de fondos correspondiente en algún lugar, o un
registro que describa de dónde provienen los fondos si se han recibido
externamente. No puedes crear (o perder) dinero de repente.

 El aislamiento asegura que la ejecución concurrente de transacciones deja la base


de datos en el mismo estado que se habría obtenido si las transacciones se
ejecutaran secuencialmente. Un proceso concurrente no puede ver los datos en un
estado inconsistente (por ejemplo, los fondos se han deducido de una cuenta, pero
aún no se han acreditado a otra).

 La durabilidad garantiza que una vez que se haya comprometido una transacción,
seguirá siéndolo incluso si hay una falla del sistema, como un corte de energía o un
bloqueo.

Los sistemas de bases de datos que procesan cargas de trabajo transaccionales son
intrínsecamente complejos. Necesitan administrar usuarios concurrentes que
posiblemente intenten acceder y modificar los mismos datos al mismo tiempo,
procesando las transacciones de forma aislada mientras mantienen la base de
datos consistente y recuperable. Muchos sistemas implementan consistencia
relacional y aislamiento mediante la aplicación de bloqueos a los datos cuando se
actualizan. El bloqueo evita que otro proceso lea los datos hasta que se libere el
bloqueo. El bloqueo solo se libera cuando la transacción se confirma o revierte. El
bloqueo extenso puede conducir a un bajo rendimiento, mientras que las
aplicaciones esperan a que se liberen los bloqueos.
Las bases de datos distribuidas son ampliamente utilizadas en muchas
organizaciones. Una base de datos distribuida es una base de datos en la que los
datos se almacenan en diferentes ubicaciones físicas. Se puede guardar en varias
computadoras ubicadas en la misma ubicación física (por ejemplo, un centro de
datos), o se puede dispersar en una red de computadoras interconectadas. En
comparación con los sistemas de bases de datos no distribuidas, cualquier
actualización de datos a una base de datos distribuida tomará tiempo en aplicarse
en múltiples ubicaciones. Si necesita consistencia transaccional en este escenario,
los bloqueos pueden conservarse durante mucho tiempo, especialmente si hay una
falla de red entre las bases de datos en un momento crítico. Para contrarrestar este
problema, muchos sistemas de administración de bases de datos distribuidas
relajan los estrictos requisitos de aislamiento de las transacciones e
implementan "consistencia eventual”. En esta forma de coherencia, a medida que
una aplicación escribe datos, cada cambio es registrado por un servidor y luego
propagado a los otros servidores en el sistema de base de datos distribuido de
forma asincrónica. Si bien esta estrategia ayuda a minimizar la latencia, puede
generar inconsistencias temporales en los datos. La consistencia eventual es ideal
cuando la aplicación no requiere ninguna garantía de pedido. Los ejemplos
incluyen recuentos de acciones, me gusta o comentarios sin hilos en un sistema de
redes sociales.

DESCRIBIR LAS CARGAS DE TRABAJO ANALÍTICAS.

Las cargas de trabajo analíticas suelen ser sistemas de solo lectura que almacenan
grandes volúmenes de datos históricos o métricas comerciales, como el
rendimiento de ventas y los niveles de inventario. Las cargas de trabajo analíticas
se utilizan para el análisis de datos y la toma de decisiones. Los análisis se generan
al agregar los hechos presentados por los datos sin procesar en resúmenes,
tendencias y otros tipos de "información comercial".

Los análisis pueden basarse en una instantánea de los datos en un momento dado
o en una serie de instantáneas. Las personas que están más arriba en la jerarquía
de la empresa generalmente no requieren todos los detalles de cada transacción.
Quieren la imagen más grande.

Un ejemplo de información analítica es un informe de ventas mensuales. Como jefe


del departamento de ventas, es posible que no necesite ver todas las transacciones
diarias que tuvieron lugar (información transaccional), pero definitivamente le
gustaría un informe de ventas mensual para identificar tendencias y tomar
decisiones (información analítica).
Sin embargo, la información transaccional es una parte integral de la información
analítica. Si no tiene buenos registros de ventas diarias, no puede compilar un
informe útil para identificar tendencias. Es por eso que el manejo eficiente de la
información transaccional es muy importante.

DESCRIBA LA DIFERENCIA ENTRE LOTE Y TRANSMISIÓN DE DATOS.


El procesamiento de datos es simplemente la conversión de datos sin procesar a
información significativa a través de un proceso. Dependiendo de cómo se ingresen los
datos en su sistema, puede procesar cada elemento de datos a medida que llegue, o
almacenar los datos sin procesar y procesarlos en grupos. El procesamiento de datos a
medida que llega se denomina transmisión. El almacenamiento en búfer y el
procesamiento de los datos en grupos se denomina procesamiento por lotes.

COMPRENDER EL PROCESAMIENTO POR LOTES


En el procesamiento por lotes, los elementos de datos recién llegados se recopilan en un
grupo. Todo el grupo se procesa en un futuro como un lote. Exactamente cuándo se
procesa cada grupo se puede determinar de varias maneras. Por ejemplo, puede procesar
datos en función de un intervalo de tiempo programado (por ejemplo, cada hora), o
podría activarse cuando haya llegado una cierta cantidad de datos o como resultado de
algún otro evento.
Un ejemplo de procesamiento por lotes es la forma en que las compañías de tarjetas de
crédito manejan la facturación. El cliente no recibe una factura por cada compra con
tarjeta de crédito por separado, sino una factura mensual por todas las compras de ese
mes.
Las ventajas del procesamiento por lotes incluyen:

 Se pueden procesar grandes volúmenes de datos en un momento conveniente.


 Se puede programar para ejecutarse en un momento en que las computadoras o
los sistemas podrían estar inactivos, como durante la noche o durante las horas de
menor actividad.
Las desventajas del procesamiento por lotes incluyen:

 El tiempo de retraso entre la ingesta de datos y la obtención de los resultados.


 Todos los datos de entrada de un trabajo por lotes deben estar listos antes de que
se pueda procesar un lote. Esto significa que los datos deben ser cuidadosamente
revisados. Los problemas con los datos, los errores y los bloqueos del programa
que ocurren durante los trabajos por lotes detienen todo el proceso. Los datos de
entrada deben verificarse cuidadosamente antes de que el trabajo pueda
ejecutarse nuevamente. Incluso los errores menores de datos, como los errores
tipográficos en las fechas, pueden evitar que se ejecute un trabajo por lotes.

COMPRENDER LA TRANSMISIÓN Y LOS DATOS EN TIEMPO REAL


En el procesamiento continuo, cada nueva pieza de datos se procesa cuando llega. Por
ejemplo, la ingestión de datos es inherentemente un proceso de transmisión.
La transmisión maneja los datos en tiempo real. A diferencia del procesamiento por lotes,
no hay que esperar hasta el próximo intervalo de procesamiento por lotes, y los datos se
procesan como piezas individuales en lugar de procesarse por lotes. El procesamiento de
la transmisión de datos es beneficioso en la mayoría de los escenarios donde se generan
datos nuevos y dinámicos de forma continua.
Los ejemplos de transmisión de datos incluyen:

 Una institución financiera rastrea los cambios en el mercado de valores en tiempo


real, calcula el valor en riesgo y reequilibra automáticamente las carteras en
función de los movimientos del precio de las acciones.
 Una compañía de juegos en línea recopila datos en tiempo real sobre las
interacciones entre jugadores y alimenta los datos en su plataforma de juegos.
Luego analiza los datos en tiempo real, ofrece incentivos y experiencias dinámicas
para involucrar a sus jugadores.
 Un sitio web de bienes raíces que rastrea un subconjunto de datos de los
dispositivos móviles de los consumidores y hace recomendaciones de propiedades
en tiempo real de las propiedades a visitar en función de su ubicación geográfica.
El procesamiento de flujo es ideal para operaciones de tiempo crítico que requieren una
respuesta instantánea en tiempo real. Por ejemplo, un sistema que controla el humo y el
calor de un edificio necesita activar alarmas y desbloquear puertas para permitir que los
residentes escapen inmediatamente en caso de incendio.

COMPRENDER LAS DIFERENCIAS ENTRE EL LOTE Y LA TRANSMISIÓN DE


DATOS
Además de la forma en que el procesamiento por lotes y el procesamiento de transmisión
manejan los datos, existen otras diferencias:

 Alcance de los datos: los datos por lotes pueden procesar todos los datos del
conjunto de datos. El procesamiento de flujo generalmente solo tiene acceso a los
datos recibidos más recientes, o dentro de una ventana de tiempo variable (los
últimos 30 segundos, por ejemplo).
 Tamaño de datos: los datos por lotes son adecuados para manejar grandes
conjuntos de datos de manera eficiente. El procesamiento de flujo está destinado
a registros individuales o micro lotes que consisten en pocos registros.

 Rendimiento: la latencia para el procesamiento por lotes suele ser de unas pocas
horas. El procesamiento de flujo generalmente ocurre de inmediato, con una
latencia del orden de segundos o milisegundos. La latencia es el tiempo que se
tarda en recibir y procesar los datos.
 Análisis: por lo general, utiliza el procesamiento por lotes para realizar análisis
complejos. El procesamiento de flujo se utiliza para funciones de respuesta
simples, agregados o cálculos, como promedios móviles.
COMPRUEBA TU CONOCIMIENTO
EXPLORE LOS ROLES LABORALES EN EL MUNDO DE LOS DATOS
INTRODUCCIÓN
Durante la última década, la cantidad de datos que generan los sistemas y
dispositivos ha aumentado significativamente. Debido a este aumento, las
nuevas tecnologías, roles y enfoques para trabajar con datos están afectando
a los profesionales de datos. Los profesionales de datos generalmente
cumplen diferentes roles cuando administran, usan y controlan datos. En
este módulo, aprenderá sobre los diversos roles que las organizaciones a
menudo aplican a los profesionales de datos, y las tareas y responsabilidades
asociadas con estos roles.
OBJETIVOS DE APRENDIZAJE
En este módulo podrás:
 Explore los roles de trabajo de datos
 Explore tareas y herramientas comunes para roles de trabajo de datos

Existe una amplia variedad de roles involucrados en la gestión, el control y el


uso de datos. Algunas funciones están orientadas a los negocios, otras
implican más ingeniería, otras se centran en la investigación y otras son
funciones híbridas que combinan diferentes aspectos de la gestión de datos.
En esta unidad, explorará los roles de trabajo más comunes en el mundo de
los datos. Su organización puede definir roles de manera diferente, o darles
nombres diferentes, pero los roles descritos en esta unidad encapsulan la
división más común de trabajo y responsabilidades.
¿CUÁLES SON LOS ROLES EN EL MUNDO DE LOS DATOS?
Hay tres roles laborales clave que se ocupan de los datos en la mayoría de las
organizaciones. Los administradores de bases de datos administran bases de
datos, asignan permisos a los usuarios, almacenan copias de seguridad de
datos y restauran datos en caso de fallas. Los ingenieros de datos son vitales
para trabajar con datos, aplicar rutinas de limpieza de datos, identificar reglas
comerciales y convertir los datos en información útil. Los analistas de datos
exploran y analizan datos para crear visualizaciones y gráficos que permitan a
las organizaciones tomar decisiones informadas.
ROL DE ADMINISTRADOR DE LA BASE DE DATOS DE AZURE
Un administrador de la base de datos de Azure es responsable del diseño,
implementación, mantenimiento y aspectos operativos de las soluciones de
bases de datos locales y basadas en la nube creadas en los servicios de datos
de Azure y SQL Server. Son responsables de la disponibilidad general y el
rendimiento constante y las optimizaciones de las soluciones de base de
datos. Trabajan con las partes interesadas para implementar políticas,
herramientas y procesos para los planes de respaldo y recuperación para
recuperarse después de un desastre natural o un error provocado por el
hombre.
El administrador de la base de datos también es responsable de administrar
la seguridad de los datos en la base de datos, otorgar privilegios sobre los
datos, otorgar o denegar el acceso a los usuarios según corresponda.
ROL DE INGENIERO DE DATOS
Un ingeniero de datos colabora con las partes interesadas para diseñar e
implementar activos relacionados con datos que incluyen tuberías de
ingestión de datos, actividades de limpieza y transformación, y almacenes de
datos para cargas de trabajo analíticas. Utilizan una amplia gama de
tecnologías de plataforma de datos, incluidas bases de datos relacionales y
no relacionales, almacenes de archivos y flujos de datos.
También son responsables de garantizar que la privacidad de los datos se
mantenga dentro de la nube y que abarque desde los locales hasta los
almacenes de datos en la nube. También son dueños de la gestión y
supervisión de los almacenes de datos y las canalizaciones de datos para
garantizar que las cargas de datos funcionen como se espera.
ROL DE ANALISTA DE DATOS
Un analista de datos permite a las empresas maximizar el valor de sus activos
de datos. Son responsables de diseñar y construir modelos escalables, limpiar
y transformar datos, y habilitar capacidades analíticas avanzadas a través de
informes y visualizaciones.
Un analista de datos procesa datos sin procesar en información relevante
basada en los requisitos comerciales identificados para brindar información
relevante.
REVISAR TAREAS Y HERRAMIENTAS PARA LA ADMINISTRACIÓN DE BASES
DE DATOS.
Los administradores de bases de datos tienen la tarea de administrar y
organizar bases de datos. El trabajo principal de un administrador de base de
datos es garantizar que los datos estén disponibles, protegidos contra
pérdida, corrupción o robo, y que sean fácilmente accesibles según sea
necesario.
TAREAS Y RESPONSABILIDADES DEL ADMINISTRADOR DE LA BASE DE
DATOS
Algunas de las funciones y responsabilidades más comunes de un
administrador de base de datos incluyen:
 Instalación y actualización del servidor de bases de datos y
herramientas de aplicación.
 Asignación de almacenamiento del sistema y planificación de
requisitos de almacenamiento para el sistema de base de datos.
 Modificar la estructura de la base de datos, según sea necesario, a
partir de la información proporcionada por los desarrolladores de
aplicaciones.
 Inscribir usuarios y mantener la seguridad del sistema.
 Garantizar el cumplimiento del acuerdo de licencia del proveedor de la
base de datos.
 Control y seguimiento del acceso del usuario a la base de datos.
 Monitoreo y optimización del rendimiento de la base de datos.
 Planificación de copias de seguridad y recuperación de información de
bases de datos.
 Mantenimiento de datos archivados.
 Copia de seguridad y restauración de bases de datos.
 Contactando al proveedor de la base de datos para soporte técnico.
 Generando varios informes consultando desde la base de datos según
las necesidades.
 Gestión y seguimiento de la replicación de datos.
 Actuando como enlace con los usuarios.
HERRAMIENTAS COMUNES DE ADMINISTRADOR DE BASES DE DATOS
La mayoría de los sistemas de administración de bases de datos proporcionan
su propio conjunto de herramientas para ayudar con la administración de la
base de datos. Por ejemplo, los administradores de bases de datos de SQL
Server usan SQL Server Management Studio para la mayoría de sus
actividades diarias de mantenimiento de bases de datos. Otros sistemas
tienen sus propias interfaces específicas de bases de datos, como pgAdmin
para sistemas PostgreSQL o MySQL Workbench para MySQL. También hay
una serie de herramientas de administración de bases de datos
multiplataforma disponibles. Un ejemplo es Azure Data Studio.
¿QUÉ ES AZURE DATA STUDIO?
Azure Data Studio proporciona una interfaz gráfica de usuario para
administrar muchos sistemas de bases de datos diferentes. Actualmente
proporciona conexiones a bases de datos locales de SQL Server, Azure SQL
Database, PostgreSQL, Azure SQL Data Warehouse y SQL Server Big Data
Clusters, entre otros. Es una herramienta extensible, y puede descargar e
instalar extensiones de desarrolladores externos que se conectan a otros
sistemas, o proporcionar asistentes que ayudan a automatizar muchas tareas
administrativas.
¿QUÉ ES SQL SERVER MANAGEMENT STUDIO?
SQL Server Management Studio proporciona una interfaz gráfica que le
permite consultar datos, realizar tareas generales de administración de la
base de datos y generar scripts para automatizar el mantenimiento de la
base de datos y las operaciones de soporte. El siguiente ejemplo muestra que
SQL Server Management Studio se utiliza para hacer una copia de seguridad
de una base de datos.
Una característica útil de SQL Server Management Studio es la capacidad de
generar scripts de Transact-SQL para casi todas las funciones que
proporciona SSMS. Esto le da al DBA la capacidad de programar y
automatizar muchas tareas comunes.
NOTA
Transact-SQL es un conjunto de extensiones de programación de Microsoft
que agrega varias características al Lenguaje de consulta estructurado (SQL),
que incluye control de transacciones, manejo de excepciones y errores,
procesamiento de filas y variables declaradas.

USE AZURE PORTAL PARA ADMINISTRAR AZURE SQL DATABASE


La base de datos SQL de Azure proporciona servicios de bases de datos en
Azure. Es similar a SQL Server, excepto que se ejecuta en la nube. Puede
administrar la base de datos Azure Azure con Azure Portal.
Las tareas de configuración típicas, como aumentar el tamaño de la base de
datos, crear una nueva base de datos y eliminar una base de datos existente,
se realizan mediante Azure Portal.

Puede usar Azure Portal para administrar y ajustar dinámicamente recursos


como el tamaño de almacenamiento de datos y la cantidad de núcleos
disponibles para el procesamiento de la base de datos. Estas tareas
requerirían el apoyo de un administrador del sistema si estuviera ejecutando
la base de datos localmente.
REVISAR TAREAS Y HERRAMIENTAS PARA LA INGENIERÍA DE DATOS.
Los ingenieros de datos tienen la tarea de administrar y organizar los datos,
al mismo tiempo que monitorean las tendencias o inconsistencias que
afectarán los objetivos comerciales. Es una posición altamente técnica, que
requiere experiencia y habilidades en áreas como programación,
matemáticas e informática. Pero los ingenieros de datos también necesitan
habilidades blandas para comunicar las tendencias de datos a otros en la
organización y ayudar a la empresa a utilizar los datos que recopila.
INGENIERO DE DATOS TAREAS Y RESPONSABILIDADES
Algunos de los roles y responsabilidades más comunes de un ingeniero de
datos incluyen:
 Desarrollar, construir, probar y mantener bases de datos y estructuras
de datos.
 Alinear la arquitectura de datos con los requisitos del negocio.
 Adquisición de datos.
 Desarrollo de procesos para crear y recuperar información de
conjuntos de datos.
 Usar lenguajes de programación y herramientas para examinar los
datos.
 Identificar formas de mejorar la fiabilidad, la eficiencia y la calidad de
los datos.
 Realización de investigaciones para la industria y las preguntas
comerciales.
 Implementación de sofisticados programas de análisis, aprendizaje
automático y métodos estadísticos.
 Preparación de datos para el modelado predictivo y prescriptivo.
 Usar datos para descubrir tareas que pueden automatizarse.
HERRAMIENTAS COMUNES DE INGENIERÍA DE DATOS
Para dominar la ingeniería de datos, deberá estar familiarizado con una gama
de herramientas que le permitan crear bases de datos bien diseñadas y
optimizadas para los procesos comerciales que se ejecutarán. Debe tener un
conocimiento profundo de la arquitectura del sistema de administración de
la base de datos, la plataforma en la que se ejecuta el sistema y los requisitos
comerciales para los datos que se almacenan en la base de datos.
Si está utilizando un sistema de gestión de bases de datos relacionales, debe
tener fluidez en SQL. Debe poder utilizar SQL para crear bases de datos,
tablas, índices, vistas y los demás objetos requeridos por la base de datos.
Muchos sistemas de administración de bases de datos proporcionan
herramientas que le permiten crear y ejecutar scripts SQL. Por ejemplo, SQL
Server Management Studio (descrito en la unidad anterior), le permite crear
y consultar tablas visualmente, pero también puede crear sus propios scripts
SQL manualmente.
En algunos casos, es posible que deba interactuar con una base de datos
desde la línea de comandos. Muchos sistemas de gestión de bases de datos
proporcionan una interfaz de línea de comandos que admite estas
operaciones. Por ejemplo, puede usar la utilidad sqlcmd para conectarse a
Microsoft SQL Server y Azure SQL Database, y ejecutar consultas y comandos
ad-hoc.
Como profesional de SQL Server, su herramienta principal de manipulación
de datos podría ser Transact-SQL. Como ingeniero de datos, puede usar
tecnologías adicionales, como Azure Databricks y Azure HDInsight para
generar y probar modelos predictivos. Si está trabajando en el campo no
relacional, puede usar Azure Cosmos DB como su almacén de datos principal.
Para manipular y consultar los datos, puede usar lenguajes como HiveQL, R o
Python.
REVISE LAS TAREAS Y HERRAMIENTAS PARA LA VISUALIZACIÓN DE DATOS E
INFORMES
Los analistas de datos son responsables de comprender qué significan
realmente los datos. Un analista de datos calificado explorará los datos y los
usará para determinar tendencias, problemas y obtener otras ideas que
podrían ser beneficiosas para la empresa.
Una gran parte del rol de analista de datos está relacionada con la
comunicación y la visualización. La visualización de datos es clave para
presentar grandes cantidades de información de manera universalmente
comprensible o fácil de interpretar y detectar patrones, tendencias y
correlaciones. Estas representaciones incluyen cuadros, gráficos, infografías y
otros diagramas pictóricos. Los analistas de visualización de datos utilizan
herramientas y software de visualización para comunicar información de esta
manera, para clientes o para su propia empresa. Un buen analista de datos
requiere experiencia y habilidades en herramientas de informes como
Microsoft Power BI y SQL Server Reporting Services.

TAREAS Y RESPONSABILIDADES DEL ANALISTA DE DATOS


Las funciones principales de un analista de datos generalmente incluyen lo
siguiente:
 Hacer que los datos grandes o complejos sean más accesibles,
comprensibles y utilizables.
 Crear cuadros y gráficos, histogramas, mapas geográficos y otros
modelos visuales que ayudan a explicar el significado de grandes
volúmenes de datos y a aislar áreas de interés.
 Transformando, mejorando e integrando datos de muchas fuentes,
dependiendo de los requisitos del negocio.
 Combinando los conjuntos de resultados de datos en múltiples
fuentes. Por ejemplo, la combinación de datos de ventas y datos
climáticos proporciona una visión útil de cómo el clima influyó en las
ventas de ciertos productos, como los helados.
 Encontrar patrones ocultos utilizando datos.
 Brindar información de manera útil y atractiva a los usuarios mediante
la creación de paneles e informes gráficos enriquecidos.
HERRAMIENTAS COMUNES DE VISUALIZACIÓN DE DATOS.
Tradicionalmente, muchos analistas de datos utilizan aplicaciones de
Microsoft Office como Microsoft Excel para crear informes visuales
enriquecidos. Muchos analistas ahora usan Microsoft Power BI, una potente
plataforma de visualización, para crear cuadros de mando e informes gráficos
y ricos sobre datos que pueden variar dinámicamente.
Power BI es una colección de servicios de software, aplicaciones y conectores
que trabajan juntos para convertir sus fuentes de datos no relacionadas en
información coherente, visualmente inmersiva e interactiva. Sus datos
pueden estar en algún lugar local, como una hoja de cálculo de Excel, o en
una colección de bases de datos locales y basadas en la nube, o algún otro
conjunto de fuentes de datos. Power BI le permite conectarse fácilmente a
sus fuentes de datos, descubrir qué es importante en esos datos y compartir
sus hallazgos con otras personas de la organización.
La siguiente imagen muestra un ejemplo de un panel creado con Power BI. En
este ejemplo, el analista está utilizando Power BI para examinar los datos de
ventas minoristas de artículos vendidos en múltiples tiendas y distritos. Las
métricas comparan el desempeño de este año con el del año pasado para
ventas, unidades, margen bruto y variación, así como el análisis de nuevas
tiendas.
COMPRUEBA TU CONOCIMIENTO
DESCRIBIR CONCEPTOS DE DATOS RELACIONALES
INTRODUCCIÓN
En los primeros años de las bases de datos, cada aplicación almacenaba datos
en su propia estructura única. Cuando los desarrolladores querían crear
aplicaciones para usar esos datos, tenían que saber mucho sobre la
estructura de datos particular para encontrar los datos que necesitaban.
Estas estructuras de datos eran ineficientes, difíciles de mantener y difíciles
de optimizar para ofrecer un buen rendimiento de la aplicación. El modelo de
base de datos relacional fue diseñado para resolver el problema de múltiples
estructuras de datos arbitrarias. El modelo relacional proporcionó una forma
estándar de representar y consultar datos que cualquier aplicación podría
utilizar. Desde el principio, los desarrolladores reconocieron que la principal
fortaleza del modelo de base de datos relacional estaba en el uso de tablas,
que eran una forma intuitiva, eficiente y flexible de almacenar y acceder a
información estructurada.
Las organizaciones de todo tipo y tamaño utilizan el modelo relacional simple
pero potente para una amplia variedad de necesidades de gestión de la
información. Las bases de datos relacionales se utilizan para rastrear
inventarios, procesar transacciones de comercio electrónico, administrar
grandes cantidades de información de clientes de misión crítica y mucho
más. Una base de datos relacional es útil para almacenar cualquier
información que contenga elementos de datos relacionados que deben
organizarse de manera coherente y basada en reglas.
En este módulo, aprenderá sobre las características clave de los datos
relacionales y explorará las estructuras de datos relacionales.
OBJETIVOS DE APRENDIZAJE
En este módulo podrás:
 Explore las características de los datos relacionales
 Definir tablas, índices y vistas.
 Explore las ofertas de carga de trabajo de datos relacionales en Azure
EXPLORE LAS CARACTERÍSTICAS DE LOS DATOS RELACIONALES
Uno de los principales beneficios de las bases de datos informáticas es que
facilitan el almacenamiento de información, por lo que es rápido y fácil de
encontrar. Por ejemplo, un sistema de comercio electrónico podría usar una
base de datos para registrar información sobre los productos que vende una
organización y los detalles de los clientes y los pedidos que han realizado.
Una base de datos relacional proporciona un modelo para almacenar los
datos y una capacidad de consulta que le permite recuperar datos
rápidamente.
En esta unidad, aprenderá más sobre las características de los datos
relacionales y cómo puede almacenar esta información y consultarla en una
base de datos relacional.
COMPRENDER LAS CARACTERÍSTICAS DE LOS DATOS RELACIONALES.
En una base de datos relacional, modela colecciones de entidades del mundo
real como tablas. Una entidad se describe como una cosa sobre la cual se
necesita conocer o mantener información. En el ejemplo de comercio
electrónico, puede crear tablas para clientes, productos y pedidos. Una tabla
contiene filas, y cada fila representa una sola instancia de una entidad. En el
escenario de comercio electrónico, cada fila de la tabla de clientes contiene
los datos de un solo cliente, cada fila de la tabla de productos define un solo
producto y cada fila de la tabla de pedidos representa un pedido realizado
por un cliente.
Las filas de una tabla tienen una o más columnas que definen las propiedades
de la entidad, como el nombre del cliente o el ID del producto. Todas las filas
en la misma tabla tienen las mismas columnas. Algunas columnas se utilizan
para mantener relaciones entre tablas. Aquí es donde el modelo relacional
recibe su nombre. En la imagen a continuación, la tabla Pedidos contiene una
ID de cliente y una ID de producto. La identificación del cliente se relaciona
con la tabla Clientes para identificar al cliente que realizó el pedido, y la
identificación del producto se relaciona con la tabla Productos para indicar
qué producto se compró.
Diseña una base de datos relacional creando un modelo de datos. El
siguiente modelo muestra la estructura de las entidades del ejemplo
anterior. En este diagrama, las columnas marcadas PK son la clave principal
de la tabla. La clave primaria indica la columna (o combinación de columnas)
que identifica de forma única cada fila. Cada tabla debe tener una clave
primaria.
El diagrama también muestra las relaciones entre las tablas. Las líneas que
conectan las tablas indican el tipo de relación. En este caso, la relación de los
clientes con los pedidos es de 1 a muchos (un cliente puede hacer muchos
pedidos, pero cada pedido es para un solo cliente). Del mismo modo, la
relación entre pedidos y productos es de muchos a 1 (varios pedidos pueden
ser para el mismo producto).
Las columnas marcadas con FK son columnas de clave externa. Hacen
referencia o se vinculan a la clave principal de otra tabla y se utilizan para
mantener las relaciones entre las tablas. Una clave externa también ayuda a
identificar y prevenir anomalías, como los pedidos de clientes que no existen
en la tabla Clientes. En el modelo a continuación, las columnas ID de cliente e
ID de producto en la tabla Pedidos se vinculan con el cliente que realizó el
pedido y el producto que se ordenó:
Las características principales de una base de datos relacional son:
 Todos los datos son tabulares. Las entidades se modelan como tablas,
cada instancia de una entidad es una fila en la tabla y cada propiedad
se define como una columna.
 Todas las filas en la misma tabla tienen el mismo conjunto de
columnas.
 Una tabla puede contener cualquier número de filas.
 Una clave primaria identifica de forma exclusiva cada fila de una tabla.
No hay dos filas que puedan compartir la misma clave primaria.
 Una clave externa hace referencia a filas en otra tabla relacionada.
Para cada valor en la columna de clave externa, debe haber una fila
con el mismo valor en la columna de clave primaria correspondiente
en la otra tabla.
NOTA
Crear un modelo de base de datos relacional para una organización grande
no es una tarea trivial. Puede tomar varias iteraciones para definir tablas para
que coincidan con las características descritas anteriormente. A veces tienes
que dividir una entidad en más de una tabla. Este proceso se llama
normalización.
La mayoría de las bases de datos relacionales admiten el lenguaje de consulta
estructurado (SQL). Utiliza SQL para crear tablas, insertar, actualizar y
eliminar filas en tablas, y para consultar datos. Utiliza el CREATE
TABLEcomando para crear una tabla, la INSERTinstrucción para almacenar
datos en una tabla, la UPDATEinstrucción para modificar datos en una tabla y
la DELETEinstrucción para eliminar filas de una tabla. La SELECTdeclaración
recupera datos de una tabla. La siguiente consulta de ejemplo encuentra los
detalles de cada cliente de la base de datos de muestra que se muestra
arriba.
En lugar de recuperar cada fila, puede filtrar datos utilizando una cláusula
WHERE. La siguiente consulta obtiene el ID del pedido y el ID del producto
para todos los pedidos realizados por el cliente 1.

Puede combinar los datos de varias tablas en una consulta mediante una
operación de combinación. Una operación de unión abarca las relaciones
entre tablas, lo que le permite recuperar los datos de más de una tabla a la
vez. La siguiente consulta recupera el nombre de cada cliente, junto con el
nombre del producto y la cantidad de cada pedido que han realizado.
Observe que cada columna está calificada con la tabla a la que pertenece:

Puede encontrar todos los detalles sobre SQL en el sitio web de Microsoft, en
la página del Lenguaje de consulta estructurado (SQL).
EXPLORE CASOS DE USO DE BASES DE DATOS RELACIONALES
Puede usar una base de datos relacional siempre que pueda modelar
fácilmente sus datos como una colección de tablas con un conjunto fijo de
columnas. En teoría, podría modelar casi cualquier conjunto de datos de esta
manera, pero algunos escenarios se prestan al modelo relacional mejor que
otros.
Por ejemplo, si tiene una colección de música, video u otros archivos
multimedia, intentar forzar estos datos en el modelo relacional podría ser
difícil. Puede que sea mejor usar almacenamiento no estructurado, como el
disponible en Azure Blob Storage. Del mismo modo, los sitios de redes
sociales utilizan bases de datos para almacenar datos sobre millones de
usuarios, junto con fotografías y otra información sobre esos usuarios y
otros. Este tipo de datos se presta más a una estructura de base de datos
gráfica que a una colección de tablas relacionales.
Las bases de datos relacionales se usan comúnmente en los sistemas de
comercio electrónico, pero uno de los principales casos de uso para usar
bases de datos relacionales es el procesamiento de transacciones en línea
(OLTP). Las aplicaciones OLTP se centran en tareas orientadas a transacciones
que procesan una gran cantidad de transacciones por minuto. Las bases de
datos relacionales son muy adecuadas para aplicaciones OLTP porque,
naturalmente, admiten operaciones de inserción, actualización y eliminación.
Una base de datos relacional a menudo se puede ajustar para agilizar estas
operaciones. Además, la naturaleza de SQL facilita a los usuarios realizar
consultas ad-hoc sobre datos.
Ejemplos de aplicaciones OLTP que usan bases de datos relacionales son
soluciones bancarias, aplicaciones minoristas en línea, sistemas de reserva de
vuelos y muchas aplicaciones de compras en línea.
EXPLORE ESTRUCTURAS DE DATOS RELACIONALES
Una base de datos relacional comprende un conjunto de tablas. Una tabla
puede tener cero (si la tabla está vacía) o más filas. Cada tabla tiene un
conjunto fijo de columnas. Puede definir relaciones entre tablas usando
claves primarias y externas, y puede acceder a los datos en tablas usando
SQL.
Además de las tablas, una base de datos relacional típica contiene otras
estructuras que ayudan a optimizar la organización de los datos y a mejorar
la velocidad de acceso. En esta unidad, verás dos de estas estructuras con
más detalle: índices y vistas.
¿QUÉ ES UN ÍNDICE?
Un índice lo ayuda a buscar datos en una tabla. Piense en un índice sobre una
mesa como un índice al final de un libro. Un índice de libro contiene un
conjunto ordenado de referencias, con las páginas en las que se produce
cada referencia. Cuando desee encontrar una referencia a un elemento en el
libro, búsquela a través del índice. Puede usar los números de página en el
índice para ir directamente a las páginas correctas del libro. Sin un índice, es
posible que tenga que leer todo el libro para encontrar las referencias que
está buscando.

Cuando crea un índice en una base de datos, especifica una columna de la


tabla, y el índice contiene una copia de estos datos en un orden ordenado,
con punteros a las filas correspondientes en la tabla. Cuando el usuario
ejecuta una consulta que especifica esta columna en la cláusula WHERE, el
sistema de administración de la base de datos puede usar este índice para
obtener los datos más rápidamente que si tuviera que explorar la tabla
completa fila por fila. En el siguiente ejemplo, la consulta recupera todos los
pedidos para el cliente C1. La tabla de pedidos tiene un índice en la columna
ID de cliente. El sistema de administración de la base de datos puede
consultar el índice para encontrar rápidamente todas las filas coincidentes en
la tabla Pedidos.

Puede crear muchos índices en una tabla. Por lo tanto, si también desea
encontrar todos los pedidos de un producto específico, sería útil crear otro
índice en la columna ID del producto en la tabla Pedidos. Sin embargo, los
índices no son gratuitos. Un índice puede consumir espacio de
almacenamiento adicional, y cada vez que inserte, actualice o elimine datos
en una tabla, los índices para esa tabla deben mantenerse. Este trabajo
adicional puede ralentizar las operaciones de inserción, actualización y
eliminación e incurrir en cargos de procesamiento adicionales. Por lo tanto, al
decidir qué índices crear, debe lograr un equilibrio entre tener índices que
aceleren sus consultas versus el costo de realizar otras operaciones. En una
tabla que es de solo lectura, o que contiene datos que se modifican con poca
frecuencia, más índices mejorarán el rendimiento de la consulta. Si una tabla
se consulta con poca frecuencia,
Algunos sistemas de gestión de bases de datos relacionales también admiten
índices agrupados. Un índice agrupado reorganiza físicamente una tabla por
la clave de índice. Esta disposición puede mejorar aún más el rendimiento de
las consultas, ya que el sistema de gestión de bases de datos relacionales no
tiene que seguir las referencias del índice para encontrar los datos
correspondientes en la tabla subyacente. La siguiente imagen muestra la
tabla de pedidos con un índice agrupado en la columna de ID de cliente.

En los sistemas de administración de bases de datos que los admiten, una


tabla solo puede tener un único índice agrupado.
¿QUÉ ES UNA VISTA?
Una vista es una tabla virtual basada en el conjunto de resultados de una
consulta. En el caso más simple, puede pensar en una vista como una
ventana en filas especificadas en una tabla subyacente. Por ejemplo, podría
crear una vista en la tabla Pedidos que enumera los pedidos de un producto
específico (en este caso, el producto P1) de esta manera:

Puede consultar la vista y filtrar los datos de la misma manera que una tabla.
La siguiente consulta encuentra los pedidos para el cliente C1 utilizando la
vista. Esta consulta solo devolverá pedidos para el producto P1 realizados por
el cliente:

Una vista también puede unir tablas. Si regularmente necesita encontrar los
detalles de los clientes y los productos que han pedido, puede crear una vista
basada en la consulta de combinación que se muestra en la unidad anterior:

La siguiente consulta encuentra el nombre del cliente y los nombres de los


productos de todos los pedidos realizados por el cliente C2, utilizando esta
vista:

ELIJA LA PLATAFORMA ADECUADA PARA UNA CARGA DE TRABAJO


RELACIONAL
La computación en la nube ha crecido en popularidad, prometiendo
flexibilidad para las empresas, oportunidades para ahorrar tiempo y dinero, y
mejorar la agilidad y la escalabilidad. Por otro lado, el software local,
instalado en los servidores de una empresa y detrás de su firewall, todavía
tiene su atractivo. Las aplicaciones locales son confiables, seguras y permiten
a las empresas mantener un control estricto.
Los sistemas de gestión de bases de datos relacionales son un ejemplo de
dónde la nube ha permitido a las organizaciones aprovechar la escalabilidad
mejorada. Sin embargo, esta escalabilidad debe equilibrarse con la necesidad
de un control estricto sobre los datos. Podría decirse que los datos son uno
de los activos más valiosos que tiene una organización, y algunas empresas
no están dispuestas o no pueden transferir la responsabilidad de proteger
estos datos a un tercero.
En esta unidad, verá algunas de las ventajas y desventajas de ejecutar un
sistema de administración de bases de datos en la nube.
COMPARE EL ALOJAMIENTO LOCAL CON LA NUBE
Ya sea que una empresa coloque su carga de trabajo relacional en la nube o
si decide mantenerla en las instalaciones, la seguridad de los datos siempre
será primordial. Pero para aquellos negocios en industrias altamente
reguladas, la decisión ya podría estar tomada para ellos sobre si alojar sus
aplicaciones en las instalaciones. Saber que sus datos se encuentran dentro
de sus servidores internos y su infraestructura de TI también podría
proporcionarle más tranquilidad.
Hospedar una base de datos relacional local requiere que una empresa no
solo compre el software de la base de datos, sino que también mantenga el
hardware necesario para ejecutar la base de datos. La organización es
responsable de mantener el hardware y el software, aplicar parches, hacer
copias de seguridad de las bases de datos, restaurarlas cuando sea necesario
y, en general, realizar toda la administración diaria necesaria para mantener
operativa la plataforma. La escalabilidad también es una preocupación. Si
necesita escalar su sistema, necesitará actualizar o agregar más servidores.
Luego debe expandir su base de datos a estos servidores. Esta puede ser una
tarea formidable que requiere que desconecte una base de datos mientras se
realiza la operación. En la nube, el personal del centro de datos puede
manejar muchas de estas operaciones, en muchos casos sin tiempo de
inactividad (o mínimo).
Un enfoque basado en la nube utiliza tecnología virtual para alojar las
aplicaciones de una empresa fuera del sitio. No hay gastos de capital, los
datos se pueden respaldar regularmente y las empresas solo tienen que
pagar por los recursos que utilizan. Para aquellas organizaciones que planean
una expansión agresiva a nivel mundial, la nube tiene un atractivo aún mayor
porque le permite conectarse con clientes, socios y otras empresas en
cualquier lugar con un esfuerzo mínimo. Además, la computación en la nube
le brinda un aprovisionamiento casi instantáneo porque todo ya está
configurado. Por lo tanto, cualquier software nuevo que esté integrado en su
entorno está listo para usar inmediatamente una vez que una empresa se
haya suscrito. Con el aprovisionamiento instantáneo, se elimina cualquier
tiempo dedicado a la instalación y configuración y los usuarios pueden
acceder a la aplicación de inmediato.
COMPRENDER IaaS Y PaaS
Generalmente tiene dos opciones al mover sus operaciones y bases de datos
a la nube. Puede seleccionar un enfoque IaaS o PaaS.
IaaS es un acrónimo de Infraestructura como servicio. Azure le permite crear
una infraestructura virtual en la nube que refleja la forma en que podría
funcionar un centro de datos local. Puede crear un conjunto de máquinas
virtuales, conectarlas mediante una red virtual y agregar una variedad de
dispositivos virtuales. En muchos sentidos, este enfoque es similar a la forma
en que ejecuta sus sistemas dentro de una organización, excepto que no
tiene que preocuparse por comprar o mantener el hardware. Sin embargo,
sigue siendo responsable de muchas de las operaciones diarias, como la
instalación y configuración del software, la aplicación de parches, la
realización de copias de seguridad y la restauración de datos cuando sea
necesario. Puedes pensar en IaaS como una casa a mitad de camino a
operaciones totalmente gestionadas en la nube; no tiene que preocuparse
por el hardware, pero ejecutar y administrar el software sigue siendo su
responsabilidad.
Puede ejecutar cualquier software para el que tenga las licencias apropiadas
utilizando este enfoque. No está restringido a ningún sistema de
administración de bases de datos específico.
El enfoque IaaS es mejor para migraciones y aplicaciones que requieren
acceso a nivel de sistema operativo. Las máquinas virtuales SQL son de
elevación y cambio. Es decir, puede copiar su solución local directamente a
una máquina virtual en la nube. El sistema debería funcionar más o menos
exactamente como antes en su nueva ubicación, a excepción de algunos
pequeños cambios de configuración (cambios en las direcciones de red, por
ejemplo) para tener en cuenta el cambio en el entorno.

PaaS significa Plataforma como servicio. En lugar de crear una infraestructura


virtual e instalar y administrar el software de la base de datos usted mismo,
una solución PaaS lo hace por usted. Usted especifica los recursos que
necesita (según el tamaño que cree que serán sus bases de datos, la cantidad
de usuarios y el rendimiento que necesita), y Azure crea automáticamente las
máquinas virtuales, redes y otros dispositivos necesarios para usted. Por lo
general, puede aumentar o disminuir la escala (aumentar o disminuir el
tamaño y la cantidad de recursos) rápidamente, ya que el volumen de datos y
la cantidad de trabajo que se realiza varía; Azure maneja esta escala por
usted, y no tiene que agregar o quitar manualmente máquinas virtuales, ni
realizar ninguna otra forma de configuración.
Azure ofrece varias soluciones de PaaS para bases de datos relacionales, que
incluyen Azure SQL Database, Azure Database for PostgreSQL, Azure
Database for MySQL y Azure Database for MariaDB. Estos servicios ejecutan
versiones administradas de los sistemas de administración de bases de datos
en su nombre. Simplemente conéctese a ellos, cree sus bases de datos y
cargue sus datos. Sin embargo, es posible que haya algunas restricciones
funcionales vigentes y que no todas las funciones del sistema de
administración de la base de datos seleccionado estén disponibles. Estas
restricciones a menudo se deben a problemas de seguridad. Por ejemplo,
pueden exponer el sistema operativo subyacente y el hardware a sus
aplicaciones. En estos casos, es posible que deba volver a trabajar sus
aplicaciones para eliminar cualquier dependencia de estas características.
La imagen a continuación ilustra los beneficios y las ventajas y desventajas al
ejecutar un sistema de administración de bases de datos (en este caso, SQL
Server) localmente, usar máquinas virtuales en Azure (IaaS) o usar Azure SQL
Database (PaaS). Las mismas consideraciones generalizadas son ciertas para
otros sistemas de gestión de bases de datos.
COMPRUEBA TU CONOCIMIENTO
EXPLORE CONCEPTOS DE DATOS NO RELACIONALES
INTRODUCCIÓN
Los datos vienen en todas las formas y tamaños, y pueden usarse para
muchos propósitos. Muchas organizaciones usan bases de datos relacionales
para almacenar estos datos. Sin embargo, el modelo relacional podría no ser
el esquema más apropiado. La estructura de los datos puede ser demasiado
variada para modelar fácilmente como un conjunto de tablas relacionales.
Por ejemplo, los datos pueden contener elementos como video, audio,
imágenes, información temporal, grandes volúmenes de texto libre u otros
tipos de datos que no son inherentemente relacionales. Además, los
requisitos de procesamiento de datos pueden no ser los más adecuados al
intentar convertir estos datos al formato relacional. En estas situaciones,
puede ser mejor utilizar repositorios no relacionales que puedan almacenar
datos en su formato original, pero que permitan un acceso rápido de
almacenamiento y recuperación a estos datos.
Suponga que es un ingeniero de datos que trabaja en Contoso, una
organización con una gran operación de fabricación. La organización tiene
que recopilar y almacenar información de una variedad de fuentes, como el
monitoreo de datos en tiempo real del estado de la maquinaria de la línea de
producción, los datos de control de calidad del producto, los registros
históricos de producción, los volúmenes de productos en stock y los datos de
inventario de materias primas. Esta información es crítica para el
funcionamiento de la organización. Se le ha pedido que determine la mejor
manera de almacenar esta información, para que pueda almacenarse
rápidamente y consultarse fácilmente.
OBJETIVOS DE APRENDIZAJE
En este módulo, usted:
 Explore las características de los datos no relacionales
 Definir tipos de datos no relacionales.
 Describir NoSQL y los tipos de bases de datos no relacionales.
EXPLORE LAS CARACTERÍSTICAS DE LOS DATOS NO RELACIONALES
Las bases de datos relacionales son una herramienta excelente para
almacenar y recuperar datos que tienen una estructura bien conocida, que
contiene campos que puede definir de antemano. En algunas situaciones, es
posible que no tenga el conocimiento requerido de la estructura de sus
datos, antes de que llegue a su base de datos, para registrarlos como un
conjunto ordenado de filas y columnas en formato tabular. Este es un
escenario común en sistemas que consumen datos de una amplia variedad
de fuentes, como las tuberías de ingestión de datos. En estas situaciones, una
base de datos no relacional puede resultar extremadamente útil.
En esta unidad, verá con más detalle las características comunes de las bases
de datos no relacionales. Aprenderá cómo le permiten capturar datos
rápidamente y modelar datos que pueden variar en estructura.

En este ejemplo, los campos tienen como prefijo un nombre. Los campos
también pueden tener múltiples subcampos, también con nombres. En el
ejemplo, varios subcampos se denotan encerrándolos entre corchetes.
Agregar un nuevo cliente es cuestión de insertar una entidad con sus campos
etiquetados de manera significativa. Una aplicación que consulta estos datos
debe estar preparada para analizar la información en la entidad que
recupera.
Las capacidades de recuperación de datos de una base de datos no relacional
pueden variar. Cada entidad debe tener un valor clave único. Las entidades
en una colección generalmente se almacenan en orden clave-valor. En el
ejemplo anterior, la clave única es el campo ID. El tipo más simple de base de
datos no relacional permite que una aplicación especifique la clave única o
un rango de claves como criterios de consulta. En el ejemplo de los clientes,
la base de datos habilitaría una aplicación para consultar a los clientes solo
por ID. Filtrar datos en otros campos requeriría escanear toda la colección de
entidades, analizar cada entidad a su vez y luego aplicar cualquier criterio de
consulta a cada entidad para encontrar coincidencias. En el ejemplo a
continuación, una consulta que obtiene los detalles de un cliente por ID
puede identificar rápidamente qué entidad recuperar. Una consulta que
intente encontrar a todos los clientes con una dirección en el Reino Unido
tendría que recorrer en iteración cada entidad y, para cada entidad, examinar
cada campo por turno. Si la base de datos contiene muchos millones de
entidades, esta consulta podría tardar un tiempo considerable en ejecutarse.

Los sistemas no relacionales más avanzados admiten la indexación, de


manera similar a un índice en una base de datos relacional. Las consultas
pueden usar el índice para identificar y obtener datos basados en campos no
clave. Los sistemas no relacionales, como Azure Cosmos DB (un sistema de
administración de bases de datos no relacionales disponible en Azure),
admiten la indexación incluso cuando la estructura de los datos indexados
puede variar de un registro a otro. Para obtener más información, lea
Indexación en Azure Cosmos DB: descripción general.
Cuando diseña una base de datos no relacional, es importante comprender
las capacidades del sistema de administración de la base de datos y los tipos
de consulta que tendrá que soportar.
NOTA
Las bases de datos no relacionales a menudo proporcionan su propio
lenguaje propietario para administrar y consultar datos. Este lenguaje puede
ser de procedimiento, o puede ser similar a SQL; depende de cómo la base de
datos sea implementada por el sistema de gestión de bases de datos.
IDENTIFICAR CASOS DE USO DE BASES DE DATOS NO RELACIONALES
Las bases de datos no relacionales son muy adecuadas para los siguientes
escenarios:
 IoT y telemática. Estos sistemas típicamente ingieren grandes
cantidades de datos en frecuentes estallidos de actividad. Las bases de
datos no relacionales pueden almacenar esta información muy
rápidamente. Los datos pueden ser utilizados por servicios de análisis
como Azure Machine Learning, Azure HDInsight y Microsoft Power BI.
Además, puede procesar los datos en tiempo real mediante Azure
Functions que se activan cuando los datos llegan a la base de datos.
 Venta minorista y marketing. Microsoft usa CosmosDB para sus
propias plataformas de comercio electrónico que se ejecutan como
parte de Windows Store y XBox Live. También se utiliza en la industria
minorista para almacenar datos de catálogo y para el abastecimiento
de eventos en las tuberías de procesamiento de pedidos.
 Juegos de azar. El nivel de la base de datos es un componente crucial
de las aplicaciones de juegos. Los juegos modernos realizan
procesamiento gráfico en clientes móviles / consolas, pero dependen
de la nube para ofrecer contenido personalizado y personalizado como
estadísticas del juego, integración de redes sociales y tablas de
clasificación de puntaje alto. Los juegos a menudo requieren latencias
de un solo milisegundo para leer y escribir para proporcionar una
experiencia atractiva en el juego. La base de datos de un juego debe
ser rápida y poder manejar picos masivos en las tasas de solicitud
durante los nuevos lanzamientos de juegos y actualizaciones de
funciones.
 Aplicaciones web y móviles. Una base de datos no relacional como
Azure Cosmos DB se usa comúnmente en aplicaciones web y móviles, y
es muy adecuada para modelar interacciones sociales, integrarse con
servicios de terceros y crear experiencias personalizadas ricas. Los SDK
de Cosmos DB (kits de desarrollo de software) se pueden usar para
crear aplicaciones ricas de iOS y Android utilizando el popular marco
Xamarin.
DESCRIBIR LOS TIPOS DE DATOS NO RELACIONALES.
Los datos no relacionales generalmente se dividen en dos categorías;
semiestructurada y no estructurada. En esta unidad, aprenderá qué significan
estos términos y verá algunos ejemplos.
¿QUÉ SON LOS DATOS SEMIESTRUCTURADOS?
Los datos semiestructurados son datos que contienen campos. Los campos
no tienen que ser iguales en todas las entidades. Solo define los campos que
necesita por entidad. Las entidades del Cliente que se muestran en la unidad
anterior son ejemplos de datos semiestructurados. Los datos deben
formatearse de tal manera que una aplicación pueda analizarlos y
procesarlos. Una forma común de hacerlo es almacenar los datos de cada
entidad como un documento JSON. El término JSON significa JavaScript
Object Notation; Es el formato utilizado por las aplicaciones JavaScript para
almacenar datos en la memoria, pero también se puede usar para leer y
escribir documentos desde y hacia archivos.
Un documento JSON está encerrado entre llaves ({y}). Cada campo tiene un
nombre (una etiqueta), seguido de dos puntos, y luego el valor del campo.
Los campos pueden contener valores simples o subdocumentos (cada uno de
ellos comienza y termina con llaves). Los campos también pueden tener
múltiples valores, mantenidos como matrices y rodeados de corchetes ([y]).
Los literales en un campo están entre comillas, y los campos están separados
por comas.
El siguiente ejemplo muestra a los clientes de la unidad anterior,
formateados como documentos JSON:
Eres libre de definir los campos que quieras. El punto importante es que los
datos siguen la gramática JSON. Cuando una aplicación lee un documento,
puede usar un analizador JSON para dividir el documento en sus campos
componentes y extraer los datos individuales.
Otros formatos que puede ver incluyen Avro, ORC y Parquet :
 Avro es un formato basado en filas. Fue creado por Apache. Cada
registro contiene un encabezado que describe la estructura de los
datos en el registro. Este encabezado se almacena como JSON. Los
datos se almacenan como información binaria. Una aplicación utiliza la
información en el encabezado para analizar los datos binarios y extraer
los campos que contiene. Avro es un formato muy bueno para
comprimir datos y minimizar los requisitos de almacenamiento y ancho
de banda de red.
 ORC (formato optimizado de columnas y filas) organiza los datos en
columnas en lugar de filas. Fue desarrollado por HortonWorks para
optimizar las operaciones de lectura y escritura en Apache Hive. Hive
es un sistema de almacenamiento de datos que admite un rápido
resumen de datos y consultas en conjuntos de datos muy grandes.
Hive admite consultas de tipo SQL sobre datos no estructurados. Un
archivo ORC contiene franjas de datos. Cada banda contiene los datos
de una columna o conjunto de columnas. Una franja contiene un índice
en las filas de la franja, los datos de cada fila y un pie de página que
contiene información estadística (conteo, suma, máximo, mínimo, etc.)
para cada columna.
 Parquet es otro formato de datos en columna. Fue creado por
Cloudera y Twitter. Un archivo Parquet contiene grupos de filas. Los
datos para cada columna se almacenan juntos en el mismo grupo de
filas. Cada grupo de filas contiene uno o más fragmentos de datos. Un
archivo Parquet incluye metadatos que describen el conjunto de filas
encontradas en cada fragmento. Una aplicación puede usar estos
metadatos para localizar rápidamente el fragmento correcto para un
conjunto de filas determinado y recuperar los datos en las columnas
especificadas para estas filas. Parquet se especializa en almacenar y
procesar tipos de datos anidados de manera eficiente. Admite
esquemas de compresión y codificación muy eficientes.
¿QUÉ SON LOS DATOS NO ESTRUCTURADOS?
Los datos no estructurados son datos que naturalmente no contienen
campos. Los ejemplos incluyen video, audio y otras transmisiones de medios.
Cada elemento es una gota amorfa de datos binarios. No puede buscar
elementos específicos en estos datos.
Puede optar por almacenar datos como este en un almacenamiento diseñado
específicamente para este fin. En Azure, probablemente almacenaría datos
de video y audio como blobs en una cuenta de Azure Storage. (El término
blob significa Binary Large OBject *). Un blob de bloques solo admite
operaciones básicas de lectura y escritura, y no tiene capacidad de búsqueda
interna.
También puede considerar los archivos como una forma de datos no
estructurados, aunque en algunos casos un archivo puede incluir metadatos
que indican qué tipo de archivo es (fotografía, documento de Word, hoja de
cálculo de Excel, etc.), propietario y otros elementos que podrían ser
almacenado como campos. Sin embargo, el contenido principal del archivo
no está estructurado.

DESCRIBIR LOS TIPOS DE BASES DE DATOS NO RELACIONALES Y NOSQL


Los datos no relacionales son un término global que significa todo lo que no
está estructurado como un conjunto de tablas. Hay muchos tipos diferentes
de datos no estructurados, y la información se utiliza para una amplia
variedad de propósitos. En consecuencia, hay varios tipos diferentes de
sistemas de gestión de bases de datos no relacionales, cada uno orientado
hacia un conjunto específico de escenarios.
En esta unidad, aprenderá sobre algunos de los tipos más comunes de bases
de datos no relacionales.
¿QUÉ ES NOSQL?
Es posible que vea el término NoSQL al leer sobre bases de datos no
relacionales. NoSQL es un término bastante laxo que simplemente significa
no relacional. Existe cierto debate sobre si está destinado a implicar No SQL o
No solo SQL; Algunas bases de datos no relacionales admiten una versión de
SQL adaptada para documentos en lugar de tablas (los ejemplos incluyen
Azure Cosmos DB).
Las bases de datos NoSQL (no relacionales) generalmente se dividen en
cuatro categorías: almacenes de valores clave, bases de datos de
documentos, bases de datos de familias de columnas y bases de datos de
gráficos. Las siguientes secciones analizan estos tipos de bases de datos
NoSQL.
¿QUÉ ES UNA TIENDA DE VALORES CLAVE?
Un almacén de valores clave es el tipo de base de datos NoSQL más simple (y
a menudo más rápido) para insertar y consultar datos. Cada elemento de
datos en un almacén de valores clave tiene dos elementos, una clave y un
valor. La clave identifica de forma exclusiva el artículo, y el valor contiene los
datos del artículo. El valor es opaco para el sistema de gestión de la base de
datos. Los artículos se almacenan en orden de clave.
NOTA
El término opaco significa que el sistema de administración de la base de
datos solo ve el valor como un bloque no estructurado. Solo la aplicación
comprende cómo se estructuran los datos en el valor y qué campos contiene.
Lo contrario de opaco es transparente. Si los datos son transparentes, el
sistema de gestión de la base de datos comprende cómo se organizan los
campos en los datos. Una tabla relacional es un ejemplo de una estructura
transparente.

Una consulta especifica las claves para identificar los elementos que se
recuperarán. No puedes buscar valores. Una aplicación que recupera datos
de un almacén de valores clave es responsable de analizar el contenido de los
valores devueltos.
Las operaciones de escritura están restringidas a inserciones y eliminaciones.
Si necesita actualizar un elemento, debe recuperarlo, modificarlo en la
memoria (en la aplicación) y luego volver a escribirlo en la base de datos,
sobrescribiendo el original (efectivamente, una eliminación y una inserción).
El objetivo de un almacén de valores clave es la capacidad de leer y escribir
datos muy rápidamente. Las capacidades de búsqueda son secundarias. Un
almacén de valores clave es una excelente opción para la ingestión de datos,
cuando un gran volumen de datos llega como un flujo continuo y debe
almacenarse de inmediato.
El almacenamiento de Azure Table es un ejemplo de un almacén de valores
clave. Cosmos DB también implementa un almacén de valores clave
utilizando la API de tabla.

¿QUÉ ES UNA BASE DE DATOS DE DOCUMENTOS?


Una base de datos de documentos representa el extremo opuesto del
espectro NoSQL de un almacén de valores clave. En una base de datos de
documentos, cada documento tiene una ID única, pero los campos en los
documentos son transparentes para el sistema de administración de la base
de datos. Las bases de datos de documentos generalmente almacenan datos
en formato JSON, como se describe en la unidad anterior, o podrían
codificarse utilizando otros formatos como XML, YAML, JSON, BSON. Los
documentos podrían incluso almacenarse como texto sin formato. Los
campos en los documentos están expuestos al sistema de gestión de
almacenamiento, lo que permite que una aplicación consulte y filtre datos
utilizando los valores de estos campos.
Normalmente, un documento contiene todos los datos de una entidad. Los
elementos que constituyen una entidad son específicos de la aplicación. Por
ejemplo, una entidad podría contener los detalles de un cliente, un pedido o
una combinación de ambos. Un solo documento puede contener información
que se distribuiría en varias tablas relacionales en un RDBMS (sistema de
gestión de bases de datos relacionales).
Un almacén de documentos no requiere que todos los documentos tengan la
misma estructura. Este enfoque de forma libre proporciona una gran
flexibilidad. Las aplicaciones pueden almacenar diferentes datos en
documentos a medida que cambian los requisitos comerciales.
Una aplicación puede recuperar documentos utilizando la clave de
documento. La clave es un identificador único para el documento. Algunas
bases de datos de documentos crean la clave del documento
automáticamente. Otros le permiten especificar un atributo del documento
para usar como clave. La aplicación también puede consultar documentos
basados en el valor de uno o más campos. Algunas bases de datos de
documentos admiten la indexación para facilitar la búsqueda rápida de
documentos basados en uno o más campos indexados.
Algunos sistemas de administración de bases de datos de documentos
admiten actualizaciones in situ, lo que permite que una aplicación modifique
los valores de campos específicos en un documento sin tener que volver a
escribir todo el documento. Otros sistemas de gestión de bases de datos de
documentos (como Cosmos DB) solo pueden leer y escribir documentos
completos. En estos casos, una actualización reemplaza todo el documento
con una nueva versión. Este enfoque ayuda a reducir la fragmentación en la
base de datos, lo que a su vez puede mejorar el rendimiento.

La mayoría de las bases de datos de documentos ingieren grandes volúmenes


de datos más rápidamente que una base de datos relacional, pero no son tan
óptimas como un almacén de valores clave para este tipo de procesamiento.
El enfoque de una base de datos de documentos es su capacidad de consulta.
Azure Cosmos DB implementa un enfoque de base de datos de documentos
en su API Core (SQL).
¿QUÉ ES UNA BASE DE DATOS DE FAMILIAS DE COLUMNAS?
Una base de datos de familias de columnas organiza los datos en filas y
columnas. Los ejemplos de esta estructura incluyen archivos ORC y Parquet,
descritos en la unidad anterior.
En su forma más simple, una base de datos de familias de columnas puede
parecer muy similar a una base de datos relacional, al menos
conceptualmente. El poder real de una base de datos de familias de
columnas reside en su enfoque desnormalizado para estructurar datos
dispersos.
Por ejemplo, si necesita almacenar información sobre los clientes y sus
direcciones en una base de datos relacional (ignorando la necesidad de
mantener datos históricos como se describe en la sección anterior), puede
diseñar un esquema similar al que se muestra a continuación. Este diagrama
también muestra algunos datos de muestra. En este ejemplo, el cliente 1 y el
cliente 3 comparten la misma dirección, y el esquema asegura que esta
información de la dirección no esté duplicada. Esta es una forma estándar de
implementar una relación uno a muchos.
El modelo relacional admite un enfoque muy generalizado para implementar
este tipo de relación, pero para encontrar la dirección de un cliente
determinado, una aplicación necesita ejecutar una consulta que une dos
tablas. Si esta es la consulta más común realizada por la aplicación, la
sobrecarga asociada con la realización de esta operación de unión puede
volverse rápidamente significativa si hay una gran cantidad de solicitudes y
las tablas en sí son grandes.
El propósito de una base de datos de familias de columnas es manejar
eficientemente situaciones como esta. Puede pensar que una base de datos
de familias de columnas contiene datos tabulares que comprenden filas y
columnas, pero puede dividir las columnas en grupos conocidos como
familias de columnas. Cada familia de columnas contiene un conjunto de
columnas que están relacionadas lógicamente entre sí. La imagen a
continuación muestra una forma de estructurar la misma información que la
imagen anterior, mediante el uso de una base de datos de familias de
columnas para agrupar los datos en dos familias de columnas que contienen
el nombre del cliente y la información de la dirección. Son posibles otras
formas de organizar las columnas, pero debe implementar sus familias de
columnas para optimizar las consultas más comunes que realiza su
aplicación. En este caso, las consultas que recuperan las direcciones de los
clientes pueden obtener los datos con menos lecturas de las que serían
necesarias en la base de datos relacional correspondiente; estas consultas
pueden obtener los datos directamente desdeFamilia de columnas
AddressInfo.

La ilustración de arriba es conceptual más que física, y tiene la intención de mostrar


la estructura lógica de los datos en lugar de cómo se podría organizar
físicamente. Cada fila en una base de datos de familias de columnas contiene una
clave, y puede obtener los datos de una fila utilizando esta clave.

En la mayoría de las bases de datos de familias de columnas, las familias de


columnas se almacenan por separado. En el ejemplo anterior, la familia de
columnas CustomerInfo podría mantenerse en un área de almacenamiento físico y
la familia de columnas AddressInfo en otra, en una forma simple de partición
vertical. Realmente debería pensar en la estructura en términos de familias de
columnas en lugar de filas. Los datos para una sola entidad que abarca varias
familias de columnas tendrán la misma clave de fila en cada familia de
columnas. Como alternativa al diseño conceptual mostrado anteriormente, puede
visualizar los datos que se muestran como el siguiente par de estructuras físicas.
El sistema de gestión de bases de datos de familias de columnas más utilizado es
Apache Cassandra. Azure Cosmos DB admite el enfoque de familia de columnas a
través de la API de Cassandra.

¿QUÉ ES UNA BASE DE DATOS GRÁFICA?

Las bases de datos de gráficos le permiten almacenar entidades, pero el foco


principal está en las relaciones que estas entidades tienen entre sí. Una base de
datos gráfica almacena dos tipos de información: nodos que puede considerar
como instancias de entidades y bordes, que especifican las relaciones entre nodos.
Los nodos y los bordes pueden tener propiedades que proporcionan información
sobre ese nodo o borde (como las columnas de una tabla). Además, los bordes
pueden tener una dirección que indique la naturaleza de la relación.

El propósito de una base de datos de gráficos es permitir que una aplicación realice
consultas de manera eficiente que atraviesen la red de nodos y bordes, y para
analizar las relaciones entre entidades. La siguiente imagen muestra la base de
datos de personal de una organización estructurada como un gráfico. Las
entidades son los empleados y los departamentos de la organización, y los bordes
indican líneas de informes y el departamento en el que trabajan los empleados. En
este gráfico, las flechas en los bordes muestran la dirección de las relaciones.
Una estructura como esta hace que sea sencillo realizar consultas como "Buscar
todos los empleados que trabajan directa o indirectamente para Sarah" o "¿Quién
trabaja en el mismo departamento que John?" Para gráficos grandes con muchas
entidades y relaciones, puede realizar análisis muy complejos muy rápidamente, y
muchas bases de datos de gráficos proporcionan un lenguaje de consulta que
puede usar para atravesar una red de relaciones de manera eficiente. A menudo
puede almacenar la misma información en una base de datos relacional, pero el
SQL requerido para consultar esta información puede requerir muchas operaciones
de unión recursivas costosas y subconsultas anidadas.

Azure Cosmos DB admite bases de datos de gráficos mediante la API de Gremlin .


La API de Gremlin es un lenguaje estándar para crear y consultar gráficos.
COMPRUEBA TU CONOCIMIENTO
EXPLORE CONCEPTOS DE ANÁLISIS DE DATOS
INTRODUCCIÓN
Las empresas exitosas toman decisiones informadas para encontrar nuevas
oportunidades, identificar debilidades, aumentar la eficiencia y mejorar la
satisfacción del cliente. El análisis de datos es el proceso de examinar datos
sin procesar para descubrir tendencias y descubrir información utilizada para
hacer y responder preguntas relacionadas con el desempeño de la
organización.
Por ejemplo, los resorts y casinos pueden combinar datos de visitas
anteriores de clientes para determinar el mejor momento para ejecutar
actividades y juegos específicos. Un analista de datos puede tomar datos
como el gasto de los clientes y buscar correlaciones con otros factores como
el clima, los eventos regionales o incluso la presencia (o ausencia) de
incentivos como alimentos y bebidas.
Otro ejemplo es la industria de la salud. Hay una gran cantidad de datos en la
industria de la salud, incluidos los registros de pacientes y la información del
seguro. Debido a que hay tantos datos, puede ser difícil de administrar. El
análisis de datos permite un análisis exhaustivo de los datos y puede conducir
a un diagnóstico más rápido o un plan de tratamiento.
En este módulo, explorará los elementos clave involucrados en el análisis de
datos. Observará la recopilación de datos, el procesamiento de datos para
generar información y la visualización de resultados para detectar
tendencias.
OBJETIVOS DE APRENDIZAJE
En este módulo podrás:
 Aprenda sobre la ingestión y procesamiento de datos
 Explore la visualización de datos
 Explore el análisis de datos
DESCRIBIR LA INGESTIÓN Y EL PROCESAMIENTO DE DATOS
El análisis de datos se ocupa de tomar los datos que su organización los
produce y usarlos para establecer una imagen de cómo se está
desempeñando su organización y qué puede hacer para mantener el
rendimiento del negocio. El análisis de datos lo ayuda a identificar fortalezas
y debilidades en su organización, y le permite tomar decisiones comerciales
apropiadas.
Los datos que utiliza una empresa pueden provenir de muchas fuentes.
Podría haber una gran cantidad de datos históricos para analizar, y nuevos
datos continúan llegando todo el tiempo. Estos datos podrían ser el resultado
de compras de clientes, transacciones bancarias, movimientos de precios de
acciones, datos meteorológicos en tiempo real, dispositivos de monitoreo o
incluso cámaras. En una solución de análisis de datos, combina estos datos y
construye un almacén de datos que puede usar para hacer (y responder)
preguntas sobre sus operaciones comerciales. La construcción de un almacén
de datos requiere que se pueden capturar los datos que usted necesita y
disputa en un formato apropiado. Luego puede utilizar herramientas de
análisis y visualizaciones para examinar la información y las tendencias de
identidad y sus causas.
NOTA
La disputa es el proceso mediante el cual transforma y asigna datos sin
procesar en un formato más útil para el análisis. Puede implicar escribir
código para capturar, filtrar, limpiar, combinar y agregar datos de muchas
fuentes.
En esta unidad, aprenderá sobre dos etapas importantes en el análisis de
datos: ingestión de datos y procesamiento de datos. El siguiente diagrama
muestra cómo encajan estas etapas.
¿QUÉ ES LA INGESTIÓN DE DATOS?
La ingestión de datos es el proceso de obtención e importación de datos para
uso inmediato o almacenamiento en una base de datos. Los datos pueden
llegar como una secuencia continua, o pueden venir en lotes, dependiendo
de la fuente. El propósito del proceso de ingestión es capturar estos datos y
almacenarlos. Estos datos sin procesar pueden almacenarse en un
repositorio como un sistema de administración de bases de datos, un
conjunto de archivos o algún otro tipo de almacenamiento rápido y de fácil
acceso.
El proceso de ingestión también podría realizar el filtrado. Por ejemplo, la
ingestión puede rechazar datos sospechosos, corruptos o duplicados. Los
datos sospechosos pueden ser datos que provienen de una fuente
inesperada. Los datos corruptos o duplicados pueden deberse a un error del
dispositivo, falla de transmisión o manipulación.
También es posible realizar algunas transformaciones en esta etapa,
convirtiendo los datos en una forma estándar para su posterior
procesamiento. Por ejemplo, es posible que desee volver a formatear todos
los datos de fecha y hora para usar las mismas representaciones de fecha y
hora, y convertir todos los datos de medición para usar las mismas unidades.
Sin embargo, estas transformaciones deben ser rápidas de realizar. No
intente ejecutar cálculos complejos o agregaciones en los datos en esta
etapa.
¿QUÉ ES EL PROCESAMIENTO DE DATOS?
La etapa de procesamiento de datos ocurre después de que los datos han
sido ingeridos y recopilados. El procesamiento de datos toma los datos en su
forma cruda, los limpia y los convierte a un formato más significativo (tablas,
gráficos, documentos, etc.). El resultado es una base de datos de datos que
puede usar para realizar consultas y generar visualizaciones, dándole la
forma y el contexto necesarios para que las computadoras los interpreten y
los empleados de toda la organización los usen.
NOTA
La limpieza de datos es un término generalizado que abarca una gama de
acciones, como eliminar anomalías y aplicar filtros y transformaciones que
llevarían demasiado tiempo ejecutar durante la etapa de ingestión.
El objetivo del procesamiento de datos es convertir los datos sin procesar en
uno o más modelos de negocio. Un modelo comercial describe los datos en
términos de entidades comerciales significativas, y puede agregar elementos
juntos y resumir información. La etapa de procesamiento de datos también
podría generar modelos predictivos u otros modelos analíticos a partir de los
datos. El procesamiento de datos puede ser complejo y puede involucrar
scripts automáticos y herramientas como Azure Databricks, Azure Functions y
Azure Cognitive Services para examinar y reformatear los datos y generar
modelos. Un analista de datos podría utilizar el aprendizaje automático para
ayudar a determinar tendencias futuras basadas en estos modelos.
¿QUÉ ES Y ELT Y ETL?
El mecanismo de procesamiento de datos puede adoptar dos enfoques para
recuperar los datos ingeridos, procesar estos datos para transformarlos y
generar modelos, y luego guardar los datos y modelos transformados. Estos
enfoques se conocen como ETL y ELT.
ETL significa Extraer, Transformar y Cargar. Los datos sin procesar se
recuperan y transforman antes de guardarse. Los pasos de extracción,
transformación y carga se pueden realizar como una tubería continua de
operaciones. Es adecuado para sistemas que solo requieren modelos simples,
con poca dependencia entre los elementos. Por ejemplo, este tipo de
proceso a menudo se usa para tareas básicas de limpieza de datos, de
duplicación de datos y reformateo de los contenidos de campos individuales.
Un enfoque alternativo es ELT. ELT es una abreviatura de Extraer, Cargar y
Transformar. El proceso difiere de ETL en que los datos se almacenan antes
de ser transformados. El motor de procesamiento de datos puede adoptar un
enfoque iterativo, recuperando y procesando los datos del almacenamiento,
antes de volver a escribir los datos y modelos transformados en el
almacenamiento. ELT es más adecuado para construir modelos complejos
que dependen de múltiples elementos en la base de datos, a menudo
utilizando el procesamiento por lotes periódico.
EXPLORE LA VISUALIZACIÓN DE DATOS
Un modelo de negocio puede contener una enorme cantidad de información.
El propósito de producir un modelo como este es ayudarlo a razonar sobre la
información que contiene, hacer preguntas y, con suerte, obtener respuestas
que puedan ayudarlo a impulsar su negocio.
Esta unidad analiza algunas de las técnicas que puede usar para analizar y
comprender la información en sus modelos.
¿QUÉ ES INFORMAR?
La presentación de informes es el proceso de organizar los datos en
resúmenes informativos para monitorear el desempeño de las diferentes
áreas de una organización. Los informes ayudan a las empresas a monitorear
sus negocios en línea y saber cuándo los datos quedan fuera de los rangos
esperados. Los buenos informes deberían plantear preguntas sobre el
negocio de sus usuarios finales. Los informes muestran lo que sucedió,
mientras que el análisis se centra en explicar por qué sucedió y qué puede
hacer al respecto.
¿QUÉ ES LA INTELIGENCIA EMPRESARIAL?
El término Business Intelligence (BI) se refiere a tecnologías, aplicaciones y
prácticas para la recopilación, integración, análisis y presentación de
información comercial. El propósito de la inteligencia empresarial es apoyar
una mejor toma de decisiones.
Los sistemas de inteligencia empresarial proporcionan vistas históricas,
actuales y predictivas de las operaciones comerciales, con mayor frecuencia
utilizando datos que se han reunido en un almacén de datos y, en ocasiones,
trabajando a partir de datos operativos en vivo. Los elementos de software
admiten informes, análisis interactivo de tablas dinámicas de "cortar y
cortar", visualización y extracción de datos estadísticos. Las aplicaciones
abordan las ventas, la producción, las fuentes financieras y muchas otras
fuentes de datos comerciales con fines que incluyen la gestión del
rendimiento empresarial. A menudo se recopila información sobre otras
compañías en la misma industria para comparar. Este proceso se conoce
como benchmarking .
¿QUÉ ES LA VISUALIZACIÓN DE DATOS?
La visualización de datos es la representación gráfica de información y datos.
Al usar elementos visuales como cuadros, gráficos y mapas, las herramientas
de visualización de datos proporcionan una forma accesible de detectar y
comprender tendencias, valores atípicos y patrones en los datos. Si usa
Azure, la herramienta de visualización de datos más popular es Power BI.
Con Power BI, puede conectarse a múltiples fuentes de datos diferentes y
combinarlas en un modelo de datos. Este modelo de datos le permite crear
imágenes y colecciones de imágenes que puede compartir como informes
con otras personas dentro de su organización.
EXPLORE LAS OPCIONES DE VISUALIZACIÓN PARA REPRESENTAR DATOS
La visualización de datos le ayuda a centrarse en el significado de los datos,
en lugar de mirar los datos en sí. Una buena visualización de datos le permite
detectar rápidamente tendencias, anomalías y posibles problemas. Las
formas más comunes de visualización son:
 Gráficos de barras y columnas: los gráficos de barras y columnas le
permiten ver cómo cambia un conjunto de variables en diferentes
categorías. Por ejemplo, el primer gráfico a continuación muestra
cómo las ventas de un par de minoristas ficticios varían entre los sitios
de las tiendas.
Este cuadro muestra cómo las ventas varían según el mes.

 Gráficos de líneas: los gráficos de líneas enfatizan la forma general de


una serie completa de valores, generalmente a lo largo del tiempo.
 Matriz: una matriz visual es una estructura tabular que resume los
datos. A menudo, los diseñadores de informes incluyen matrices en
informes y paneles para permitir a los usuarios seleccionar uno o más
elementos (filas, columnas, celdas) en la matriz para resaltar de forma
cruzada otras imágenes en una página de informe.

 Personas influyentes clave: un gráfico de personas influyentes clave


muestra los principales contribuyentes a un resultado o valor
seleccionado. Las personas influyentes clave son una excelente opción
para ayudarlo a comprender los factores que influyen en una métrica
clave. Por ejemplo, qué influye en los clientes para hacer un segundo
pedido o por qué las ventas fueron tan altas en junio pasado.

 Mapa de árbol : los mapas de árbol son gráficos de rectángulos de


colores, cuyo tamaño representa el valor relativo de cada elemento.
Pueden ser jerárquicos, con rectángulos anidados dentro de los
rectángulos principales.
 Dispersión : un gráfico de dispersión muestra la relación entre dos
valores numéricos. Un gráfico de burbujas es un gráfico de dispersión
que reemplaza los puntos de datos con burbujas, y el tamaño de la
burbuja representa una tercera dimensión de datos adicional.
 Un gráfico de puntos es similar a un gráfico de burbujas y un gráfico de
dispersión, pero puede trazar datos categóricos a lo largo del eje X.

 Mapa lleno. Si tiene datos geográficos, puede usar un mapa lleno para
mostrar cómo un valor difiere en proporción en una geografía o región.
Puede ver diferencias relativas con el sombreado que varía de claro
(menos frecuente / más bajo) a oscuro (más frecuente / más).
EXPLORE EL ANÁLISIS DE DATOS
El análisis de datos se ocupa de examinar, transformar y organizar los datos
para que pueda estudiarlos y extraer información útil. El análisis de datos es
una disciplina que cubre todo el rango de tareas de administración de datos.
Estas tareas no solo incluyen análisis, sino también recopilación de datos,
organización, almacenamiento y todas las herramientas y técnicas utilizadas.
El término análisis de datos es un conjunto que cubre una variedad de
actividades, cada una con su propio enfoque y objetivos. Puede clasificar
estas actividades como analíticas descriptivas, diagnósticas, predictivas,
prescriptivas y cognitivas.
En esta unidad, aprenderá sobre estas categorías de análisis de datos.
ANALÍTICA DESCRIPTIVA
La analítica descriptiva ayuda a responder preguntas sobre lo sucedido, en
base a datos históricos. Las técnicas analíticas descriptivas resumen grandes
conjuntos de datos para describir los resultados a las partes interesadas.
Al desarrollar KPI (Indicadores clave de rendimiento), estas estrategias
pueden ayudar a rastrear el éxito o el fracaso de los objetivos clave. Las
métricas como el retorno de la inversión (ROI) se utilizan en muchas
industrias. Se desarrollan métricas especializadas para rastrear el desempeño
en industrias específicas.
Los ejemplos de análisis descriptivos incluyen la generación de informes para
proporcionar una vista de las ventas y los datos financieros de una
organización.
ANALÍTICA DIAGNÓSTICA
El análisis de diagnóstico ayuda a responder preguntas sobre por qué
sucedieron las cosas. Las técnicas de análisis de diagnóstico complementan el
análisis descriptivo más básico. Toman los hallazgos de análisis descriptivos y
profundizan para encontrar la causa. Los indicadores de rendimiento se
investigan más a fondo para descubrir por qué mejoraron o empeoraron.
Esto generalmente ocurre en tres pasos:
1. Identificar anomalías en los datos. Estos pueden ser cambios
inesperados en una métrica o en un mercado en particular.
2. Recopile datos relacionados con estas anomalías.
3. Use técnicas estadísticas para descubrir relaciones y tendencias que
explican estas anomalías.
ANALÍTICA PREDICTIVA
El análisis predictivo ayuda a responder preguntas sobre lo que sucederá en
el futuro. Las técnicas de análisis predictivo utilizan datos históricos para
identificar tendencias y determinar si es probable que se repitan. Las
herramientas analíticas predictivas proporcionan información valiosa sobre lo
que puede suceder en el futuro. Las técnicas incluyen una variedad de
técnicas estadísticas y de aprendizaje automático, como redes neuronales,
árboles de decisión y regresión.
ANALÍTICA PRESCRIPTIVA
La analítica prescriptiva ayuda a responder preguntas sobre qué acciones
deben tomarse para lograr un objetivo u objetivo. Mediante el uso de
información de análisis predictivo, se pueden tomar decisiones basadas en
datos. Esta técnica permite a las empresas tomar decisiones informadas ante
la incertidumbre. Las técnicas de análisis prescriptivo se basan en estrategias
de aprendizaje automático para encontrar patrones en grandes conjuntos de
datos. Al analizar decisiones y eventos pasados, se puede estimar la
probabilidad de diferentes resultados.
ANALÍTICA COGNITIVA
El análisis cognitivo intenta extraer inferencias de datos y patrones
existentes, derivar conclusiones basadas en bases de conocimiento
existentes y luego agregar estos hallazgos nuevamente a la base de
conocimiento para futuras inferencias: un ciclo de retroalimentación de
autoaprendizaje. La analítica cognitiva lo ayuda a aprender lo que podría
suceder si las circunstancias cambian y cómo podría manejar estas
situaciones.
Las inferencias no son consultas estructuradas basadas en una base de datos
de reglas, sino que son hipótesis no estructuradas recopiladas de varias
fuentes y expresadas con diversos grados de confianza. La analítica cognitiva
efectiva depende de los algoritmos de aprendizaje automático. Utiliza varios
conceptos de PNL (procesamiento del lenguaje natural) para dar sentido a las
fuentes de datos previamente sin explotar, como los registros de
conversación del centro de llamadas y las revisiones de productos.
Teóricamente, al aprovechar los beneficios de la computación masiva
paralela / distribuida y los costos decrecientes del almacenamiento de datos
y la potencia informática, no hay límite para el desarrollo cognitivo que estos
sistemas pueden lograr.
COMPRUEBA TU CONOCIMIENTO

Potrebbero piacerti anche