Блог

Защо всяко приложение на Mythex получава собствена база данни

Когато приложение, което строите в Mythex, трябва да запази данни — регистрации, резервации, поръчки — проектът получава собствена Postgres база данни. Не таблица в обща база, не схема до чужда: отделна база, създадена при поискване, която заспива, когато никой не я ползва. Ето защо я построихме така и какво струва.

Какво получавате

Когато поискате данни („запази имейлите от списъка с чакащи“, „съхрани резервациите“) или ползвате командата /database, Mythex:

  • създава отделна Postgres база за проекта (в момента Postgres 17),
  • вмъква данните за връзка в работното ви пространство и в публикуваното приложение като променливи на средата, така че никога да не се появяват в кода ви, и
  • позволява на агента да създава таблици и да чете и пише данни вместо вас.

Едната и съща база се използва от живия преглед и от публикуваното приложение. Тя заспива след 5 минути бездействие и се буди при следващата заявка. Новите бази започват малки и могат да се мащабират при натоварване, с таван, така че една заявка, която се е оплела, да не расте безкрайно. Повече в документацията за базите данни.

Защо не една голяма обща база?

Обща база с колона, която казва на кой приложение принадлежи всеки ред, е по-евтина за поддръжка и по-проста за работа. Ние не я избрахме по четири причини.

1. Изолация, без да трябва да се доверявате

Кодът, написан с AI, греши. В обща база една липсваща WHERE app_id = … в заявката на едно приложение би прочела или презаписала данните на друг клиент. С база за всяко приложение няма чужди данни в обсега — бъгът остава в собственото си приложение.

2. Истински Postgres, а не собствен слой

Вашето приложение говори стандартен Postgres с обикновен низ за връзка. Всяка библиотека, ORM или инструмент, който работи с Postgres, работи и тук. Ако експортирате проекта, за да го пуснете другаде, той очаква Postgres база — нещо, което предлага всеки хостинг доставчик — а не API, специфично за Mythex.

3. Всяко приложение може да бъде оформено според нуждите си

Едно приложение иска таблица bookings с уникално ограничение върху времевите слотове; друго иска пълнотекстово търсене по продукти. С ваша собствена база схемата и миграциите на всяко приложение са негова работа. Нищо не трябва да се вписва в дизайн, който е най-малкото общо кратно.

4. Цената следва употребата

Тъй като всяка база заспива самостоятелно, приложение, което никой не ползва, струва почти нищо, а цената на заето приложение се вижда като собствен ред. Употребата на публикувани бази се таксува според това, което базата действително е измерила — как работи таксуването.

Компромисите

Този дизайн не е безплатен:

  • Студени старти. Заспала база отнема момент, за да се събуди при първата заявка след тихо време. За повечето приложения това е едва забележимо; за приложение, което трябва да отговаря мигновено по всяко време, е нещо за обмисляне.
  • Цена, докато е буден. Базата остава будна, докато нещо я пита. Приложение, което пита базата си на всеки няколко секунди, я държи будна денонощно и струва повече от това, което зарежда при поискване. Ако употребата ви изглежда по-висока от очакваното, обикновено това е причината — помолете AI да спре опитите и да зарежда данните, когато са нужни.
  • Повече подвижни части за нас. Създаването, проследяването и почистването на хиляди бази е повече работа, отколкото на една. Това е наш проблем, а не ваш.

Ако сте нови в базите данни

Базата е мястото, където приложението пази онова, което трябва да помни. Ако идеята е нова за вас, започнете с какво е база данни и какво е Postgres. Когато сте готови да построите нещо, което пази данни, как да построите приложение с AI описва добавянето ѝ стъпка по стъпка.

Mythex · Pricing · Създай всичко с ИИ · Шаблони за уебсайтове и приложения · Mythex в сравнение · Речник на създаването на приложения с ИИ · Безплатни инструменти за създаване на приложения с ИИ · 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 தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)