Databases mingħajr ċpar

Database u DBMS: min hu responsabbli minn xiex

9 min
What you'll learn
  • tagħraf id-differenza bejn database (maħżen organizzat) u — il-programm li jħaddem il-mistoqsijiet SQL u jiġġestixxi d-data
  • tispjega l-mogħdija tal-mistoqsija «SQL → DBMS → riżultat» u għalfejn fajls tal-Excel ma jifilħux għal eluf ta’ utenti fl-istess ħin
  • telenka x’jagħtik DBMS lil hinn minn «sempliċi fajls»: tranżazzjonijiet, ġurnal ta’ rkupru (), drittijiet ta’ aċċess (GRANT), kontrolli tal-integrità

Kapitlu 1 — «Il-mappa tal-arkivju»

Il-istampa ta’ «Kotomarket» m’għadhiex sinjal minn settur mejjet — qiegħda fil-kompartiment ta’ kwarantina ta’ «Vault-9», u taħt l-aħħar ringiela tad- tagħha hemm dik l-istess firma: «K.». Filgħodu fuq il-holopanel tiegħek tixgħel entrata ġdida: «Aċċess: indiċi tal-arkivju. Maħruġ minn: modulu S.Q.L.» Il-bieb tal-vault jiżżerżaq fil-ġenb; warajh, fid-dawl ambra, ix-xkafef tas-servers iżommu ħoss baxx u sod.

QUERY: Qabel taqra l-memorja ta’ ħaddieħor, ifhem kif inhi mibnija. Nibdew mill-aħħar ħaġa importanti: x’inhu hawn il-maħżen, u min hu l-gwardjan.

Database u DBMS

Database (DB) huwa maħżen organizzat. Fl-istampa ta’ «Kotomarket» hemm il-klijenti, il-prodotti, l-ordnijiet u l-avvenimenti: mhux mxerrda f’fajls, imma fi struttura ċara — u għalhekk jistgħu jinqraw anki wara mija u sittin sena.

Imma l-maħżen waħdu ma jweġibx mistoqsijiet. Hemm bżonn programm li jaf joħloq tabelli, jirreġistra ordnijiet ġodda, jaqra d-data u jara li r-rabtiet ma jinqasmux. Dan huwa (sistema ta’ ġestjoni tad-databases). Eżempji: PostgreSQL, MySQL, ClickHouse. L-istampa tagħna hija database PostgreSQL, u titkellem bl-istess SQL li kienet titkellem meta l-ħanut kien għadu ħaj.

Inti tikteb mistoqsija bl-SQL → tibagħtha lid-DBMS → id-DBMS jiġbed id-data li teħtieġ u jroddlok ir-riżultat. Excel huwa tajjeb għal tabella personali, imma mhux għal ħanut fejn eluf ta’ utenti jħarsu lejn il-prodotti, jordnaw u jħallu avvenimenti fis-sistema fl-istess ħin.

Kadett ħdejn id-daħla tal-vault: bejnu u x-xkafef tal-memorja hemm gwardjan-medjatur olografiku — id-DBMS
L-arkivju jżomm il-memorja, imma l-mistoqsijiet iwieġeb biss il-gwardjan: il-mistoqsija tmur għad-DBMS, u hu biss imiss id-data.

Database and DBMS

A database is an organized store. The Kotomarket holds buyers, products, orders, and events — not scattered across files, but in a clear structure. That’s exactly why it can still be read a hundred and sixty years later.

But the store itself doesn’t answer questions. You need a program that can create tables, record new orders, read data, and make sure the links never break. That’s a (database management system). Examples: PostgreSQL, MySQL, ClickHouse. Our snapshot is a PostgreSQL database, and it still speaks the same SQL it did when the shop was alive.

You write a query in SQL → send it to the DBMS → the DBMS fetches the data you asked for and returns the result. Excel is fine for a personal spreadsheet, but not for a shop where thousands of users browse products, place orders, and leave events in the system all at once.

