Неліктен әр Mythex қолданбасының өз дерекқоры бар
Mythex-те құрастырған қолданбаңыз деректерді сақтауы керек болғанда — тіркелулер, брондаулар, тапсырыстар — Mythex сол жобаға өз Postgres дерекқорын береді. Ортақ дерекқордағы кесте емес, басқа біреудің жанындағы схема емес: сұраныс бойынша жасалатын, ешкім пайдаланбаған кезде ұйықтайтын бөлек дерекқор. Оны неліктен осылай құрастырғанымыз және оның қандай бағасы бар.
Не аласыз
Деректер керек екенін айтқанда («күту тізімінің электрондық поштасын сақта», «брондауларды сақта») немесе /database командасын пайдаланғанда, Mythex:
- жоба үшін бөлек Postgres дерекқорын жасайды (қазір Postgres 17),
- байланыс деректерін жұмыс кеңістігіңізге және жарияланған қолданбаға орта айнымалылары ретінде енгізеді, сондықтан олар кодыңызда ешқашан көрінбейді, және
- агентке кестелер жасауға және деректерді оқып, жазуға мүмкіндік береді.
Preview және жарияланған қолданба бірдей дерекқорды пайдаланады. Ол 5 бос минуттан кейін ұйқыға кетеді және келесі сұраумен оянады. Жаңа дерекқорлар шағын басталады және жүктеме түскенде ұлғаяды, шегі бар, сондықтан басқарылмайтын сұрау шексіз өспейді. Толығырақ дерекқор құжаттарында.
Неге ортақ үлкен дерекқор емес?
Әр қолданба жолы кімге тиесілі екенін білдіретін бағанасы бар ортақ дерекқор арзанырақ жұмыс істейді және оны басқару оңайырақ. Біз оны төрт себеппен жасамадық.
1. Сенбеуіңізге қажет емес оқшаулану
AI жазған код қателеседі. Ортақ дерекқорда бір қолданбаның бір сұрауындағы жоғалған WHERE app_id = … басқа клиенттің деректерін оқуы немесе үстінен жазуы мүмкін. Әр қолданбаға бөлек дерекқормен басқа клиенттің деректері қолжетімді емес — қате өз қолданбасының шегінде қалады.
2. Бұл нағыз Postgres, жекеменшік қабат емес
Қолданбаңыз стандартты Postgres-пен қалыпты байланыс жолы арқылы сөйлеседі. Postgres-пен жұмыс істейтін кез келген кітапхана, ORM немесе құрал мұнда да жұмыс істейді. Егер жобаңызды басқа жерде іске қосу үшін экспорттасаңыз, ол Postgres дерекқорын күтеді — әр хостинг провайдерінде бар нәрсені, Mythex-ке тән API емес.
3. Әр қолданба қажетіне қарай пішінделе алады
Бір қолданба уақыт слоттарында бірегей шектеуі бар bookings кестесін қалайды; басқасы өнімдер бойынша толық мәтіндік іздеуді қалайды. Өз дерекқорында әр қолданбаның схемасы мен миграциялары өз ісі болып қалады. Ештеңе ең аз ортақ бөлімге сәйкес келуге мәжбүр емес.
4. Құн пайдалануды соңынан ілестіреді
Әр дерекқор өз бетінше ұйықтайтындықтан, ешкім пайдаланбайтын қолданба өте аз тұрады, ал белсенді қолданбаның құны өз жолы ретінде көрінеді. Жарияланған дерекқордың қолданылуы дерекқор нақты өлшеген нәрсеге қарай есептеледі — бұл есептеу қалай жұмыс істейді.
Сауда-бойындағы шарттар
Бұл дизайн тегін емес:
- Суық старттар. Ұйқыдағы дерекқор тыныш кезеңнен кейінгі алғашқы сұрауда оянуға уақыт алады. Көп қолданба үшін бұл сезілмейді; әр сәтте лезде жауап беруі керек қолданба үшін бұл ескеретін нәрсе.
- Ояу тұрғандағы шығындар. Дерекқор оны сұраған кез келген нәрсе бар кезде ояу тұрады. Әр бірнеше секунд сайын дерекқорды сұраған қолданба оны тәулік бойы ояу ұстайды және сұраған кезде ғана сұраған қолданбадан қымбатырақ тұрады. Қолданылуыңыз күткеннен жоғары болып көрінсе, көбінесе осы себеп — AI-дан сұраудың орнына сұрау керек кезде деректерді жүктеуін, сұрақтарды тоқтатуын айтыңыз.
- Біз үшін қосымша қозғалғыш бөліктер. Мыңдаған дерекқорды жасау, бақылау және тазалау біреуін жасаудан көп жұмыс. Бұл — біздің мәселеміз, сізге жүктелмейді.
Дерекқорлар туралы жаңа болсаңыз
Дерекқор — қолданба есте сақтауы керек нәрсені сақтайтын жер. Идея жаңа болса, дерекқор деген не және Postgres деген не деңгейінен бастаңыз. Деректерді сақтайтын бірдеңе құрастыруға дайын болғанда, AI арқылы қолданба жасау оны қосуды қадамдап көрсетеді.