Af hverju hvert Mythex-forrit fær sinn eigin gagnagrunn
Þegar forrit sem þú smíðar á Mythex þarf að vista gögn, til dæmis skráningar, bókanir eða pantanir, fær verkefnið sinn eigin Postgres-gagnagrunn. Ekki töflu í sameiginlegum gagnagrunni, ekki skema við hliðina á gagnagrunni einhvers annars: sérstakan gagnagrunn, búinn til eftir þörfum, sem sefur þegar enginn notar hann. Hér er af hverju við smíðuðum hann þannig og hvað það kostar.
Það sem þú færð
Þegar þú biður um gögn („vistaðu netföng á biðlista“, „geymdu bókanir“) eða notar skipunina /database, þá Mythex:
- býr til sérstakan Postgres-gagnagrunn fyrir verkefnið (eins og er Postgres 17),
- setur tengiupplýsingarnar inn í vinnusvæðið þitt og birt forrit sem umhverfisbreytur, þannig að þær birtast aldrei í kóðanum þínum, og
- leyfir aðstoðarmanninum að búa til töflur og lesa og skrifa gögn fyrir þig.
Sami gagnagrunnurinn er notaður af lifandi forsýningunni og birta forritinu. Hann sefur eftir 5 mínútur án virkni og vaknar við næstu fyrirspurn. Nýir gagnagrunnar byrja smáir og geta skalað upp undir álagi, með þaki svo að hlaupandi fyrirspurn geti ekki vaxið endalaust. Meira í gagnagrunnsskjölunum.
Af hverju ekki einn stóran sameiginlegan gagnagrunn?
Sameiginlegur gagnagrunnur með dálki sem segir hvaða forriti hver röð tilheyrir er ódýrari í rekstri og einfaldari í umsjón. Við völdum að gera það ekki, af fjórum ástæðum.
1. Aðskilnaður sem þú þarft ekki að treysta
Kóði sem gervigreind skrifar gerir mistök. Í sameiginlegum gagnagrunni gæti vantað eitt WHERE app_id = … í fyrirspurn eins forrits og það myndi lesa eða skrifa yfir gögn annars viðskiptavinar. Með gagnagrunn á hvert forrit er engin gögn annars viðskiptavinar innan seilingar, og villa helst innan síns eigin forrits.
2. Þetta er raunverulegur Postgres, ekki sérlag
Forritið þitt talar við venjulegan Postgres með venjulegri tengislóð. Hvert bókasafn, ORM eða verkfæri sem virkar með Postgres virkar hér. Ef þú flytur verkefnið út til að keyra það annars staðar, gerir það ráð fyrir Postgres-gagnagrunni, sem hver hýsingaraðili býður, ekki Mythex-sértæku API.
3. Hvert forrit getur verið mótað eins og það þarf
Eitt forrit vill töfluna bookings með einstaka takmörkun á tímaraufum; annað vill textaleit yfir vörur. Með eigin gagnagrunni er skema hvers forrits og flutningar þess þeirra eigið mál. Ekkert þarf að passa í hönnun sem er lægsti sameiginlegi nefnari.
4. Kostnaðurinn fylgir notkun
Af því hver gagnagrunnur sefur sjálfstætt kostar forrit sem enginn notar nánast ekkert, og kostnaður virks forrits sést sem sín eigin lína. Notkun birtra gagnagrunna er rukkuð út frá því sem gagnagrunnurinn mældi í raun. Hvernig sú rukkun virkar.
Málamiðlanirnar
Þessi hönnun er ekki ókeypis:
- Kaldræsingar. Sofandi gagnagrunnur tekur smástund að vakna við fyrstu fyrirspurn eftir rólegt tímabil. Fyrir flest forrit er þetta varla merkjanlegt; fyrir forrit sem verður að svara samstundis, hvenær sem er sólarhringsins, er þetta atriði til umhugsunar.
- Kostnaður meðan hann er vakandi. Gagnagrunnur helst vakandi meðan eitthvað fyrirspyr hann. Forrit sem spyr gagnagrunninn á nokkurra sekúndna fresti heldur honum vakandi allan sólarhringinn og kostar meira en forrit sem spyr eftir þörfum. Ef notkunin þín virðist hærri en þú bjóst við er þetta yfirleitt ástæðan. Biddu gervigreindina að hætta að spyrja aftur og aftur og hlaða gögnum þegar þörf er á.
- Fleiri hreyfanlegir hlutar fyrir okkur. Að búa til, rekja og hreinsa þúsundir gagnagrunna er meiri vinna en að hafa einn. Það er okkar vandamál að bera, ekki þitt.
Ef þú ert ný/nýr í gagnagrunnum
Gagnagrunnur er staðurinn þar sem forrit geymir það sem það þarf að muna. Ef hugmyndin er ný byrjaðu á hvað gagnagrunnur er og hvað Postgres er. Þegar þú ert tilbúin/n að smíða eitthvað sem geymir gögn fer hvernig þú smíðar forrit með gervigreind yfir það að bæta því við.