clientDBMSparserplannerexecutordata filesSQL queryresultdatathe client talks to the DBMS, not the files directly
It-toroq kollha lejn id-data jgħaddu mid-DBMS: hu jirċievi l-SQL, iħaddmu u jħares l-integrità tad-database.

X’jaf jagħmel DBMS li «sempliċi fajls» ma jistgħux

Jidher li l-ħanut seta’ jgħix anki mingħajr : jikteb l-ordnijiet f’CSV jew Excel. Fl-iskala ta’ ktejjeb personali hekk jagħmlu — sakemm jaslu l-problemi li għalihom ġie maħluq id-DBMS.

  • Aċċess konkorrenti. Fil-«Kotomarket» ħaj, il-klijenti kienu jordnaw fl-istess ħin. Żewġ proċessi li jiktbu fl-istess fajl iħassru l-bidliet ta’ xulxin; id-DBMS iħaddem il-bidliet bħala tranżazzjonijiet u hu stess jifred l-operazzjonijiet paralleli. PostgreSQL jagħmel dan permezz tal-mekkaniżmu : min jaqra ma jimblukkax lil min jikteb, u bil-maqlub.
  • Irkupru wara ħsara. Id-dawl jitfi f’nofs il-kitba — il-fajl jitħassar, u ma tafx liema nofs tal-ordni rnexxielu jiġi salvat. Id-DBMS l-ewwel jiffissa l-bidla f’ġurnal (f’PostgreSQL — , write-ahead log) u wara l-ħsara jtemmha: l-ordni jew tinkiteb kollha, jew ma tinkitebx xejn.
  • Drittijiet ta’ aċċess. Fajl jinfetaħ jew kollu jew xejn. F’DBMS id-drittijiet huma granulari — sa tabella waħda biss:
-- Aġġwib analista — qari biss tal-ordnijiet, mingħajr id-dritt li jibdilhom
GRANT SELECT ON orders TO analyst;
  • Integrità. Id-DBMS ma jaċċettax ordni bi prezz-test jew b’referenza għal klijent li ma jeżistix: it-tipi tal-kolonni u r-restrizzjonijiet jiġu vverifikati ma’ kull kitba. Lill-fajl ma jimpurtahx x’hemm fih.
  • Mistoqsijiet dikjarattivi. «Uri l-ordnijiet aktar għaljin minn 5000» — ringiela waħda ta’ SQL. B’fajl, l-istess xogħol jagħmlu programm li xi ħadd irid jiktbu u ma jiżbaljax.

huwa l-medjatur tax-xogħol bejnek u d-data: jirċievi mistoqsijiet SQL, iħaddimhom u ma jħallix id-database issir kaos. F’dan il-kors nitgħallmu fuq PostgreSQL — ħafna drabi jistennewh fil-pożizzjonijiet tal-analitika u tal-backend. Lill-gwardjan issa tafu. Imma qabel tiftaħ l-indiċi tal-istampa tagħna, QUERY jeħodok lejn is-sezzjoni li jmiss: ir-reġistru ta’ arkivji oħra tad-Dinja l-qadima — biex tifhem għalfejn baqa’ sħiħ propju tagħna.

Interview question

Mistoqsija minn intervista: x’inhi d-differenza bejn database u ? Għalfejn applikazzjoni m’għandhiex taħżen id-data sempliċement f’fajls?

Tweġiba qawwija: database hija d-data organizzata, DBMS huwa l-programm li jiġġestixxiha (PostgreSQL, MySQL, ClickHouse). Il-fajls ma jagħtux aċċess konkorrenti (kitbiet paralleli jħassru lil xulxin), lanqas irkupru wara ħsara (id-DBMS iżomm ġurnal u jtemm il-bidliet mhux mitmuma), lanqas drittijiet granulari u kontrolli tal-integrità. U fuq kollox — id-DBMS iwieġeb mistoqsijiet SQL dikjarattivi, filwaqt li fajl ikollok tanalizzah b’kodiċi tiegħek stess.

Check yourself
Min jagħmel xiex: id-database jew id-DBMS?