All posts in big data

ElasticSearch ILM et répartition des données

Description

La gestion d’une centaine de milliards de documents (données issues de logs applicatifs, équipements réseau, middlewares, etc.) s’avère coûteuse (machines, disques, espace de sauvegarde, etc.).
Pour alléger ce coût d’infrastructure nous devons distinguer les données brûlantes des données tièdes et froides (voir gelées). C’est ce que propose ElasticSearch avec l’ILM (Index Lifecycle Management). Nous vous proposons ainsi d’analyser sa mise en œuvre sur un cluster de production d’un de nos clients.
Les données considérées brûlantes doivent être exploitables dans des temps de réponse très courts, nous devons donc les placer sur des machines dimensionnées correctement. Les requêtes sur les données tièdes et froides n’ont pas besoin d’être aussi performantes, ces données peuvent donc automatiquement être déplacées vers des machines plus modestes grâce aux règles de rétention offertes par ILM.

Limitations des écrans dans Kibana et Cerebro

Kibana, l’interface graphique de la suite Elastic ne propose pas une vue synthétique de cette répartition. Nous pouvons obtenir cette information de répartition grâce à plusieurs requêtes, mais nous devons alors croiser les résultats, ce qui est fastidieux.
Cerebro, une interface graphique issue de la communauté open source, est excellent dans la visualisation de la répartition de la charge, mais ne propose pas cette visualisation au niveau du cycle de vie.
Même constat pour Elasticvue, qu’il s’agisse de sa version desktop, extension Chrome ou webapp.
Un moyen d’obtenir les informations souhaitées est donc de passer par l’API d’ElasticSearch.
Avec une première API nous pouvons obtenir les rôles des machines :

GET _nodes/settings?filter_path=nodes.*.roles,nodes.*.name

{
  "nodes": {
    "ECNRRDP2SUKmcu3s9qJgnA": {
      "name": "es3",
      "roles": [
        "data_cold",
        "ingest",
        "master"
      ]
    },
    "NXZNCa_BQ_SE613oSnDf-g": {
      "name": "es6",
      "roles": [
        "data_cold",
        "ingest",
        "master"
      ]
    },
    "jqmdwzdeQHG84601oQjpGw": {
      "name": "es1",
      "roles": [
        "data",
        "data_hot",
        "ingest",
        "master"
      ]
    },
    "4z2k13n8SZS4t2JmLielaQ": {
      "name": "es4",
      "roles": [
        "data",
        "data_hot",
        "ingest",
        "master"
      ]
    },
    "AFRMIIagRWK4Cu-ZhbLH2A": {
      "name": "es5",
      "roles": [
        "data_warm",
        "ingest",
        "master"
      ]
    },
    "sxljzKF-Q1app0VSkVgTxg": {
      "name": "es2",
      "roles": [
        "data_warm",
        "ingest",
        "master"
      ]
    }
  }
}

Puis avec une deuxième API nous pouvons récupérer le cycle de vie des indices (index au pluriel).

