dataforgoodfr / energetic-stress-production

Forecast the Energy production in France
https://greenforecast-squad.github.io/energetic-stress-production/
MIT License
1 stars 1 forks source link

Push data to PostGreSQL #23

Open mattcln opened 2 weeks ago

mattcln commented 2 weeks ago

Nous voulons pousser certaines données dans PostGre pour des objectifs de performances et d'accessibilité des données.

Voici une liste non exhaustive des tables à créer :

  1. Eco2mix, données raw :
    • date_heure : object
    • consommation : float
    • eolien : float
    • solaire : float

=> Il nous faut au moins l'année précédente jusqu'au 1er septembre, pour calculer les moyennes glissantes nécessaire à la prédiction des jours tempos

  1. Prédiction de la consommation sur l'API RTE

    • time : object
    • consommation : float
  2. Forecast flux solaire => Une colonne date / heure puis une colonne par département => Les prédictions sont sur 3/4 jours, donc prévoir une nouvelle colonne "delta_hours_pred" ou autre, pour donner l'information du nombre d'heure d'avance sur la prédiction. On aura plusieurs prédictions pour un même département / même heure

  3. Forecast vent => Une colonne date / heure puis une colonne par département => Les prédictions sont sur 3/4 jours, donc prévoir une nouvelle colonne "delta_hours_pred" ou autre, pour donner l'information du nombre d'heure d'avance sur la prédiction. On aura plusieurs prédictions pour un même département / même heure

  4. Forecast ENR

    • time : object
    • eolien : float
    • solaire : float => Les prédictions sont sur 3/4 jours, donc prévoir une nouvelle colonne "delta_hours_pred" ou autre, pour donner l'information du nombre d'heure d'avance sur la prédiction. On aura plusieurs prédictions pour un même département / même heure
  5. Température

    • time : object
    • temperature : float => Moyenne de la température quotidienne nationale, très simpliste donc pas forcément nécessaire ?
  6. Données préparées pour la prédiction tempo

    • consommation : float
    • eolien : float
    • solaire : float
    • Type_de_jour_TEMPO : str
    • temperature : float
    • production_nette : float
    • production_nette_q40 : float
    • production_nette_q80 : float
    • mean_temp_q30 : float
  7. Prédiction tempo

    • date : object
    • Type_de_jour_TEMPO : str
    • our_tempo_J-1 : str
    • our_tempo_J-2 : str
    • our_tempo_J-3 : str
mattcln commented 1 hour ago

J'ai fait quelques tests en local pour voir comment mettre en place le postgres sur le VPS, avec l'aide de @guillaumepot :

J'ai poussé mon code sur le VPS mais j'ai quelques questions :

  1. @antoinetavant Je vois qu'il y a déjà un conteneur postgres:16-alpine qui tourne sur le VPS, tu l'utilise pour quoi ?
  2. Comment veut-on gérer les passwords ? Comment faire pour ne pas les écrire en dur, on les créé manuellement une fois et on se communique les passwords via un autre canal ?
  3. J'ai un petit problème avec mon volume, j'arrive jamais à avoir la permission d'y accéder en local, je dois supprimer le volume pour relancer le docker-compose à chaque fois (pas très pratique pour un volume...)
antoinetavant commented 1 hour ago

Trop bien ! Ça doit être outline ou un autre service du type. Il vaut mieux lancer un 2 ème conteneur pour avoir une deuxième base de données dédiée.

Pour les mots de passe tu peux utiliser un .env dans le VPS, ça devrait être suffisamment sécurisé.

Quel ORM utilises tu ? Parce que si on passe sur Django, je me demande si on doit nécessairement utiliser l'orm Django ou non.