Creación de un almacén de datos y el lago de datos en AWS

Almacén de datos. Lago de datos. Una casa del lago. Si ninguna de estas palabras resuena con usted en lo más mínimo, entonces su trabajo claramente no está relacionado con los datos.

Sin embargo, esa sería una premisa completamente poco realista, ya que todo parece ser sobre datos. O como a los líderes corporativos les gusta describirlo:

  • Un negocio centrado en datos y basado en datos.
  • Datos en cualquier lugar, en cualquier momento, de todos modos.

El activo más importante

Parece que los datos se han convertido en el activo más valioso de más y más empresas. Recuerdo que las grandes corporaciones siempre estaban generando muchos datos, creo que los terabytes de nuevos datos cada mes. Eso fue incluso hace 10 a 15 años. Pero ahora puede generar fácilmente esa cantidad de datos en unos días. Podría preguntar si es realmente necesario, incluso si es un contenido que alguien usará. Y sí, definitivamente no es 😃.

No todo el contenido será útil, y algunas partes ni siquiera una vez. A menudo he sido testigo de empresas que generan grandes cantidades de datos, pero una vez que se cargó con éxito, se vuelve inútil.

Pero eso ya no es relevante. El almacenamiento de datos, ahora en la nube, es barato, las fuentes de datos están creciendo exponencialmente, y hoy nadie puede predecir lo que necesitarán dentro de un año cuando se agregan nuevos servicios al sistema. En ese punto, incluso los datos antiguos pueden volverse valiosos.

Entonces, la estrategia es almacenar tantos datos como sea posible. Pero también en la forma más eficiente posible. Por lo tanto, los datos no solo pueden almacenarse de manera eficiente, sino también consultarse, reutilizarse o transformarse y distribuirse aún más.

Veamos tres formas nativas de hacer esto dentro de AWS:

  • Base de datos de Athena: una forma barata y eficiente, aunque simple, de crear un lago de datos en la nube.
  • Base de datos Redshift: una versión en la nube seria de un lago de datos que podría reemplazar la mayoría de las soluciones locales actuales que no pueden mantenerse al día con el crecimiento de datos exponenciales.
  • Databricks: una combinación de un lago de datos y un almacén de datos en una solución con algunos bonos además de todo.

Data Lake de AWS Athena

Un lago de datos es un lugar donde puede almacenar rápidamente los datos entrantes en forma no estructurada, semiestructurada o estructurada. Al mismo tiempo, no espera que estos datos cambien una vez que se almacenan. En cambio, desea que sean lo más atómicos e inmutables como sea posible. Esto solo proporcionará el mayor potencial para la reutilización en etapas posteriores. Si pierde esa propiedad atómica de datos justo después de cargarlo primero en el lago de datos, no hay forma de recuperar esa información perdida

AWS Athena es una base de datos con almacenamiento directamente en cestas S3 y sin grupos de servidores que se ejecutan en segundo plano. Esto significa que es un servicio de lago de datos realmente barato. Los formatos de archivo estructurados, como los archivos de Parquet o Compra Separated Value (CSV), mantienen los datos organizados. El s3 Garbage CAN contiene los archivos, y Athena los accede cada vez que procesa datos seleccionados de la base de datos.

Athena no admite varias características que de otro modo se considerarían estándar, como las declaraciones de actualización. Es por eso que necesita ver a Athena como una opción muy simple. Por otro lado, lo ayudará a evitar cambiar su lago de datos atómicos simplemente porque no puede 😐.

Admite indexación y seccionamiento, lo que le permite usarlo para ejecutar eficientemente las declaraciones de selección y crear piezas de datos separadas lógicamente (por ejemplo, separadas por fecha o columnas clave). También puede escalar horizontalmente muy fácilmente, ya que es tan complejo como agregar nuevos segmentos a la infraestructura.

Pros y contras

Ventajas a considerar:

  • El hecho de que Athena sea barato (que consiste solo en segmentos S3 y costos de uso de SQL por uso) proporciona la ventaja más significativa. Si desea crear un lago de datos asequible en AWS, este es el camino a seguir.
  • Como servicio nativo, Athena puede integrarse fácilmente con otros servicios útiles de AWS, como Amazon Quicksight para la visualización de datos o el catálogo de datos de pegamento AWS para crear metadatos estructurados persistentes.
  • Más adecuado para ejecutar consultas ad-hoc en grandes cantidades de datos estructurados o no estructurados sin soportar toda la infraestructura a su alrededor.

Desventajas a considerar:

  • Athena no es particularmente efectiva para devolver rápidamente consultas de muestreo complejo, especialmente si las consultas no coinciden con los supuestos del modelo de datos sobre cómo planeaba consultar los datos del lago de datos.
  • Esto también lo hace menos flexible con respecto a los posibles cambios futuros en el modelo de datos.
  • Athena no admite ninguna característica avanzada adicional de la caja, y si desea que algo específico sea parte del servicio, debe implementarlo en la cima.
  • Si espera que los datos de un lago de datos se usen en un nivel de presentación más sofisticado, a menudo la única opción es fusionarlos con otro servicio de base de datos más adecuado para ese propósito, como AWS Aurora o AWS Dynamo DB.

Propósito y caso de uso del mundo real

Elija Athena si el objetivo es crear un lago de datos simple sin ninguna característica de almacén de datos avanzada. Entonces, por ejemplo, si no espera consultas analíticas de alto rendimiento serias que se ejecutan regularmente en el lago de datos. En cambio, la prioridad es tener un conjunto de datos inmutables con una extensión de almacén de datos simple.

