Blog

Pourquoi chaque application Mythex a sa propre base de données

Quand une application que vous construisez sur Mythex doit enregistrer des données — inscriptions, réservations, commandes —, Mythex donne à ce projet sa propre base de données Postgres. Pas une table dans une base partagée, pas un schéma à côté de celui de quelqu'un d'autre : une base séparée, créée à la demande, qui s'endort quand personne ne l'utilise. Voici pourquoi nous l'avons conçue ainsi, et ce que cela coûte.

Ce que vous obtenez

Quand vous demandez des données (« enregistre les e-mails de la liste d'attente », « stocke les réservations ») ou que vous utilisez la commande /database, Mythex :

  • crée une base Postgres dédiée au projet (actuellement Postgres 17),
  • injecte les informations de connexion dans votre espace de travail et dans votre application publiée sous forme de variables d'environnement, si bien qu'elles n'apparaissent jamais dans votre code, et
  • permet à l'agent de créer des tables et de lire et écrire des données pour vous.

La même base est utilisée par l'aperçu en direct et par l'application publiée. Elle s'endort après 5 minutes d'inactivité et se réveille à la requête suivante. Les nouvelles bases démarrent petites et peuvent monter en puissance sous charge, avec un plafond pour qu'une requête incontrôlée ne grossisse pas sans limite. Plus de détails dans la documentation sur les bases de données.

Pourquoi pas une seule grande base partagée ?

Une base partagée dotée d'une colonne indiquant à quelle application appartient chaque ligne coûte moins cher à faire tourner et est plus simple à exploiter. Nous avons choisi de ne pas faire ainsi, pour quatre raisons.

1. Une isolation dont vous n'avez pas à vous méfier

Le code écrit par une IA fait des erreurs. Dans une base partagée, un seul WHERE app_id = … oublié dans une requête d'une application pourrait lire ou écraser les données d'un autre client. Avec une base par application, aucune donnée d'un autre client n'est accessible — un bogue reste confiné à sa propre application.

2. C'est un vrai Postgres, pas une couche propriétaire

Votre application parle un Postgres standard avec une chaîne de connexion classique. Toute bibliothèque, tout ORM ou outil qui fonctionne avec Postgres fonctionne ici. Si vous exportez votre projet pour l'exécuter ailleurs, il attend une base Postgres — ce que chaque hébergeur propose —, et non une API propre à Mythex.

3. Chaque application peut être façonnée selon ses besoins

Une application veut une table bookings avec une contrainte d'unicité sur les créneaux horaires ; une autre veut une recherche plein texte sur ses produits. Avec sa propre base, le schéma et les migrations de chaque application ne regardent qu'elle. Rien n'a besoin de rentrer dans une conception au plus petit dénominateur commun.

4. Le coût suit l'usage

Parce que chaque base s'endort de son côté, une application que personne n'utilise coûte presque rien, et le coût d'une application très sollicitée apparaît comme sa propre ligne. L'usage des bases publiées est facturé d'après ce que la base a réellement mesuré — comment fonctionne cette facturation.

Les compromis

Cette conception n'est pas gratuite :

  • Démarrages à froid. Une base endormie prend un moment à se réveiller à la première requête après une période calme. Pour la plupart des applications, c'est à peine perceptible ; pour une application qui doit répondre instantanément à toute heure, c'est à prendre en compte.
  • Coûts pendant l'éveil. Une base reste éveillée tant que quelque chose l'interroge. Une application qui interroge sa base toutes les quelques secondes la maintient éveillée en permanence et coûte plus cher qu'une application qui interroge à la demande. Si votre consommation paraît plus élevée que prévu, c'est généralement la raison — demandez à l'IA d'arrêter les interrogations périodiques et de charger les données quand elles sont nécessaires.
  • Plus de pièces mobiles pour nous. Créer, suivre et nettoyer des milliers de bases est plus de travail qu'une seule. C'est à nous de le gérer, pas à vous.

Si vous découvrez les bases de données

Une base de données est l'endroit où une application garde ce dont elle a besoin pour se souvenir. Si le concept est nouveau, commencez par ce qu'est une base de données et ce qu'est Postgres. Quand vous serez prêt à construire quelque chose qui stocke des données, comment construire une application avec l'IA explique comment l'ajouter.

Mythex · Pricing · Créez tout avec l'IA · Modèles de sites et d'applications · Mythex comparé · Glossaire de la création d'applications avec l'IA · Outils gratuits pour créer des applications avec l'IA · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)