PostgreSQL, PostGIS · 2020. 11. 27. · PostgreSQL, PostGIS Les usages pour la sécurité...

27
ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure 29/09/2015 1 /2 7 POSTGRESQL Sessions 7 PostgreSQL, PostGIS Les usages pour la sécurité intérieure

Transcript of PostgreSQL, PostGIS · 2020. 11. 27. · PostgreSQL, PostGIS Les usages pour la sécurité...

  • ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure29/09/2015

    1 / 27

    POSTGRESQL Sessions 7

    PostgreSQL, PostGIS

    Les usages pour la sécurité intérieure

  • 29/09/20152 / 2

    7ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure

    POSTGRESQL Sessions 7

    ● Ingénieur des SIC● Veille SGBD● Bidouilleur postgresql

    Vincent Laborie

    ● Ingénieur des SIC, ancien policier (PJ Paris)● Chef de section cartographie au ST(SI)2● Animateur de la CIMI (Communauté Info...)

    Eric Pommereau

    Présentations

  • 29/09/20153 / 2

    7ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure

    POSTGRESQL Sessions 7

    ● Houston on a un problème...

    ● Solution(s) ?● Le présent...● Le futur…

    Partie II, pourquoi un proxy-cache OSM sous postgresql ?

    ● Le ST(SI)²● Le SIG de la sécurité intérieure● Les usages de PostGIS ● Refonte IDIC-SI : Mysql > PostgreSQL

    Partie I, PostGIS dans la sécurité intérieure :

  • ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure29/09/2015

    4 / 27

    Contexte : le ST(SI)²

    Le Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure

    POSTGRESQL Sessions 7

  • 29/09/20155 / 2

    7ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure

    POSTGRESQL Sessions 7

    La sécurité intérieure : ● Police nationale, effectifs : 145 197● Gendarmerie nationale, effectifs : 98 155● Répartition sur (environ) 5000 sites

    Au Ministère de l'Intérieur : ● Plusieurs DSI (DSIC, PP, ST(SI)²)● Réseau privé● Cadre de cohérence technique

  • 29/09/20156 / 2

    7ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure

    POSTGRESQL Sessions 7

    Missions du ST(SI)² : ● Définition de la stratégie pour la sécurité intérieure

    – Pour les SIC– Pour la SSI

    ● Coordonner les services SIC de proximité● Animer la politique d'innovation technologique● Piloter et animer le Service de Développement

    Logiciel et le CNAU (support)● Concevoir et conduire des projets pour la Police et la

    Gendarmerie.

  • ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure29/09/2015

    7 / 27

    Le SIG de la Sécurité Intérieure

    Le socle SIG, une plate-forme cartographique

    POSTGRESQL Sessions 7

  • 29/09/20158 / 2

    7ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure

    POSTGRESQL Sessions 7

    Le SIG :● Une plateforme, le socle SIG

    – Marché public : CapGemini / ESRI.– Hébergement à Rosny-sous-Bois (CTGN)

    ● Fonctionnalités :– Diffusion de données : vecteurs et rasters (OGC)– Services de localisation (LBS)– Principe d'accès par API (indépendance backend)

    ● Rôle : « servir » les projets de la sécurité intérieure● Impératifs : disponibilité, performance● Stockage : File GDB, ShapeFile et PostGIS

  • 29/09/20159 / 2

    7ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure

    POSTGRESQL Sessions 7

    PostGIS : les usages● Services du socle SIG

    – Gestion AVL (géolocalisation des véhicules)– Services rendus par l'API (géo-référencement)

    ● Activité de la section cartographie– Gestion du référentiel cartographique– Enrichissement statistique– Analyse des AVL

    ● Applications – QGIS (intégration pour le déploiement)– Application de sectorisation infra communale– IDIC-SI

  • ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure29/09/2015

    10 / 27

    Migration MySQL > PostgreSQL

    IDIC-SI, retour d'expérience sur la refonte d'une application web de dessin cartographique

    POSTGRESQL Sessions 7

  • 29/09/201511 / 2

    7ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure

    POSTGRESQL Sessions 7

    IDIC-SI – Retour d'expérience

  • 29/09/201512 / 2

    7ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure

    POSTGRESQL Sessions 7

    IDIC-SI – Retour d'expérience

    Caractéristique : ouverte à tout policier/gendarme.

    Principales fonctions :● Afficher des fonds de carte (OSM, Ortho, « maison »)● Afficher des données de référence● Dessiner (polygones, lignes, ponctuels)● Enregistrer, partager les couches de données● Utiliser des services du socle SIG (LBS)● Importer et exporter : CSV, KML

  • 29/09/201513 / 2

    7ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure

    POSTGRESQL Sessions 7

    IDIC-SI – Retour d'expérienceExemples d'utilisations :

    ● Planification et conduite d'événements– 70éme anniversaire du débarquement– Tour de France– Suivi de visites officielles

    ● Préparation d'interventions (PJ, sécurité publique...)● Aide à l'enquête

    – Illustration de scène crime– Disparitions

    ● Projection statistique (visualisation)

  • 29/09/201514 / 2

    7ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure

    POSTGRESQL Sessions 7

    IDIC-SI – Retour d'expérience→ Un saut vers l'inconnu

    ● L'équipe : – Un chef de projet– Un développeur– Un stagiaire

    ● Pas (ou peu) de connaissances – En postgreSQL– En postGIS

    → De très fortes attentes...

  • 29/09/201515 / 2

    7ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure

    POSTGRESQL Sessions 7

    IDIC-SI – Retour d'expérience

    Objectifs de la refonte :– Garder la maîtrise : développement interne– Unifier de deux instances Police / Gendarmerie– Absorber la charge potentielle (Police +

    Gendarmerie)– Mettre à jour les composants logiciels– Faciliter le développement de nouvelles

    fonctionnalités (conception à revoir)

  • 29/09/201516 / 2

    7ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure

    POSTGRESQL Sessions 7

    IDIC-SI – Retour d'expérienceChoix de la pile technique :

    DonnéesServeurClient

  • 29/09/201517 / 2

    7ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure

    POSTGRESQL Sessions 7

    IDIC-SI – Retour d'expérience● Initialement (Mysql)

    – Pas de stockage « SIG »– Stockage au format KML (statique)– Peu de contraintes BDD, pas de transaction

    ● PostgreSQL– Mise en oeuvre :

    ● Contraintes (PK, check, unique, FK)● Héritage de tables● Support des transactions (PHP/PDO)

    – PostGIS ● Reprojection (différents basemaps)● Vérification des géométries (ST_IsValid)

  • 29/09/201518 / 2

    7ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure

    POSTGRESQL Sessions 7

    IDIC-SI – le choix de PG/postGISModélisation (travail commun avec Vincent)

  • 29/09/201519 / 2

    7ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure

    POSTGRESQL Sessions 7

    IDIC-SI – le choix de PG/postGIS

    ● Statistiques– Applicatives

    ● Utilisateurs : 44 000● Couches : 27 000

    – Stockage SGBD : 900 Mo● L'avenir :

    – Poursuivre les itérations courtes (MEP tous les 2 mois), retour très positif du terrain.

    – Suivre les évolutions du Socle SIG– Tirer davantage partie de PostGIS

  • 29/09/201520 / 2

    7ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure

    POSTGRESQL Sessions 7

    Le bilan

    ● Gros challenge mais aucun regret– Objectif atteint : stabilité et tenue en charge– Produit réalisé en interne et maîtrisé

    ● Nécessité d'accompagner la montée en compétence des développeurs peu formés à PG (formations, ateliers...)

    ● Expertise interne très appréciable (merci Vincent)● Coordination nécessaire avec les exploitants

    (compétences, possibilités techniques...)

  • ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure29/09/2015

    21 / 27

    Pourquoi un proxy-cache des tuiles osm ?

    POSTGRESQL Sessions 7

    Problème → idée(s) → solution

  • 29/09/201522 / 2

    7ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure

    POSTGRESQL Sessions 7

    ● Et oui, pourquoi ?

    Bulk downloading is strongly discouraged. Do not download tiles unnecessarily.

    http://wiki.openstreetmap.org/wiki/Tile_usage_policy

    http://wiki.openstreetmap.org/wiki/Tile_usage_policy

  • 29/09/201523 / 2

    7ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure

    POSTGRESQL Sessions 7

    Mais pourquoi pas une usine OSM ?

    → du temps + des ressources

    Et si on faisait un cache des tuiles en interne ?

  • 29/09/201524 / 2

    7ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure

    POSTGRESQL Sessions 7

    ● Machine : VM Linux 4 coeurs – 4 Go RAM initialement

    (16 Go maintenant)

    ● Langage : Go ( http://golang.org/ ) (226 lignes)● POC : ( https://github.com/communaute-cimi/rosm )● Postgresql 9.4.4 + extensions :

    - pg_buffercache

    - pg_prewarm

    - pg_stat_statements

    - pgstattuple● Pgcluu ( http://pgcluu.darold.net/ )● Pgbadger ( http://dalibo.github.io/pgbadger/ )● Pg_activity ( https://github.com/julmon/pg_activity/ )● Pg_view ( https://github.com/zalando/pg_view )

    http://golang.org/https://github.com/communaute-cimi/rosmhttp://pgcluu.darold.net/http://dalibo.github.io/pgbadger/https://github.com/julmon/pg_activity/https://github.com/zalando/pg_view

  • 29/09/201525 / 2

    7ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure

    POSTGRESQL Sessions 7

    ● Un usage conséquent (moyenne sur 90 jours) : Lecture : 14445 tuiles / heure

    Mise à jour : 623 tuiles / heure

    Insertion : 334 tuiles / heure

    Temps de restitution d'une tuile : 1,5 ms

    Temps d'écriture d'une tuile : 12 ms

    Temps moyen d'une mise à jour : 17 ms

    3,6M de tuiles en base – 31 Go (+ 2 Go/mois)

  • 29/09/201526 / 2

    7ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure

    POSTGRESQL Sessions 7

    Le futur ?● Passage en usine OSM● Passage en machine physique (IO…)● Ajouter un système token

    Pour nous suivre sur Twitter : @communaute_cimi

  • ST(SI)² – Service des Technologies et des Systèmes d'Information de la Sécurité Intérieure29/09/2015

    27 / 27

    Merci !!

    Des questions ?

    POSTGRESQL Sessions 7

    Slide 1SOMMAIRESlide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27