Ya no tiene que preocuparse demasiado por quedarse sin espacio. Incluso el costo de un contenedor S3 puede reducirse aún más mediante la implementación de una política de ciclo de vida de datos. Básicamente, esto significa mover datos entre diferentes tipos de canastas S3, más orientadas hacia fines de archivo, con tiempos de retorno más lentos, pero a un costo menor.

Lo mejor de Athena es que crea automáticamente un archivo que consta de los datos que forman parte del resultado de su consulta SQL. Luego puede tomar ese archivo y usarlo para cualquier propósito que desee. Por lo tanto, esta es una buena opción si tiene muchos servicios Lambda que procesan datos en múltiples pasos. Cada resultado de una expresión de Lambda se convierte automáticamente en un resultado en un formato de archivo estructurado como entrada, listo para su posterior procesamiento.

Athena es una buena opción en situaciones en las que tiene una gran cantidad de datos sin procesar en su infraestructura en la nube, y no necesita procesarlo en el momento de la carga. Esto significa que todo lo que necesita es un almacenamiento rápido en la nube con una estructura fácil de entender.

Si alguna vez ha querido un almacén de datos sin servidor sin infraestructura para mantenerla, ahora tiene esa opción.

Optimizado para análisis e informes de alto rendimiento. A diferencia de una solución de Data Lake, existe un modelo de datos relacional robusto para almacenar todos los datos entrantes.

El motor de la base de datos de RedShift se basa en PostgreSQL, que garantiza una alta compatibilidad con otros sistemas de bases de datos.

Declaraciones de copia y descarga muy útiles para cargar y descargar datos desde y desde cestas S3.

Desventajas a considerar:

RedShift no admite una gran cantidad de sesiones activas concurrentes. Las sesiones serán suspendidas y procesadas secuencialmente. Si bien esto puede no ser un problema en la mayoría de los casos, ya que las operaciones son muy rápidas, es un factor limitante en los sistemas con una gran cantidad de usuarios activos.

Pros y contras

Ventajas a considerar:

  • Propósito y caso de uso del mundo real
  • RedShift puede ser su repositorio central para todas las diferentes fuentes de datos ubicadas anteriormente fuera de la nube. Es un reemplazo digno para las soluciones anteriores de Data Warehouse de Oracle. Dado que también es una base de datos relacional, la migración de Oracle es incluso una operación bastante sencilla.
  • Si tiene alguna solución de almacenamiento de datos de múltiples sitios existentes que realmente no se unifican en términos de enfoque, estructura o un conjunto predefinido de procesos comunes para ejecutarse sobre los datos, el desplazamiento rojo es una gran opción.
  • Databricks es una plataforma de datos escalable. Escala en función del tamaño de la carga de trabajo e incluso lo hace automáticamente.
  • Es un entorno colaborativo para científicos de datos, ingenieros de datos y analistas de negocios. Poder hacerlo todo en el mismo espacio y juntos es una gran ventaja. No solo desde el punto de vista organizacional, sino que también ayuda a ahorrar los costos adicionales necesarios para entornos separados.

Desventajas a considerar:

  • Desventajas a considerar:
  • Los bloques de datos pueden ser difíciles de configurar y administrar, especialmente para los usuarios que no están familiarizados con el manejo de Big Data. Aprovechar al máximo la plataforma requiere un nivel significativo de conocimiento técnico.
  • Si bien Databricks es rentable en términos de un modelo de precios de pago por uso, aún puede ser costoso para los proyectos de procesamiento de datos a gran escala. El costo de usar la plataforma puede aumentar rápidamente, especialmente si los usuarios necesitan aumentar sus recursos.

Propósito y caso de uso del mundo real

Propósito y caso de uso del mundo real

AWS Databricks es el más adecuado para grandes corporaciones con grandes cantidades de datos. Aquí, puede cubrir el requisito de cargar y contextualizar diferentes fuentes de datos de diferentes sistemas externos.

A menudo se requiere proporcionar datos en tiempo real. Esto significa que desde el momento en que los datos aparecen en el sistema de origen, los procesos deben iniciar inmediatamente el procesamiento y luego guardar los datos en Databricks al instante o con un retraso mínimo. Si el retraso excede un minuto, se considera un procesamiento casi en tiempo real. En cualquier caso, ambos escenarios a menudo se pueden lograr con la plataforma Databricks. Esto se debe principalmente a la gran cantidad de adaptadores e interfaces en tiempo real que se conectan a otros servicios de AWS patentados.

Databricks también se integra perfectamente con los sistemas ETL de Informatica. Cada vez que un sistema organizacional ya hace un uso extensivo del ecosistema de Informatica, Databricks parece una buena adición compatible a la plataforma.

Ultimas palabras

A medida que el volumen de datos continúa creciendo exponencialmente, es bueno saber que hay soluciones que pueden lidiar efectivamente con él. Lo que una vez fue una pesadilla para administrar y mantener ahora requiere muy poco trabajo administrativo. El equipo puede centrarse en crear valor a partir de los datos.

Dependiendo de sus necesidades, simplemente elija un servicio que pueda manejarlo. Si bien AWS Databricks es algo con lo que probablemente tendrá que quedarse una vez que haya tomado su decisión, otras alternativas son mucho más flexibles, incluso si son menos eficientes, especialmente sus modos sin servidor. Es bastante fácil cambiar a otra solución más adelante.

toadmin. ru

Pros y contras

Ventajas a considerar:

Desventajas a considerar:

Propósito y caso de uso del mundo real