Per què cada app de Mythex té la seva pròpia base de dades
Quan una app que construeixes a Mythex necessita guardar dades (registres, reserves, comandes), Mythex dona a aquell projecte la seva pròpia base de dades Postgres. No una taula en una base de dades compartida, ni un esquema al costat del d'un altre client: una base de dades separada, creada sota demanda, que s'adorm quan ningú la fa servir. Aquí expliquem per què la hem construït així i què costa.
Què obtens
Quan demanes dades («desa els correus de la llista d'espera», «guarda les reserves») o fas servir l'ordre /database, Mythex:
- crea una base de dades Postgres dedicada per al projecte (actualment Postgres 17),
- injecta els detalls de connexió al teu espai de treball i a la teva app publicada com a variables d'entorn, de manera que mai no apareixen al teu codi, i
- deixa que l'agent creï taules i llegeixi i escrigui dades per a tu.
La mateixa base de dades l'usen la previsualització en directe i l'app publicada. S'adorm després de 5 minuts inactiva i es desperta amb la següent consulta. Les bases de dades noves comencen petites i poden escalar sota càrrega, amb un sostre perquè una consulta descontrolada no pugui créixer sense límit. Més a els documents de la base de dades.
Per què no una gran base de dades compartida?
Una base de dades compartida amb una columna que indica a quina app pertany cada fila és més barata d'executar i més senzilla d'operar. Hem decidit no fer-ho per quatre raons.
1. Aïllament en què no has de confiar
El codi escrit per IA comet errors. En una base de dades compartida, un sol WHERE app_id = … que falti en la consulta d'una app podria llegir o sobreescriure les dades d'un altre client. Amb una base de dades per app, no hi ha cap dada d'altres clients a l'abast: un error es queda dins de la seva pròpia app.
2. És un Postgres real, no una capa propietària
La teva app parla amb Postgres estàndard amb una cadena de connexió normal. Qualsevol biblioteca, ORM o eina que funcioni amb Postgres funciona aquí. Si exportes el teu projecte per executar-lo en un altre lloc, espera una base de dades Postgres (una cosa que ofereix qualsevol proveïdor d'allotjament), no una API específica de Mythex.
3. Cada app es pot configurar com necessita
Una app vol una taula bookings amb una restricció d'unicitat per a franges horàries; una altra vol cerca de text complet sobre productes. Amb la seva pròpia base de dades, l'esquema i les migracions de cada app són cosa seva. Res no ha d'encaixar en un disseny del mínim comú denominador.
4. El cost segueix l'ús
Com que cada base de dades s'adorm per separat, una app que ningú fa servir gairebé no costa res, i el cost d'una app molt usada es veu com una línia pròpia. L'ús de bases de dades publicades es factura a partir del que la base de dades ha mesurat de veritat: com funciona aquesta facturació.
Els compromisos
Aquest disseny no és gratuït:
- Arrencades en fred. Una base de dades adormida triga un moment a despertar-se amb la primera consulta després d'un període tranquil. Per a la majoria d'apps això es nota a penes; per a una app que ha de respondre a l'instant a qualsevol hora, és una consideració.
- Costos mentre està desperta. Una base de dades està desperta mentre alguna cosa la consulta. Una app que consulta la seva base de dades cada pocs segons la manté desperta tot el dia i costa més que una que consulta sota demanda. Si el teu ús sembla més alt del que esperaves, normalment és per això: demana a la IA que deixi de fer sondeigs i que carregui les dades quan calgui.
- Més parts en moviment per a nosaltres. Crear, fer el seguiment i netejar milers de bases de dades és més feina que una sola. Aquest problema el carreguem nosaltres, no tu.
Si ets nou en bases de dades
Una base de dades és on una app guarda el que necessita recordar. Si la idea és nova, comença amb què és una base de dades i què és Postgres. Quan estiguis a punt per construir quelcom que emmagatzema dades, com construir una app amb IA explica com afegir-la.