## CSNS : LANCEMENT DE LA PRESTATION ELASTIC
---
## Le contexte
----
### POC au S1 2020
* Le projet CSNS a retenu ElasticSearch pour la construction du moteur d'identification statistique au Répertoire national d’identification des personnes physiques (RNIPP)
----
### L'identification statistique
- Rattacher dans un temps acceptable à un n-uplet de données d'état-civil un NIR
- L'essentiel des fichiers administratifs sont volumineux et ne contiennent pas le NIR
- Si l'on parvient à rattacher à chaque n-uplet (représentant une demande d'identification d'un individu) un NIR il est possible de lui calculer un CSNS sur la base du NIR trouvé
----
### Les difficultés rencontrées
- Les demandes sont de mauvaise qualité :
- éléments mal renseignés, dans des formats différents, englobant des concepts changeants
- La complexité des traitements est quadratique lorque l’on recherche à identifier un ensemble de k n-uplets aux données du RNIPP :
- l’ensemble de tous les couples que l’on peut former à partir d’un individu du fichier source et un individu du RNIPP.
----
### La solution retenue
<!-- .slide: data-state="no-toc-progress" class="no-toc-progress" -->
- nettoyage et standardisation des données
- utilisation d'un processus d'indexation pour réduire la complexité du processus :
- l'indexation des données dans ElasticSearch permet d'accéder rapidement aux paires de n-uplets susceptibles de correspondre
----
### L'environnement technique actuel
<!-- .slide: data-state="no-toc-progress" class="no-toc-progress" -->
* cluster elasticsearch en dev et qf composé de 3 noeuds : 8CPU et 12Go RAM
* base de données PostgreSQL contenant les données du RNIPP 4CPU et 4Go RAM également
* serveur batch Java du domaine brpp
* des fichiers de demandes d'identification au format csv contenant pour les plus gros environ 60 millions de demandes
---
## Demande d'une prestation
----
* Zenika est chargé de mener une prestation qui a pour but l'optimisation des temps de traitement du moteur d'identification statistique
----
### 2 axes spécifiques
* TRAITEMENTS : étude et amélioration des traitements en place, optimisation de l’indexation et gains d’efficacité des requêtes de recherche sans perte de performance.
* AUDIT DU CLUSTER : analyse de l'installation, de la configuration du cluster Elasticsearch en place. Sont attendus un diagnostic, des recommandations sur le cluster, du conseil sur son utilisation actuelle, son dimensionnement, ses paramètrages...
----
### Planning général
| Semaine 1 | Semaine 2 | Semaine 3 | Semaine 4 | Semaine 5 |
| --------------- | ---------------- | ----------------- | --------------------------- | ----------------- |
| 2 et 3/11| du 8 au 10/11 | du 15 au 17/11| du 29/11 au 01/12 | du 13 au 15/12 |
* L'étude du cluster sera menée idéalement à partir du 15 Novembre
----
### Réunions de suivi
* Réunion d'initialisation : le 3 Novembre 2021
* Un point de mi-parcours à planifier idéalement la semaine du 15 novembre 2021
* Un dernier point de mi-parcours à planifier
* La réunion finale à planifier le 14 ou 15 décembre
----
### Déroulement de l'intervention
* Afin de récolter les éléments nécessaires à l´analyse de l´existant, des interviews à réaliser avec les parties prenantes :
* côté Ops pour la configuration du cluster
* côté équipe projet pour l'amélioration des traitements
* Il faudrait identifier le ou les "sachants" côté Ops et s'assurer qu'ils aient de la disponibilité
----
### SUJETS SOUMIS A ANALYSE
- [ ] Revue physique de l’installation
- [ ] Vérification de la configuration en vue d’éviter le Split Brain
- [ ] Vérification système : ouverture d'un grand nombre de fichiers, sizing mémoire, pas de swap
- [ ] Etude de la sécurité mise en place
- [ ] Etude de l’environnement réseau
- [ ] Etude de la stratégie de Snapshots (backups)
- [ ] Etude de l’alignement avec les bonnes pratiques Elasticsearch
----
### SUJETS SOUMIS A ANALYSE
- [ ] Revue logique du cluster (sharding, replication, gestion du cycle de vie des indexs, …)
- [ ] Revue des sources de données et la chaîne d’ingestion de celles-ci
- [ ] Analyse du niveau d’adéquation entre les requêtes et les uses case fonctionnels
- [ ] Revue de la méthode d'indexation des données
{"metaMigratedAt":"2023-06-16T13:40:34.318Z","metaMigratedFrom":"YAML","title":"Untitled","breaks":true,"slideOptions":"{\"theme\":\"solarized\"}","contributors":"[{\"id\":\"fc49955c-c8fd-4a3c-93ed-0e186fa665d5\",\"add\":7251,\"del\":2893}]"}