X’tipi ta’ databases hemm
What you'll learn
- tagħraf il-ħames familji ta’ DB — relazzjonali, ċavetta-valur, dokumentali, kolonnari, grafiċi — skont kif jaħżnu d-data u x’xogħlijiet tipiċi jagħmlu
- tagħżel il-maħżen skont in-natura tal-mistoqsijiet: database relazzjonali bħala default, Redis/MongoDB/ClickHouse — għal xogħol speċifiku, mhux «għax hekk fil-moda»
- tispjega d-differenza bejn u u għalfejn il-prodott jikteb f’PostgreSQL filwaqt li l-analitika taqra replika kolonnari
- issib bżonn «dokumentali» li jissodisfa kolonna
jsonbf’PostgreSQL mingħajr it-tieni database
Fit-triq lejn l-indiċi, QUERY jieqaf ftit ħdejn sezzjoni mudlama tal-vault. Wara l-ħġieġa — reġistru ta’ arkivji tad-Dinja l-qadima li ma baqgħux ħajjin wara s-Severance il-Kbira: in-nodi tal-cache ntfew l-ewwel, il-maħżen dokumentali waslu f’biċċiet imċarrta, il-clusters analitiċi siekta f’setturi sħaħ. Imma l-istampa relazzjonali ta’ «Kotomarket» baqgħet sħiħa — bir-rabtiet kollha.
Mhux biss relazzjonali
Għal «Kotomarket» speċjalment komdi huma d-databases relazzjonali: il-klijenti, l-ordnijiet u l-prodotti jaqgħu b’mod naturali f’tabelli b’rabtiet. Propju lilhom huwa ddedikat il-kors. Imma fl-industrija — kemm fl-2024 kif ukoll illum — tiltaqa’ ma’ approċċi oħra:
- ċavetta-valur (Redis) — format «ċavetta → valur» mgħaġġel ħafna, meta jkollok bżonn tiġbed rekord sempliċi mill-ewwel;
- orjentat lejn id-dokumenti (MongoDB) — jaħżnu dokumenti flessibbli, fejn l-istruttura tista’ tvarja minn rekord għal rekord;
- kolonnari (ClickHouse) — qawwija fl-analitika, meta jkollok bżonn tikkalkula malajr indikaturi fuq volumi enormi ta’ data.
Il-biċċa l-kbira tad- popolari għall-iżvilupp tal-prodotti jibqgħu relazzjonali: PostgreSQL, MySQL, Oracle, MS SQL. Titgħallem l-SQL hawn — u tkun tista’ taqra d-data b’kunfidenza f’kumpaniji differenti ħafna.
QUERY: Lil kull arkivju x-xogħol tiegħu: lil wieħed il-veloċità, lil ieħor il-flessibbiltà, lit-tielet l-analitika. Aħna tnejn kellna xorti tajba: missilna dak fejn kollox marbut ma’ kollox.

