Background Image
ÉTUDES DE CAS

Entreprise de services de santé

Mise à niveau de l'entrepôt de données pour permettre des analyses évolutives
Image - Healthcare Services Company

Vue d'ensemble

Cette société de services de santé figurant au classement Fortune 500 a fait appel à Improving pour transformer son entrepôt de données peu performant en une plateforme de données moderne permettant des analyses évolutives. Leur nouvelle architecture de données, plus performante, offre un environnement de données de meilleure qualité, ce qui se traduit par des requêtes et des mises à jour de données plus rapides.

Défi à relever

Notre client s'appuyait sur une instance SQL Server pour soutenir ses opérations commerciales, essentiellement en utilisant des analyses de données personnalisées par le biais d'un portail web.

Avec des dizaines de millions de lignes, des milliers de lignes de code ETL et des dizaines de modèles de recherche et d'agrégation différents, le serveur SQL était surchargé, ce qui entraînait une latence dans les requêtes en direct et des retards dans les mises à jour de données. Cette complexité s'est également manifestée dans la gestion des données et du code pour tous les systèmes web et de reporting.

En outre, l'adoption de nouvelles réglementations en matière de soins de santé visant à assurer une meilleure protection financière des patients et des prestataires a accéléré la demande de services de notre client, dont l'équipe avait besoin d'un soutien supplémentaire.

La solution

Notre client avait besoin de faire évoluer sa solution de reporting pour prendre en charge plus de cas d'affaires, plus de sources de données et utiliser plus de sources en temps réel. L'équipe d'ingénierie des données d'Improving a travaillé pour accélérer l'échelle commerciale et technique, améliorer la structure de reporting et concevoir une solution d'entrepôt de données moderne dans Snowflake.

Improving a fourni de multiples ressources pour moderniser sa plateforme de données sur deux fronts :

  • Migrer vers un entrepôt de données moderne et évolutif (Snowflake) afin de réduire la charge analytique sur le serveur SQL opérationnel.

  • Accélérer le développement de SQL Server ELT et les performances de l'entrepôt pour gérer davantage de cas d'utilisation plus complexes.

 

Solution partie 1 : Migration vers Snowflake

Improving a reconnu les problèmes d'évolutivité et les complexités liées à l'utilisation d'un SGBDR transactionnel pour un reporting aussi complexe, d'autant plus qu'une grande partie du reporting devait être optimisée à l'aide de la dénormalisation et des pré-agrégations, ce qui réduisait la fidélité des données utilisées dans le reporting. Improving a recommandé Snowflake et a organisé une conversation entre notre client, Snowflake et les architectes internes.

Improving reconstruit l'entrepôt de données dans Snowflake en utilisant des outils et des pratiques modernes d'ingénierie des données, avec les points forts suivants :

  • Intégration de données provenant de sources multiples (Salesforce, CDC, Kafka, BDPaaS, Hive, SQL Server).

  • Intégration de plusieurs technologies dans la pile (Snowflake, Kafka Connect, Talend, Airflow, Kubernetes)

  • Extension de la connectivité API pour utiliser Snowflake, en plus de SQL Server

  • Mise en œuvre du stockage des modèles de données (couches brutes → consommation), rapports historiques (voyage dans le temps).

 

Solution partie 2 : SQL Server ETL/Warehouse

