Este blog fue coautor de DeNA Co., Ltd. y Amazon Web Services Japón.
DeNA Co., Ltd. (DeNA) participa en una variedad de negocios, desde juegos y comunidades en vivo hasta deportes y la comunidad y atención médica y de sanidad, bajo nuestra delegación de deleitar a las personas más allá de sus sueños más locos. Entre ellos, el sector médico y inodoro maneja datos especialmente sensibles. Para cumplir con sus políticas de datos sensibles, esta empresa médica y de atención médica establece los siguientes requisitos para su procesamiento de datos:
- Procesar datos de conformidad con las políticas de datos. – Disimular o eliminar datos confidenciales según sea necesario para transformarlos en datos anonimizados. Evite la inclusión de títulos no válidos en datos categóricos y procese datos sin pérdida de datos.
- Realizar pruebas de calidad de datos en datos anónimos de conformidad con las políticas de datos. – Realizar pruebas de calidad de datos para identificar y atracar rápidamente problemas de calidad de datos, manteniendo datos de ingreso calidad en todo momento.
Esta publicación presenta un estudio de caso donde DeNA combinó Amazon Redshift sin servidor y dbt (núcleo dbt) para acelerar las pruebas de calidad de los datos en sus negocios.
El desafío
Las pruebas de calidad de los datos requieren la realización de 1300 pruebas en 10 TB de datos mensualmente. Anteriormente, DeNA ejecutaba trabajos por lotes basados en Python en Nimbo informática elástica de Amazon (Amazon EC2) para realizar estas pruebas de calidad de datos. A medida que el bombeo de negocios y datos crecía con el tiempo, DeNA comenzó a indisponer los siguientes desafíos:
- Conducta – Las pruebas de calidad de los datos tardaron días o semanas en completarse porque los ingenieros no habían diseñado los trabajos por lotes para manejar big data.
- Costo – Los costos aumentaron conveniente al diseño del trabajo por lotes, particularmente para grandes conjuntos de datos. La implementación requirió cargar datos en la memoria para su procesamiento. Al manejar datos de tablas grandes, DeNA necesitaba usar instancias EC2 grandes con memoria optimizada.
- Mantenibilidad – Las implementaciones de trabajos por lotes variaron significativamente entre ingenieros, lo que generó altos gastos de mantenimiento, porque el conocimiento requerido estaba apartado entre los ingenieros individuales.
El cambio a Redshift Serverless y dbt
Para atracar estos desafíos, DeNA decidió adoptar Redshift Serverless y dbt (una aparejo de transformación de datos de código destapado) por las siguientes razones secreto:
- Procesamiento escalable y rentable con Redshift Serverless
- Pruebas de calidad de datos estandarizadas y mantenibles con dbt
Esta atrevimiento se tomó posteriormente de una cuidadosa comparación de soluciones alternativas. Inicialmente, DeNA consideró paralelizar los trabajos por lotes existentes basados en Python, pero rechazó este enfoque conveniente a la ingreso sobrecarga de mantenimiento y el conocimiento apartado asociado con los trabajos por lotes. En su sitio, DeNA decidió utilizar dbt, que DeNA ha estado utilizando en su negocio médico y de atención médica, y conectarlo a un servicio de AWS capaz de realizar procesamiento distribuido a gran escalera. dbt proporciona un motor de plantillas basado en SQL para transformaciones de datos repetibles y extensibles, incluido un pruebas de datos característica, que permite confirmar modelos de datos y tablas con reglas y condiciones esperadas usando SQL. Al utilizar dbt, DeNA podría estandarizar la pila técnica, implementar pruebas de calidad de datos en SQL mantenible y conectar dbt a un servicio administrado para un procesamiento escalable y rentable.
AWS ofrece varios servicios que son compatibles con dbt, incluidos Desplazamiento al rojo del Amazonas y Pegamento AWS. DeNA seleccionó Redshift Serverless, principalmente conveniente a su naturaleza sin servidor, rentabilidad óptima y rendimiento de procesamiento superior para datos estructurados típicos de un servicio de almacenamiento de datos.
Descripción genérico de la decisión
DeNA diseñó la posterior cimentación utilizando servicios sin servidor de AWS.

