Зошто секоја Mythex апликација добива своја база на податоци
Кога апликацијата што ја градите на Mythex ќе треба да зачува податоци — пријави, резервации, нарачки — проектот добива своја Postgres база. Не табела во заедничка база, не schema до туѓа: посебна база, создадена по потреба, што спие кога никој не ја користи. Ете зошто ја направивме вака и што чини.
Што добивате
Кога ќе побарате податоци („зачувај емаил адреси од листата за чекање“, „чувај резервации“) или ја користите командата /database, Mythex:
- создава посветена Postgres база за проектот (тековно Postgres 17),
- ги вметнува деталите за поврзување во вашиот workspace и во објавената апликација како променливи на околината, за никогаш да не се појават во кодот, и
- му дозволува на агентот да создава табели и да чита и пишува податоци за вас.
Istата база ја користат и живиот преглед и објавената апликација. Таа спие по 5 минути неактивност и се буди при следното барање. Новите бази почнуваат мали и можат да се зголемат под оптоварување, со горна граница за да не расте неограничено при неконтролирано барање. Повеќе во документацијата за базите.
Зошто не една голема заедничка база?
Заедничка база со колона што вели на која апликација припаѓа секој ред е поевтина за работење и поедноставна за одржување. Ние не избравме тоа из четири причини.
1. Изолација на која не мора да ѝ верувате
Кодот напишан од AI прави грешки. Во заедничка база, еден недостасувачки WHERE app_id = … во барање на една апликација би ги прочитал или преправил податоците на друг клиент. Со база по апликација, нема податоци од друг клиент на дофат — грешката останува во својата апликација.
2. Вистински Postgres, не сопствен слој
Вашата апликација разговара со стандарден Postgres со нормален connection string. Секоја библиотека, ORM или алатка што работи со Postgres работи и овде. Ако го извезете проектот за да го работите на друго место, очекува Postgres база — нешто што секој хостинг провајдер го нуди — а не API специфичен за Mythex.
3. Секоја апликација може да се обликува како што ѝ треба
Една апликација сака табела bookings со уникатно ограничување на временските термини; друга сака целосно пребарување низ производи. Со своја база, schema-та и миграциите на секоја апликација се нејзина работа. Ништо не мора да се вклопи во дизајн најзаеднички именител.
4. Трошокот следи употреба
Бидејќи секоја база спие самостојно, апликација што никој не ја користи чини речиси ништо, а трошокот на зафатена апликација е видлив како сопствена ставка. Наплатата за користењето на објавените бази се пресметува од она што базата навистина го измерила — како функционира таа наплата.
Компромисите
Овој дизајн не е бесплатен:
- Ладни стартувања. Спиечката база треба момент да се разбуди при првото барање по мирен период. За повеќето апликации тоа е едвај забележливо; за апликација што мора секогаш да одговори веднаш, тоа е нешто за разгледување.
- Трошоци кога е будна, но неактивна. Базата останува будна додека нешто ја пребарува. Апликација што ја прашува базата на секои неколку секунди ја држи будна цел ден и чини повеќе од една што прашува по потреба. Ако вашето користење изгледа повисоко од очекуваното, обично тоа е причината — замолете го AI да престане со прашување и да ги вчитува податоците кога ќе бидат потребни.
- Повеќе подвижни делови за нас. Создавањето, следењето и чистењето илјадници бази е повеќе работа отколку една. Тоа е наш проблем, не ваш.
Ако сте нови во базите
Базата е местото каде апликацијата ги чува работите што треба да ги памети. Ако идејата е нова, почнете со што е база на податоци и што е Postgres. Кога ќе бидете подготвени да градите нешто што чува податоци, како да изградите апликација со AI ќе ви го покаже додавањето.