Not only relational
For Kotomarket, relational databases suit us especially well: buyers, orders, and products fall naturally into tables with links between them. That’s what this course is about. But across the industry — in 2024 just as today — you’ll meet other approaches too:
- key-value (Redis) — a blazingly fast "key → value" format for when you need to grab a simple record instantly;
- document-oriented (MongoDB) — stores flexible documents whose structure can differ from record to record;
- columnar (ClickHouse) — strong at analytics, when you need to crunch metrics over enormous volumes of data fast.
Most of the popular DBMSs for product development stay relational: PostgreSQL, MySQL, Oracle, MS SQL. Master SQL here and you’ll be able to read data confidently at very different companies.
QUERY: Each archive has its own job: one prizes speed, another flexibility, a third analytics. You and I got lucky: we inherited the one where everything is connected to everything.
Ir-reġistru tal-familji: maqsum bil-galbu
Ir-reġistru wara l-ħġieġa huwa raġuni tajba biex naqsmu l-familji tad-databases bis-serjetà: «x’tipi ta’ DB hemm u meta tieħu liema» huwa wieħed mill-aktar mistoqsijiet frekwenti fl-intervisti. Ngħaddu ħames familji wara xulxin, u fuq kull waħda — l-istess skema: mod ta’ ħażna, naħat b’saħħithom u dgħajfa, prodotti u meta tieħu.
Databases relazzjonali: skema stretta u rabtiet
Mod ta’ ħażna: ringieli f’tabelli bi skema ddikjarata minn qabel — kull kolonna għandha t-tip tagħha, bejn it-tabelli jaħdmu r-rabtiet permezz taċ-ċwievet, u d- innifsu jħares l-integrità: ordni minn klijent li ma jeżistix ma tirnexxix tinkiteb. Il-bidliet jiġu eżegwiti bħala tranżazzjonijiet bil-garanziji — «ordni + tnaqqis tal-istokk» jew jinkitbu flimkien, jew ma jinkitbux xejn.
- Naħat b’saħħithom: SQL espressiv (filtri, tgħaqqid ta’ tabelli, aggregati), integrità fil-livell tad-database, tranżazzjonijiet.
- Naħat dgħajfa: l-iskema trid taħsibha minn qabel u tagħmlilha migrazzjoni meta jinbidlu l-affarijiet; l-iskalar orizzontali fuq bosta servers huwa aktar diffiċli milli għall-familji .
- Prodotti: PostgreSQL, MySQL/MariaDB, Microsoft SQL Server, Oracle, SQLite.
- Meta tieħu: utenti, ordnijiet, flus, maħżen — kullimkien fejn id-data marbuta u żball ta’ kitba mhux aċċettabbli. Għal prodott ġdid din hija l-għażla bħala default.
Databases ċavetta-valur: dizzjunarju b’veloċità massima
Mod ta’ ħażna: dizzjunarju ġganti wieħed «ċavetta → valur», l-aktar spiss fil-memorja operattiva. La tabelli u lanqas rabtiet: poġġejt biċ-ċavetta — ġbidt biċ-ċavetta f’frazzjoni ta’ millisekonda.
-- Dan mhux SQL, dawn huma kmandi ta’ Redis
SET session:8f3a '{"user_id": 42}'
GET session:8f3a
- Naħat b’saħħithom: veloċità, sempliċità, skalar faċli.
- Naħat dgħajfa: mistoqsijiet biss biċ-ċavetta eżatta — il-mistoqsija «sib is-sessjonijiet kollha tal-klijenti minn Moska» ma tistax issaqsi lil dan il-format; il-ġewwieni tal-valur huwa opak għad-database.
- Prodotti: Redis, Memcached, Amazon DynamoDB.
- Meta tieħu: cache, sessjonijiet, contatori, kjuwijiet, klassifiki — data sħuna ħdejn id-database prinċipali, mhux minflokha.
Databases dokumentali: JSON flessibbli
Mod ta’ ħażna: ir-rekords huma dokumenti , miġbura f’kollezzjonijiet. L-iskema ma tiġix iddikjarata minn qabel: arloġġ intelliġenti għandu kamp «ħajja tal-batterija», hoodie għandu «tabella tal-qisien», u ż-żewġ dokumenti joqogħdu bi kwiet fl-istess kollezzjoni. L-istrutturi mwaħħlin jinħażnu direttament ġewwa d-dokument, mingħajr tabelli separati.
- Naħat b’saħħithom: struttura flessibbli, id-dokument jinqara kollu b’aċċess wieħed, komdu għal katalgi b’attributi eteroġeni u għal prototipi mgħaġġla.
- Naħat dgħajfa: ir-rabtiet bejn id-dokumenti huma r-responsabbiltà tal-applikazzjoni, sħiħ kważi ma jeżistix; mingħajr dixxiplina l-kollezzjoni ssir żoo ta’ formati inkompatibbli.
- Prodotti: MongoDB, Couchbase, Firestore.
- Meta tieħu: kontenut, katalgi b’kampi differenti ħafna, profili u settings.
Il-konfini tal-familji, fil-fatt, mhumiex ċari: PostgreSQL jaf jaħżen dokumenti f’kolonna tat-tip jsonb u jibni indiċijiet fuqhom — spiss dan jissodisfa l-bżonn «dokumentali» mingħajr it-tieni database:
-- Eżempju barra l-istampa tagħna: attrs — kolonna tat-tip jsonb
SELECT name, attrs->>'color' AS color
FROM catalog
WHERE attrs @> '{"brand": "Kotomarket"}';
Databases kolonnari: analitika fuq biljuni ta’ ringieli
Mod ta’ ħażna: il-valuri ma jinsabux ringiela b’ringiela, imma skont il-kolonni: il-prezzijiet kollha — flimkien, id-dati kollha — flimkien. Il-mistoqsija «valur medju tal-ordni skont ix-xahar» taqra mid-diska żewġ kolonni biss minflok it-tabella kollha, u valuri tal-istess tip jingħafsu tajjeb ħafna. Minn hawn il-veloċità fuq l-aggregati.
-- Il-ġeneru favorit ta’ database kolonnari (djalett ClickHouse: toYYYYMM — il-funzjoni tiegħu)
SELECT toYYYYMM(created_at) AS month, avg(total_amount) AS avg_check
FROM orders
GROUP BY month;
- Naħat b’saħħithom: aggregati u skennjar ta’ biljuni ta’ ringieli, kompressjoni qawwija.
- Naħat dgħajfa: aġġornamenti u tħassir puntwali huma għaljin; taqra ringiela waħda kollha — itwal milli f’database bir-ringieli; il-piż tranżazzjonali — għal tali piż mhumiex maħsuba.
- Prodotti: ClickHouse, BigQuery, Snowflake, Amazon Redshift.
- Meta tieħu: analitika, rapporti, avvenimenti, logs, metriċi — normalment ħdejn id-database relazzjonali «tal-gwerra».
Hawn ukoll par termini li jħobbu fl-intervisti: (online processing — ħafna operazzjonijiet qosra ta’ kitba u qari, id-dinja ta’ PostgreSQL) u (online analytical processing — qari analitiku tqil fuq l-istorja kollha, id-dinja ta’ ClickHouse). Il-prodott jikteb f’database OLTP, l-analitika taqra kopja OLAP.
U l-aħħar familja — databases grafiċi
Meta r-rabtiet huma aktar importanti mir-rekords infushom — «ħbieb tal-ħbieb», rotot tal-konsenja, ktajjen ta’ rakkomandazzjonijiet — jieħdu databases grafiċi (Neo4j, Memgraph). Id-data fihom hija nodi (dawn huma rekords) u xfar (dawn huma r-rabtiet bejn ir-rekords); il-mixi mar-rabtiet ta’ kull fond huwa operazzjoni nattiva. F’database relazzjonali tali mixja hija sellum ta’ tgħaqqid ta’ tabelli, li mal-fond isir aktar tqil.
Mini-gwida: kif tagħżel database għal proġett
- Ibda mill-mistoqsijiet, mhux mid-data. Liema mistoqsijiet se jistaqsi l-prodott: puntwali «biċ-ċavetta», marbuta «min xtara xiex», analitiċi «kemm fix-xahar»?
- Bħala default — relazzjonali. Data marbuta flimkien mal-prezz tal-iżball (ordnijiet, ħlasijiet, stokk) — dan huwa PostgreSQL. L-aktar bidu sigur għal kważi kull prodott.
- Databases speċjalizzati — għal xogħol speċifiku, mhux «għar-riżerva». Jagħfsu l-qari sħun — żid cache fuq Redis. Kibret l-analitika — irreplika l-avvenimenti f’ClickHouse. Varjabbiltà selvaġġa tal-kampi — l-ewwel
jsonbf’PostgreSQL, u biss meta ma jkunx biżżejjed — database dokumentali. - Għodd il-prezz tat-tieni database. Kull ġdid huwa sinkronizzazzjoni tad-data, backups, monitoraġġ u teknoloġija oħra li t-tim irid jissapportja.
Tfixkil: tagħżel database «għax fil-moda». «Nieħdu MongoDB — mingħajr skema iktar malajr» jispiċċa li xorta tiddisinja l-iskema, biss issa r-regoli tagħha jgħixu fil-kodiċi tal-applikazzjoni, u mhux taħt il-protezzjoni tad-database. It-tfixkil bil-maqlub jiġri wkoll: iġġorr ClickHouse għal volumi li PostgreSQL jaggrega f’millisekondi. Id-database tagħżlu skont in-natura tal-mistoqsijiet u l-prezz tal-iżball — mhux skont il-hype.
ClickHouse huwa kolonnari għall-analitika: iħobbuh għall-kalkoli mgħaġġla fuq tabelli kbar ta’ avvenimenti u ordnijiet. Għandu d-djalett SQL tiegħu; fuq il-pjattaforma hemm trainer separat dwar ClickHouse. U l-istampa tagħna hija relazzjonali: aktar ’il quddiem QUERY jiftaħ l-indiċi u juri minn xiex hija magħmula — tabelli, ringieli u l-ħjut-ċwievet bejniethom.
Interview question
Mistoqsija minn intervista: liema tipi ta’ databases taf u kif tagħżel maħżen għal servizz ġdid?
Tweġiba qawwija: relazzjonali (PostgreSQL, MySQL) — skema stretta, rabtiet, tranżazzjonijiet ; ċavetta-valur (Redis) — cache, sessjonijiet, contatori; dokumentali (MongoDB) — dokumenti flessibbli; kolonnari (ClickHouse, BigQuery) — analitika fuq volumi kbar; grafiċi (Neo4j) — rabtiet fondi. Fl-għażla nibda min-natura tal-mistoqsijiet: bħala sors tal-verità nagħmel id-database relazzjonali, u dawk speċjalizzati nqabbadhom għal xogħol speċifiku (cache, analitika), mhux minflokha.
Mistoqsija addizzjonali: x’inhi d-differenza bejn u ?
Tweġiba qawwija: OLTP — ħafna tranżazzjonijiet qosra ta’ kitba u qari (ipproċessar tal-ordnijiet), bir-ringieli bħal PostgreSQL; OLAP — qari analitiku tqil u aggregati fuq l-istorja, DBMS kolonnari bħal ClickHouse. Spiss jaħdmu bħala par: il-prodott jikteb f’OLTP, l-analitika taqra replika OLAP.