El flujo de trabajo consta de los siguientes pasos de parada nivel y puntos de diseño secreto:
- El sistema de origen almacena los datos de destino para las pruebas de calidad de datos en Servicio de almacenamiento simple de Amazon (Amazon S3). Cuando se agregan nuevos archivos de datos, Puente de eventos de Amazon invoca un Funciones de paso de AWS máquina de estados (flujo de trabajo). Para comprobar de que se entreguen todos los archivos de los datos de destino, el sistema de origen almacena un archivo de finalización en Amazon S3.
- DBT se ejecuta en Servicio de contenedor elástico de Amazon (Amazon ECS) utilizando AWS Fargateun servicio de contenedor sin servidor de AWS. DeNA seleccionó Amazon ECS porque permite ejecutar dbt sin servidor y de plazo por uso, y DeNA tenía experiencia previa en explicación y operación de aplicaciones utilizando Amazon ECS. Para permitir que los contenedores accedan de forma segura a Redshift Serverless, DeNA utilizó el producirse datos confidenciales a un contenedor ECS función para producirse credenciales confidenciales que se almacenan en Administrador de secretos de AWS a los contenedores utilizando un Rol de IAM de ejecución de tareas de ECS.
- DeNA segmentó Redshift Serverless en grupos separados grupos de trabajo para control de entrada. Es posible que el personal de operación necesite ingresar a la pulvínulo de datos de Redshift Serverless mediante el Editor de consultas V2 para investigar problemas con las pruebas de calidad de los datos, manteniendo al mismo tiempo un ajustado control de entrada. Redshift Serverless permite un control de entrada detallado a los datos mediante el uso características de seguridad de la pulvínulo de datossimilar a como el comando OTORGAR se utiliza en productos de bases de datos. Sin bloqueo, en esta carga de trabajo, DeNA optó por utilizar Trámite de entrada e identidad de AWS (IAM) a controlar el entrada a los grupos de trabajo a nivel de IAM. Esto permitió a DeNA restringir el entrada a grupos de trabajo específicos de Redshift Serverless según las funciones de IAM de los usuarios, lo que permitió una papeleo unificada de la autorización a través de IAM. Por otra parte, al separar los grupos de trabajo, DeNA podría ajustar individualmente Unidades de procesamiento de corrimiento al rojo (RPU) por congregación de trabajo, contribuyendo a la optimización de costes.
- Amazon ECS envía registros de ejecución de dbt en ejecución a Registros de Amazon CloudWatch para la observabilidad. DeNA usado filtros métricos para convertir los registros en Métricas de CloudWatchluego creó alarmas basadas en estas métricas. Cuando se activan, estas alarmas invocan AWS Lambda funciones usando Servicio de notificación simple de Amazon (Amazon SNS). Las funciones Lambda crean informes de resultados de la ejecución de dbt y de las pruebas de calidad de los datos y los envían a una aplicación de chat interna. DeNA visualiza los resultados de las pruebas de calidad de datos utilizando el CLI primariouna decisión de observabilidad de datos basada en DBT. Este flujo de trabajo permite que incluso quienes no son ingenieros realicen un seguimiento eficaz del estado de la calidad de los datos.
Resultados
DeNA abordó con éxito todos los desafíos que enfrentaron al diseñar la decisión y portar a una nueva plataforma:
- Conducta – Rendimiento mejorado hasta 100 veces más rápido al disminuir el tiempo de procesamiento de días o semanas a 1 o 2 horas. Una determinada prueba de calidad de datos que antiguamente tomaba 877 minutos ahora se completa en 1 minuto, gracias a las capacidades de procesamiento distribuido a gran escalera de Redshift Serverless.
- Costo – Reducción de costos en un 90% con los servicios sin servidor de AWS. Gastos optimizados al incurrir en costos solo para pruebas de calidad de datos.
- Mantenibilidad – Estandaricé la pila técnica con dbt, eliminando el conocimiento apartado de los programas personalizados. La función de pruebas de datos de dbt simplificó la implementación de pruebas de calidad de datos. La CLI primario mejoró la observabilidad de las pruebas de calidad de datos para quienes no son ingenieros. Los servicios sin servidor de AWS prácticamente eliminaron la sobrecarga operativa para dirigir la infraestructura de carga de trabajo.
Conclusión
Esta publicación demostró cómo DeNA pudo acelerar de forma segura y eficaz sus pruebas de calidad de datos combinando Redshift Serverless y dbt. Esta combinación no solo es eficaz para el caso de uso de DeNA, sino que además es aplicable a varios casos de uso empresarial en diferentes industrias.
Para obtener más información sobre la combinación de Redshift Serverless y dbt, consulte los siguientes bienes:
Sobre el autor
Momota Sasaki es administrador de ingeniería en DeSC Healthcare, una subsidiaria de DeNA. Se unió a DeNA en 2021 y fue adscrito a DeSC Healthcare. Desde entonces, ha estado involucrado constantemente en el negocio de la atención médica, liderando y promoviendo el explicación y operación de la plataforma de datos.
Kaito Tawara es ingeniero de datos en DeSC Healthcare, una subsidiaria de DeNA, que se enfoca en mejorar las plataformas de datos de atención médica. Posteriormente de cazar experiencia en explicación backend para sistemas web y ciencia de datos, pasó a la ingeniería de datos. Se unió a DeNA en 2023 y fue adscrito a DeSC Healthcare. Actualmente, trabaja de forma remota desde la ciudad de Nagoya, contribuyendo a la mejoramiento de las plataformas de datos sanitarios.
Shota Sato es un arquitecto de soluciones diestro en exploración en AWS Japón y se centra en soluciones de exploración de datos impulsadas por AWS para clientes empresariales nativos digitales.