Blog

Bakit May Sariling Database ang Bawat Mythex App

Kapag ang app na binuo mo sa Mythex ay nangangailangan ng mag-save ng data, gaya ng sign-ups, bookings, o orders, binibigyan ito ng Mythex ng sarili nitong Postgres database. Hindi table sa shared na database, hindi schema sa tabi ng iba: hiwalay na database, ginawa kapag kailangan, na natutulog kapag walang gumagamit. Narito kung bakit ito ang pagkakagawa namin, at kung ano ang halaga nito.

Ano ang makukuha mo

Kapag humiling ka ng data ("i-save ang waitlist emails", "mag-store ng bookings") o gumamit ng /database command, ang Mythex ay:

  • gumagawa ng nakalaang Postgres database para sa project (kasalukuyang Postgres 17),
  • ini-inject ang connection details sa workspace mo at sa na-publish mong app bilang environment variables, kaya hindi kailanman lumalabas sa code mo, at
  • pinapayagan ang agent na gumawa ng tables at magbasa at magsulat ng data para sa iyo.

Pareho ang database na ginagamit ng live preview at ng na-publish na app. Natutulog ito pagkatapos ng 5 minutong idle at nagigising sa susunod na query. Maliit na nagsisimula ang mga bagong database at maaaring lumaki kapag mabigat ang load, na may hangganan para hindi tuloy-tuloy na lumaki ang isang runaway query. Higit pa sa database docs.

Bakit hindi isang malaking shared na database?

Mas mura patakbuhin at mas simple i-operate ang shared na database na may column na nagsasabi kung aling app ang pag-aari ng bawat row. Hindi namin ito pinili sa apat na dahilan.

1. Paghihiwalay na hindi mo kailangang pagkatiwalaan

Nagkakamali ang code na isinusulat ng AI. Sa shared na database, ang isang nawawalang WHERE app_id = … sa query ng isang app ay magbabasa o mag-o-overwrite ng data ng ibang customer. Sa database bawat app, walang data ng ibang customer na maaabot. Nananatili ang bug sa sarili nitong app.

2. Totoong Postgres ito, hindi proprietary na layer

Kumakausap ang app mo sa karaniwang Postgres gamit ang normal na connection string. Anumang library, ORM o tool na gumagana sa Postgres ay gumagana rito. Kung i-export mo ang project para patakbuhin sa ibang lugar, umaasa ito sa Postgres database, na inaalok ng bawat hosting provider, hindi sa API na partikular sa Mythex.

3. Mahuhubog ang bawat app ayon sa kailangan nito

Gusto ng isang app ng bookings table na may unique constraint sa mga time slot; gusto naman ng isa pa ng full-text search sa mga produkto. Sa sariling database, ang schema at migrations ng bawat app ay sarili nitong usapin. Walang kailangang sumunod sa disenyong pinakamababa ang denominator.

4. Sumusunod ang gastos sa paggamit

Dahil natutulog nang hiwalay ang bawat database, ang app na walang gumagamit ay halos walang gastos, at ang abalang app ay nakikita ang gastos nito bilang sarili nitong linya. Ang paggamit ng na-publish na database ay sinisingil batay sa aktwal na sinukat ng database. Paano gumagana ang billing na iyon.

Ang mga trade-off

Hindi libre ang disenyong ito:

  • Cold starts. Kailangan ng sandali ang natutulog na database para magising sa unang query pagkatapos ng tahimik na panahon. Para sa karamihan ng app, halos hindi ito napapansin; para sa app na dapat sumagot agad anumang oras, isa itong dapat isaalang-alang.
  • Gastos kapag gising pero idle. Nananatiling gising ang database habang may nagqu-query dito. Ang app na kumukuha sa database nito kada ilang segundo ay nagpapanatili itong gising buong araw at mas magastos kaysa sa app na nagqu-query kapag kailangan. Kung mas mataas ang paggamit mo kaysa inaasahan, kadalasan ito ang dahilan. Sabihin sa AI na itigil ang pag-poll at mag-load ng data kapag kailangan na lang.
  • Mas maraming gumagalaw na bahagi para sa amin. Mas maraming trabaho ang paggawa, pagsubaybay at paglilinis ng libu-libong database kaysa sa iisa. Problema namin iyon na dadalhin, hindi sa iyo.

Kung bago ka sa mga database

Ang database ang lugar kung saan itinatago ng app ang kailangan nitong tandaan. Kung bago sa iyo ang ideya, simulan sa ano ang database at ano ang Postgres. Kapag handa ka nang gumawa ng bagay na nag-iimbak ng data, tinatalakay ng paano gumawa ng app gamit ang AI ang pagdagdag nito.

Mythex · Pricing · Gumawa ng kahit ano gamit ang AI · Mga template ng website at app · Paghahambing ng Mythex · Glosaryo ng paggawa ng app gamit ang AI · Mga libreng tool sa paggawa ng app gamit ang AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français 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 தமிழ் తెలుగు ไทย Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)