Blog

Zašto svaka Mythex aplikacija dobiva vlastitu bazu podataka

Kad aplikacija koju gradite na Mythexu treba spremati podatke, poput prijava, rezervacija ili narudžbi, taj projekt dobiva vlastitu Postgres bazu. Ne tablicu u zajedničkoj bazi i ne shemu uz tuđu: zasebnu bazu, stvorenu na zahtjev, koja spava kad je nitko ne koristi. Evo zašto smo to tako napravili i što to košta.

Što dobivate

Kad zatražite podatke („spremaj emailove s liste čekanja”, „spremaj rezervacije”) ili koristite naredbu /database, Mythex:

  • stvara namjensku Postgres bazu za projekt (trenutno Postgres 17),
  • ubacuje podatke za spajanje u vaš radni prostor i u objavljenu aplikaciju kao varijable okoline, pa se nikad ne pojavljuju u vašem kodu, i
  • omogućuje agentu da kreira tablice te čita i piše podatke umjesto vas.

Ista baza koristi se i u live pregledu i u objavljenoj aplikaciji. Ona spava nakon 5 minuta neaktivnosti i budi se na sljedeći upit. Nove baze počinju male i mogu se skalirati pod opterećenjem, uz gornju granicu da ni pokvareni upit ne može rasti bez kraja. Više u dokumentaciji o bazama.

Zašto ne jedna velika zajednička baza?

Zajednička baza sa stupcem koji kaže kojoj aplikaciji pripada svaki redak jeftinija je za pogon i jednostavnija za održavanje. Odlučili smo to ne raditi iz četiri razloga.

1. Izolacija kojoj ne morate vjerovati

Kod koji piše AI pravi greške. U zajedničkoj bazi, jedan nedostajući WHERE app_id = … u upitu jedne aplikacije mogao bi čitati ili prepisati podatke drugog kupca. S bazom po aplikaciji nema tuđih podataka na dohvat. Greška ostaje unutar svoje aplikacije.

2. To je pravi Postgres, a ne vlasnički sloj

Vaša aplikacija razgovara sa standardnim Postgresom preko normalnog connection stringa. Svaka biblioteka, ORM ili alat koji radi s Postgresom radi i ovdje. Ako izvezete projekt da ga pokrenete negdje drugdje, on očekuje Postgres bazu, što nudi svaki hosting, a ne Mythex API.

3. Svaka aplikacija može imati oblik koji joj treba

Jedna aplikacija treba tablicu bookings s jedinstvenim ograničenjem na termine, druga treba potpuno tekstualno pretraživanje po proizvodima. S vlastitom bazom, shema i migracije svake aplikacije su njezina stvar. Ništa ne mora odgovarati dizajnu najmanjeg zajedničkog nazivnika.

4. Trošak prati upotrebu

Budući da svaka baza spava zasebno, aplikacija koju nitko ne koristi košta gotovo ništa, a trošak zauzete aplikacije vidi se kao vlastita stavka. Naplata objavljenih baza temelji se na onome što je baza stvarno izmjerila; kako ta naplata radi.

Kompromisi

Taj dizajn nije besplatan:

  • Hladni start. Uspavana baza treba trenutak da se probudi na prvi upit nakon mirnog razdoblja. Za većinu aplikacija to se jedva primijeti; za aplikaciju koja mora odmah odgovoriti u bilo koje doba, to je razmatranje.
  • Trošak dok je budna. Baza ostaje budna dok je išta upituje. Aplikacija koja svakih nekoliko sekundi provjerava bazu drži je budnom cijelo vrijeme i košta više od one koja upituje po potrebi. Ako je vaša potrošnja veća nego što očekujete, to je obično razlog: zamolite AI da prestane s provjerama i da podatke učitava kad zatrebaju.
  • Više pokretnih dijelova za nas. Stvaranje, praćenje i čišćenje tisuća baza više je posla nego jedne. To je naš problem, a ne vaš.

Ako ste novi u bazama

Baza je mjesto gdje aplikacija čuva ono što treba pamtiti. Ako je ideja nova, počnite s što je baza podataka i što je Postgres. Kad budete spremni izgraditi nešto što sprema podatke, kako izraditi aplikaciju uz AI prolazi kroz dodavanje baze.

Mythex · Pricing · Izradite bilo što uz AI · Predlošci za web stranice i aplikacije · Mythex u usporedbi · Rječnik izrade aplikacija uz AI · Besplatni alati za izradu aplikacija uz AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी 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 简体中文 繁體中文(香港) 繁體中文(台灣)