GET /*/_settings?filter_path=*.settings.index.routing.allocation.include,*.settings.index.uuid,*.settings.index.provided_name

{
  ".ds-my-index-1-2024.09.17-003772": {
    "settings": {
      "index": {
        "routing": {
          "allocation": {
            "include": {
              "_tier_preference": "data_hot"
            }
          }
        },
        "provided_name": ".ds-my-index-1-2024.09.17-003772",
        "uuid": "HyELPU6oTpC_EfskAxP5BQ"
      }
    }
  },
  ".ds-my-index-1-2024.09.17-003748": {
    "settings": {
      "index": {
        "routing": {
          "allocation": {
            "include": {
              "_tier_preference": "data_warm,data_hot"
            }
          }
        },
        "provided_name": ".ds-my-index-1-2024.09.17-003748",
        "uuid": "QNC-Z2loT4SCKFb2-LJKAw"
      }
    }
  },
  ".ds-my-index-1-2024.09.17-003714": {
    "settings": {
      "index": {
        "routing": {
          "allocation": {
            "include": {
              "_tier_preference": "data_cold,data_warm,data_hot"
            }
          }
        },
        "provided_name": ".ds-my-index-1-2024.09.17-003714",
        "uuid": "zIP72E-qTBSfKbZdAYmFEQ"
      }
    }
  },
  [...]
}

Et avec une troisième API nous pouvons restituer le détails des blocs de données correspondant aux indices :

GET /_cat/shards?format=json&h=index,node,state,prirep,docs

[
  {
    "index": ".ds-my-index-1-2024.09.17-003848",
    "node": "es1",
    "state": "STARTED",
    "prirep": "p",
    "docs": "120"
  },
  {
    "index": ".ds-my-index-1-2024.09.17-003848",
    "node": "es4",
    "state": "STARTED",
    "prirep": "r",
    "docs": "47"
  },
  {
    "index": ".ds-my-index-1-2024.09.17-003828",
    "node": "es5",
    "state": "STARTED",
    "prirep": "p",
    "docs": "29"
  },
  {
    "index": ".ds-my-index-1-2024.09.17-003828",
    "node": "es2",
    "state": "STARTED",
    "prirep": "r",
    "docs": "147"
  },
  [...]
]

En croisant les résultats de ces trois requêtes, nous pouvons donc savoir si un bloc de données d’un index « brûlant » est bien placé sur un noeud « brûlant ». Mais pour des milliers d’index, cela devient beaucoup plus laborieux.

Développement d’une solution de visualisation

Quelques lignes de JavaScript (64), d’HTML (80) et de CSS (118) plus tard et voici un aperçu d’un rapport réalisé sur un cluster ElasticSearch en local.

ElasticSearch ILM test

Résultat de l’analyse du cluster local

L’outil génère un fichier de rapport en format HTML, consultable depuis n’importe quel navigateur. Alors, en un coup d’œil on peut savoir si un bloc est à la bonne place.
Le code source est disponible sur Github.
Pour résumer ce que fait techniquement ce code source :

  • Lancement des 3 requêtes précédemment étudiées
  • Injection de ces données dans un moteur de template HTML
  • Sauvegarde du résultat dans un fichier HTML

Premier rapport réalisé sur une infrastructure de production et analyse

Ensuite, nous avons intégré l’outil dans une chaîne d’intégration continue de Gitlab pour automatiser la génération des rapports. Nous pouvons ainsi désormais nous interfacer avec le cluster à analyser et donc générer un premier rapport.
Quelques données sur la taille du cluster :

  • 10 machines ElasticSearch
  • 110 milliards de documents
  • 125 To de données stockées
  • 25 000 événements par seconde

Le premier rapport montre une répartition de la charge logique comme ci-dessous :

ElasticSearch ILM

Résultat de l’analyse du cluster de production

Les nœuds ayant le rôle data_warm reçoivent bien les blocs data_warm. Les nœuds ayant le rôle data (tout les rôles) reçoivent tout type de blocs.
Cependant ce n’est pas encore optimisé pour réduire les coûts car :

  • Il reste des blocs data_warm non alloués à des nœuds data_warm car ElasticSearch cherche l’équilibre en termes de nombre de blocs par machine.
  • Aucun bloc de données froides n’apparaît car les règles de rétention ne définissent pas de phase « cold ». Des nœuds data_cold doivent être ajoutés au cluster.
  • Il y a légèrement trop de données brûlantes en proportion, la durée de rétention en phase « hot » doit être revue à la baisse.

Evolution du cluster

Ainsi, après réflexions avec les équipes en charge de la maintenance du cluster, nous avons définit la cible à atteindre :

  • 3 nœuds cold (à venir)
  • 5 nœuds warm (node-3 node-9 node-10 node-1 node-2)
  • 2 nœuds hot warm master (node-4 node-5)
  • 3 nœuds hot ingest master content (node-6 node-7 node-8)

Les raisons de ces choix dépendent des caractéristiques des machines à disposition (CPU, disques, RAM).
Les mouvements de blocs vont être nombreux, et nous réfléchissons déjà à la procédure de migration afin de perturber au minimum le service. Il faut bien prendre en compte que l’espace disque pris par chaque bloc est de 50Go, et que chaque déplacement prend entre 30 minutes et 1 heure sur cette infrastructure réseau.
Nous avons ensuite planifié l’exécution de l’outil pour fournir un rapport tous les jours afin de suivre l’évolution de la répartition. Nous aurons donc un joli jeu de couleurs d’ici quelques semaines 😉

Découvrez la FAQ du Data Management

A l’issue de sa première participation, toute la team DocDoku remercie les visiteurs du salon Big Data Paris pour leur interêt et nos nombreux échanges.

Pour contribuer à relayer ce dialogue avec nos visiteurs mais également nos lecteurs, nous avons compilé un extrait de vos « Frequently Asked Questions ». Un éclairage complémentaire sur notre solution DocDokuPLM qui viendra, nous l’espérons, enrichir votre réflexion sur le Data Management.

Quel est l’interêt de convertir mes fichiers de Conception Assistée par Ordinateur (CAO) sur DocDokuPLM ?

Ils sont nombreux :

  • Ouvrir l’accès aux données pour des populations au delà des équipes techniques et qui  contribuent pleinement à la chaîne de valeur de vos offres : Qualité, Marketing, Communication…
  • Encourager une démarche d’Entreprise Lean
  • S’affranchir des contraintes d’infrastructure requises par un système de CAO, qui excluent souvent les populations non techniques
  • Accroître l’accessibilité de vos données via notre solution full web.

Nos données sont-elles poussées en temps réel dans votre solution ou bien votre système va les chercher ?

DocDokuPLM dispose d’API Web Services REST (Java, JavaScript) pour une parfaite interopérabilité avec d’autres systèmes.
Ainsi vos données existantes peuvent également être reprises par l’intermédiaire de ces API au travers de notre outil de scripting (Command Line Interface).
En ce qui concerne le « push » et le « pull » de vos données, les deux sont possibes : cela dépend des cas d’usage ainsi que du degré d’ouverture des systèmes avec lesquels nous devons nous intégrer. 

DocDokuPLM utilise le format STEP. Quel est l’interêt ?

Il s’agit d’un standard pour intégrer et indexer des informations provenant de sources hétérogènes ou de métiers très divers. Le respect de ce format et de la norme qui lui est associée (ISO 10303) vous garantit une traitement dans les règles de l’art de vos données : pas de perte de données, assurance de la cohérence des données indexées.

Quel peut être l’usage de DocDokuPLM pour mon service R&D ?

L’usage de notre solution permet de favoriser la communication en amont de la production : accéder aux maquettes 3D depuis un navigateur, effectuer vos revues de conception partagée. L’objectif étant de fluidifier les échanges et de partager en amont et en temps réel les modifications ou évolutions de vos produits.
On parle alors d’ingénierie collaborative.

Quelles bases de données utilisez-vous et quelles sont vos garanties quant à la robustesse du système ?

DocDokuPLM peut être utilisé avec la plupart des bases de données du marché telles que PostgreSQL, MySQL / MariaDB, Oracle, SQL Server.
Elle intègre également le moteur de recherche et d’indexation Elasticsearch.

Est- ce que DocDokuPLM est une solution BI ou décisionnelle ?

La BI ou l’analyse décisionnelle a pour objectif  d’analyser l’information pour améliorer et optimiser les décisions et les performances d’une entreprise.
DocDokuPLM a pour objectif d’optimiser l’accès, la visualisation et le partage des données. En fonction des besoins, des tableaux de bord peuvent être construits pour orienter votre stratégie de Data Management.
La solution participe donc à votre stratégie de BI mais ne constitue pas une solution d’analyse décisionnelle des données en tant que telle.

Votre brique Workflow permet-elle de lancer des actions complexes (par exemple : pré-remplissage, édition et envoi de document en automatique) ?

Oui, tout à fait. Le back-office du moteur de workflow permet à tout utilisateur autorisé de paramétrer l’ensemble des étapes d’un workflow :  cela recouvre la mise en place de circuits de validation par exemple ou encore l’envoi de données sur un template de documents pré-établis et sa transmission vers vos systèmes existants, par exemple pour l’édition et l’envoi de documents.

Accéder à la page produit DocDokuPLM

Réserver une démonstration

Les enjeux de la sécurité des données – Episode 3/3

Données Métier : quelles bonnes pratiques pour renforcer la sécurité ?

Faire le choix d’une plateforme de Data Management est une étape importante pour toute entreprise souhaitant piloter de façon innovante sa stratégie ou trouver de nouveaux relais de croissance. Son usage sur tout type de terminaux pose la question de la sécurisation du système, et par extension de la sécurisation des données de l’entreprise vis à vis de l’extérieur.
Le choix d’une plateforme est également une opportunité pour renforcer la sécurité de vos données Métier.

Bien choisir sa plateforme de Data Management

Notre conseil est de privilégier une solution éprouvée, en veillant en particulier à ce que :
  • La plateforme autorise, si nécessaire, le chiffrement des données stockées
  • Les mécanismes d’authentification reposent sur des standards modernes (token JWT, OpenID Connect…)
  • Les communications soient effectuées aux travers de protocoles sécurisés (HTTPS…)

Pour conclure, la maintenance sera également une composante clé de toute démarche visant à créer ou à renforcer la sécurisation des données . Il est important de s’assurer d’être accompagné par des partenaires internes ou externes disposant d’une expertise technique éprouvée et constamment actualisée.

A la recherche de ressources sur la transformation par les données ?

Toute la team DocDoku vous présente ses meilleurs voeux !

Laissez-nous vous inspirer en ce début d’année avec le top 4 des articles du blog pour vous accompagner dans votre réflexion stratégique :

Comment construire un pilotage de qualité, centré sur les données ?
> 6 clés pour mettre en place votre management par les données

Quelles sont les composantes indispensables au succès ?
> Transformation digitale : l’expertise ne suffit pas !

Découvrir les meilleurs outils de gestion collaborative, orientés temps réel et partage.
> Entreprise étendue : bien choisir sa plateforme de Data Management

Comment l’IoT peut transformer mon business ?
> Acquisition des données et IoT

Et si vous avez choisi d’activer votre transformation dès le premier semestre 2018, rejoignez dès maintenant la communauté QuickEval !

Big Data, BI et prises de décision stratégique

Du 26 au 28 septembre dernier, le salon Solutions 2017 réunissait plus de 200 exposants à Paris autour de 5 thématiques clés de l’IT : ERP, Dématérialisation, CRM et Marketing, BI/Big Data et e-achats. L’innovation était au coeur des 75 conférences et tables rondes.
Zoom sur un condensé des plus #smartdata d’entre elles.

La définition du Big Data peut être très différente d’un acteur à l’autre mais tous se rejoignent pour affirmer que l’arrivée du cloud a transformé la mise en place de solutions, en apportant une très nette diminution des coûts et une hausse des capacités de stockage, au regard de la multiplication exponentielle des données générées.

A la question peut-on catégoriser les data par type, la réponse est claire : une donnée peut être structurée – cas des indicateurs de suivi classique par exemple – ou non structurée – cas des logs d’un parcours client, des sources images/vidéos disponibles sur un site…
Le principe aujourd’hui est de stocker le maximum de données, même si leur usage n’est pas pour le moment défini. En ce sens, la BI est résolument tournée vers le futur.

L’indexation des données est très importante car elle garantit la future pertinence des résultats de recherche et évite l’écueil de la réplication des données qui peut avoir lieu dans certaines circonstances.

En ce qui concerne les enjeux de tout projet BI, les intervenants ont souligné l’importance de la gouvernance – la responsabilité de la DSI dans le projet – plus que la résolution de problématiques de stockage des données qui pouvaient être un frein il y a encore quelques années.

L’objectif d’un projet BI n’est plus d’extraire les données, mais de modéliser les processsus d’entreprise, amener la compréhension de la construction des modèles de données pour savoir mettre en valeur les éléments qui suscitent la prise de décision.

Il est essentiel d’associer l’ensemble des métiers dans l’accessibilité aux données pour que chacun participe à l’amélioration de l’expérience – qu’elle soit B2B ou B2C. Il a été enfin souligné l’interêt particulier de travailler avec des données « vivantes » comme c’est le cas par exemple dans les projets de systèmes embarqués.

Pour illustrer les domaines d’application du Big Data, on pourra évoquer l’analyse prédictive avancée : une team de football américain équipe ses joueurs avec des capteurs qui remontent en temps réel leurs constantes physiques et physiologiques, permettant d’éviter les blessures avant qu’elles ne surviennent.
Autre usage : le cas des « Smartcity », où les organismes publics peuvent agir en direct en fonction des réactions de leurs concitoyens.

Enfin, il a été rappelé qu’un nouveau règlement européen, concernant autant les données clients que les données collaborateurs – va entrer en application en mai 2018 et aura un impact non négligeable sur la gestion des données.

 

DocDoku Training est certifié Datadock !

Depuis le 7 août 2017, DocDoku Training est en effet certifié conforme Datadock !

Qu’est-ce que Datadock pour commencer ?

Le Datadock est un référentiel unique de données qui permet aux financeurs de la formation professionnelle (OPCA, FONGECIF….) de vérifier la conformité des organismes de formation aux critères qualité définis par la Loi.

Ainsi 20 financeurs ont défini ensemble les 21 indicateurs qui permettent de mesurer le respect des 6 critères qualité imposés par la loi. Datadock est donc l’outil qui permet aux organismes de formation de prouver qu’ils répondent factuellement à ces exigences de qualité.

En tant qu’organisme de formation, nous avons donc dû prouver notre conformité au travers des 21 indicateurs pour répondre aux 6 critères qualité.

Désormais, les financeurs vont donc nous inscrire dans leur catalogue de référencement mis à la disposition des entreprises et des salariés.

Qu’est-ce que cela vous apporte concrètement (salariés et entreprises) ?

Cela vous apporte plusieurs choses concrètes :

  • un gage de crédibilité et de qualité en ce qui concerne notre organisme de formation puisque certifié conforme aux critères de qualité de la loi et des financeurs,
  • la possibilité de financement de vos formations (individuelles ou plan de formation) : en effet depuis 2017, pour être financée une formation doit être réalisée par un organisme référencé par le financeur (et donc certifié Datadock).

Alors qu’attendez-vous pour venir vous former ou former vos équipes au développement mobile, web et big data dans nos centres de formation de Toulouse et Paris ?