Improving a rapidement pris en charge la propriété et le développement des améliorations ETL de SQL Server, l'expansion de l'entrepôt et l'organisation du processus de développement. Nous avons constaté qu'en raison de la rapidité du développement, une grande partie de la dette technique avait été laissée de côté. Tout en ajoutant des fonctionnalités commerciales, Improving a mis en œuvre un processus de développement moderne, y compris :

  • Aidé à améliorer les processus agiles (rédaction d'histoires, tests d'acceptation et organisation d'histoires) pour mieux s'adapter aux cas d'utilisation de l'analyse de données.

  • Mise en place d'un contrôle de source et d'une gestion des changements pour la base de données, la logique des procédures et l'ETL dans Github.

  • Migration des déploiements pour utiliser le processus automatisé CI/CD dans Azure DevOps au lieu des lourds déploiements manuels.

  • Développement d'un cadre de test automatisé basé sur Python, utilisé pour le développement piloté par les tests des nouvelles fonctionnalités de la base de données.

  • Refonte des processus ETL et des processus à exécution lente à l'aide de principes de codage propre.

  • Mise en place d'un microsite de catalogage de données utilisant markdown et des pages Github pour que les utilisateurs puissent découvrir, rechercher et comprendre la conception technique de la base de données.

  • Formation de l'équipe aux meilleures pratiques en matière d'ingénierie des données, telles que l'automatisation des tests, le CI/CD et la documentation.

Avantages pour l'entreprise

Improving a proposé diverses solutions, aidé à analyser les meilleures options, recommandé les meilleures solutions pour cette situation spécifique, puis mis en œuvre ces solutions. Le résultat pour notre client est une architecture de données plus précieuse et un environnement de données de meilleure qualité.

L'apport d'ingénieurs en données compétents et expérimentés dans le traitement moderne des données distribuées a permis à notre client de passer de la maintenance des données SQL existantes à l'extension des ressources humaines et des systèmes de manière plus efficace. Les améliorations apportées au développement ont permis de passer de 1 à 2 ingénieurs de données pour permettre à de multiples ressources de contribuer de manière évolutive et axée sur la qualité. En particulier :

  • L'utilisation de Snowflake a permis de réduire les fusions de données de plus de 6 heures à quelques minutes seulement. D'autres requêtes sont passées de 6-10 minutes à quelques secondes.

  • L'utilisation de données disponibles dans Kafka au lieu d'utiliser le lac de données chargé par lots a réduit la latence des données.

  • Les processus ETL qui prenaient plus de 48 heures ont été remaniés (et testés) pour être exécutés en 10 heures ou moins.

  • Les ETL qui échouaient pouvaient être repris à partir de la dernière étape au lieu de devoir recommencer depuis le début.

  • Les développeurs et les utilisateurs ont compris le système et répondu plus rapidement aux questions sur les données grâce à l'amélioration de la structure, des normes et de la documentation.

  • Les normes de développement de bases de données mises en œuvre ont amélioré la qualité, la cohérence et la maintenabilité du code.

Pourquoi Improving ?

La plupart des équipes d'ingénierie des données considèrent les tests, la documentation et le processus agile comme des préoccupations secondaires. Improving les traite comme des préoccupations principales parce qu'ils constituent la base d'un système de données fiable. Un codage propre et des normes d'ingénierie appropriées augmentent la vélocité de l'équipe à long terme tout en améliorant la fiabilité et la prévisibilité des données. Nos consultants construisent des systèmes prêts pour la production et pas seulement du code qui est mis en production.

Improving comprend que nous ne devrions pas construire des systèmes complexes que le client n'est pas en mesure de comprendre ou de s'approprier. Nous travaillons très dur pour prouver qu'ils répondent aux critères d'acceptation, c'est-à-dire que nous avons construit le bon système. Nous avons vu trop de technologues chez d'autres clients construire des solutions originales mais très complexes, et le client ne pouvait pas évaluer efficacement s'il avait obtenu ce dont il avait besoin. Nous nous soucions vraiment de fournir au client ce qu'il voulait et ce dont il avait besoin, car les consultants ne doivent pas se contenter de "mettre en œuvre les exigences".

Lorsque Improving construit un système de données, nous résolvons les problèmes avec une vision holistique du produit plutôt que de nous concentrer sur un problème d'ingénierie spécifique.

Prêt à commencer ?

Depuis 2006, nous modernisons les systèmes logiciels et les équipes pour les entreprises du Fortune 500. Parlez à nos experts pour démarrer votre transformation numérique dès aujourd'hui.