Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Choix d'une base de données ? #17

Closed
fraxken opened this issue Oct 24, 2020 · 10 comments
Closed

Choix d'une base de données ? #17

fraxken opened this issue Oct 24, 2020 · 10 comments

Comments

@fraxken
Copy link
Member

fraxken commented Oct 24, 2020

Nous avons vu qu'avec les anciens bots nous arrivons très vite sur certaines fonctionnalités (commandes et autres) au besoin de stocker un ensemble d'informations au sein d'une base.

Si ma mémoire est bonne nous avions utilisé LokiDB sur l'ancien bot. Que pensez-vous d'utiliser PostgreSQL pour ce Bot ?

@Mesteery
Copy link
Member

Je suis personnellement d'accord pour l'utilisation de PostgreSQL.

@targos
Copy link
Member

targos commented Oct 24, 2020

Postgres est dispo chez Heroku donc pourquoi pas. (Par contre sans payer c'est vite limité)

Edit: Tarifs Heroku Postgres: https://elements.heroku.com/addons/heroku-postgresql

@Xstoudi
Copy link
Member

Xstoudi commented Oct 25, 2020

Vite limité c'est peu dire 🤣 :
image
Personnellement, PostgreSQL me convient.

@targos
Copy link
Member

targos commented Jul 11, 2021

wip: https://github.com/ES-Community/bot/tree/postgres

Quelques questions à résoudre:

  • Comment gérer les migrations (avec le déploiement chez Heroku en tête)?
  • Utilisation directe de knex vs. abstraction interne vs. ORM existant?

@Mesteery
Copy link
Member

Je pense que vu l'utilisation qu'on en fait/ferait (aucune pour l'instant), Knex suffirait.

@tpoisseau
Copy link

Sinon, il y a toujours l'idée de DiscordDB ^^
Store de la data en JSON, dans les messages d'un chan dédié

@Mesteery
Copy link
Member

Personnellement je suis pas fan de l'idée. Pour du troll oui, mais pour un réel usage, store du JSON sur Discord est vraiment pas efficace :

  • tout d'abord, tu as la ratelimit, donc si plusieurs choses doivent être enregistré au même temps, c'est la merde
  • les performances, tu imagines le temps qu'il faudrait pour envoyer un message (~1s lorsque l'api est (sur)chargé), le temps qu'il faudrait pour récupérer le bon message (imaginez l'algorithme qu'il faut, pour chercher dans potentiellement plusieurs messages contenant du JSON, je rappelle que les messages sont limité à 2000 caractère. Il y a les attachements, mais ça ne fait qu'empirer les performances)

@DraftProducts
Copy link

Je pense que le projet en lui-même est un troll 🤔
Sinon que pensez-vous de Prisma ?
J'ai eu l'occasion de l'utiliser sur quelques projets Typescript c'est vraiment une techno agréable.
Sinon Knex peut également faire l'affaire 👍

@Purexo
Copy link
Contributor

Purexo commented Sep 16, 2022

Je déterre cette issue.
Actuellement, le bot est host par Targos sur Heroku avec le plan gratuit, mais celui ci sera clôturé en octobre.
Le plan est de basculer sur une VM docker hébergé sur le NAS de @Xstoudi.

#48

Je pense que postgresql est overkill, Xavier nous offre gentiment de la persistance de donnée avec la vm docker.
Pour le moment, les usages de data persistente dont on peut avoir besoin sont très limité et un simple fichier JSON ferrait l'affaire.
Et pour des usages un peu plus poussé sqlite suffira largement je pense.
Surtout que point de vue dev, ca coute rien, quasi 0 dépendances, c'est juste un fichier, pas besoin de setup une base client-server avec utilisateurs / permissions et tout le tintouin.
Un petit knex.js pour gérer schéma et migrations et roulez jeunesse.

@targos
Copy link
Member

targos commented Sep 16, 2022

Je suis +100 pour sqlite.

This was referenced Sep 16, 2022
@targos targos closed this as completed Sep 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants