~~NOTOC~~
Régi anyag: https://docs.google.com/presentation/d/1_nmA1F4ag_O-qlJAE4TfVuyfLgSruZLW/edit?usp=sharing&ouid=110539736176923279178&rtpof=true&sd=true
====== 📊 Adatbázisok története és fejlődése ======
**Relációs adatbázisoktól a NoSQL-en át a vektor adatbázisokig**
===== 1. Bevezetés =====
Az adatbázisok az informatikai rendszerek alapvetĹ‘ elemei, amelyek lehetĹ‘vĂ© teszik az adatok hatĂ©kony tárolását, visszakeresĂ©sĂ©t, rendezĂ©sĂ©t Ă©s mĂłdosĂtását. A modern világban hatalmas mennyisĂ©gű adat keletkezik másodpercenkĂ©nt, Ă©s ezek strukturált tárolása elengedhetetlen a döntĂ©stámogatáshoz, automatizáláshoz Ă©s gĂ©pi tanuláshoz.
==== Miért van szükség adatbázisokra? ====
* Az adatok szervezett tárolása lehetővé teszi azok gyors visszakeresését és elemzését.
* Több felhasználó egyidejűleg dolgozhat ugyanazon adatokkal (konkurens hozzáférés).
* BiztosĂtani lehet az **adatintegritást** Ă©s a **hozzáfĂ©rĂ©s-ellenĹ‘rzĂ©st**. Az adatbázis kĂ©pes megĂłvni az adatok helyessĂ©gĂ©t, Ă©rvĂ©nyessĂ©gĂ©t Ă©s konzisztenciáját – vagyis azt, hogy az adatok ne legyenek hibásak, hiányosak, vagy egymásnak ellentmondĂłak.
* Az adatok rendszeres **mentĂ©se Ă©s visszaállĂtása** egyszerűbbĂ© válik.
* Automatizált folyamatokhoz (pl. webalkalmazások, gĂ©pi tanulás) szĂĽksĂ©ges egy megbĂzhatĂł háttĂ©rtárolĂł.
Példa: Egy webshopban több ezer termék, rendelés és felhasználói adat van. Ezek kereshető tárolása adatbázis nélkül gyakorlatilag lehetetlen lenne.
==== Adat vs. információ ====
* **Adat**: nyers tĂ©nyek, mĂ©rt vagy rögzĂtett Ă©rtĂ©kek, amelyek mĂ©g nem feltĂ©tlenĂĽl bĂrnak jelentĂ©ssel.
* Példa: `42`, `2025-05-07`, `„Piros”`
* **Információ**: értelmezett adat, amely kontextusba helyezve új tudást jelent.
* Példa: „42 éves a felhasználó”, vagy „A rendelés dátuma: 2025-05-07”
Az adat tehát az alap, amibĹ‘l – megfelelĹ‘ feldolgozással – informáciĂłt nyerhetĂĽnk. Az adatbázis cĂ©lja az adatok strukturált tárolása annak Ă©rdekĂ©ben, hogy informáciĂłvá alakĂthassuk Ĺ‘ket.
==== Strukturált, félstrukturált és strukturálatlan adatok ====
* **Strukturált adat**:
* Táblázatos formában rendezett, előre meghatározott sémával rendelkezik.
* Példa: SQL adatbázisok, Excel-táblák, CRM rendszerek.
* Jellemző: gyors kereshetőség, jól lekérdezhető.
* **Félstrukturált adat**:
* Nincs fix sĂ©mája, de tartalmaz cĂmkĂ©ket vagy metaadatokat.
* Példa: XML, JSON, YAML fájlok, logok.
* Rugalmasabb, de nehezebb indexelni és lekérdezni.
* **Strukturálatlan adat**:
* Nincs formázása, nem egyértelmű a tartalma.
* Példa: szövegfájlok, képek, videók, e-mailek, hangfelvételek.
* Ezeket általában keresőmotorokkal vagy mesterséges intelligenciával lehet feldolgozni (pl. szöveg- vagy képelemzés).
Az adatbázisok fejlĹ‘dĂ©se szorosan összefĂĽgg azzal, hogyan Ă©s milyen tĂpusĂş adatokat akarunk hatĂ©konyan kezelni.
===== 2. Relációs adatbázisok (RDBMS) =====
A reláciĂłs adatbázisok az egyik legelterjedtebb adatbázis-tĂpusok közĂ© tartoznak. Az adatok táblákban (reláciĂłkban) tárolĂłdnak, ahol minden tábla sorokbĂłl (rekordokbĂłl) Ă©s oszlopokbĂłl (mezĹ‘kbĹ‘l) áll. A reláciĂłs modell megbĂzhatĂł Ă©s jĂłl definiált struktĂşrát biztosĂt az adatok kezelĂ©sĂ©hez.
==== Történet ====
* A relációs modellt **Edgar F. Codd** matematikus javasolta 1970-ben.
* A modell a halmazelméletre és a predikátumlogikára épül.
* A ’70-es, ’80-as években megjelentek az első RDBMS rendszerek: IBM System R, Ingres, Oracle.
* A **SQL (Structured Query Language)** nyelv szabványosĂtása nagyban hozzájárult az elterjedĂ©sĂ©hez.
==== Jellemzők ====
* **Adatszerkezet**: táblázatos (sorok és oszlopok).
* **SzigorĂş sĂ©ma**: minden táblának elĹ‘re meghatározott szerkezete van (mezĹ‘tĂpusok, kulcsok stb.).
* **Kapcsolatok**: táblák között idegen kulcsokon keresztül hozunk létre kapcsolatokat.
* **ACID tulajdonságok**: Az ACID tulajdonságok biztosĂtják, hogy az adatbázisban vĂ©gzett tranzakciĂłk megbĂzhatĂłan Ă©s konzisztensen hajtĂłdjanak vĂ©gre, mĂ©g hiba vagy rendszerleállás esetĂ©n is. Ezek kĂĽlönösen fontosak pĂ©nzĂĽgyi, vállalati vagy bármilyen más ĂĽzletkritikus rendszerekben.
**Mit jelent az ACID?**
^ Betű ^ Jelentés angolul ^ Jelentés magyarul ^
| A | Atomicity | Atomszerűség (oszthatatlanság) |
| C | Consistency | Konzisztencia (állapothelyesség)|
| I | Isolation | ElkĂĽlönĂtĂ©s (tranzakciĂłs fĂĽggetlensĂ©g) |
| D | Durability | Tartósság (állandóság) |
**A – Atomicity (Atomszerűség)**
Egy tranzakciĂł vagy teljes egĂ©szĂ©ben vĂ©grehajtĂłdik, vagy semennyire. Ha a tranzakciĂł közben hiba törtĂ©nik (pl. áramszĂĽnet), az adatbázis **visszaállĂtja** a korábbi állapotot.
* PĂ©lda: Ha egy banki utalás során elĹ‘ször levonjuk a pĂ©nzt A számlárĂłl, majd jĂłváĂrjuk B számlán, akkor ezek vagy egyĂĽtt törtĂ©nnek meg, vagy egyik sem.
**C – Consistency (Konzisztencia)**
A tranzakciĂł nem sĂ©rtheti meg az adatbázis szabályait. Csak olyan állapot maradhat fenn, amely megfelel a megszorĂtásoknak (kulcsok, ellenĹ‘rzĂ©sek, hivatkozások).
* Példa: Egy megrendelés nem lehet úgy eltárolva, hogy nem tartozik hozzá létező vásárló.
**I – Isolation (ElkĂĽlönĂtĂ©s)**
A párhuzamosan futó tranzakciók nem zavarhatják egymást. Egy felhasználó nem láthatja egy másik félkész változtatásait.
* PĂ©lda: Ha kĂ©t ĂĽgyintĂ©zĹ‘ mĂłdosĂtja ugyanazt az ĂĽgyfĂ©lrekordot, a rendszer biztosĂtja, hogy ezek ne Ărják felĂĽl egymást hibásan.
**D – Durability (Tartósság)**
Ha egy tranzakció véglegesen befejeződik, annak hatása tartósan megmarad – még rendszerleállás után is.
* PĂ©lda: Ha egy utalás sikeresen lefutott, a pĂ©nzmozgás nem veszhet el ĂşjraindĂtás után sem.
==== További előnyök ====
* **Adatintegritás**: kulcsok, megszorĂtások Ă©s szabályok segĂtsĂ©gĂ©vel biztosĂthatĂł.
* **LekĂ©rdezhetĹ‘sĂ©g**: a SQL nyelv rendkĂvĂĽl erĹ‘s Ă©s kifejezĹ‘ eszköztárat ad.
* **Stabilitás és érettség**: hosszú távon kipróbált, optimalizált rendszerek.
* **Többfelhasználós működés**: jogosultságkezelés, tranzakciókezelés.
==== Hátrányok ====
* **Skálázhatóság**: nagy adatmennyiség és sok párhuzamos felhasználó esetén nehezen osztható szét több gépre (horizontális skálázás).
* **Rugalmatlanság**: sĂ©ma mĂłdosĂtása bonyolult lehet, kĂĽlönösen ha az adatstruktĂşra gyakran változik.
* **Strukturálatlan adatok kezelĂ©se**: szöveg, kĂ©p, videĂł tĂpusĂş adatok kezelĂ©sĂ©re nem ideális.
==== Népszerű relációs adatbázis-kezelő rendszerek (RDBMS-ek) ====
* **MySQL** – nyĂlt forráskĂłdĂş, nĂ©pszerű webalkalmazások körĂ©ben (pl. WordPress).
* **PostgreSQL** – fejlett funkciĂłk, szabványos SQL támogatás, objektum-orientált kiegĂ©szĂtĂ©sek.
* **Oracle Database** – robusztus vállalati megoldás, fejlett biztonság és replikációs lehetőségek.
* **Microsoft SQL Server** – integráció Microsoft-technológiákkal, könnyű használat.
==== Példa: Egyszerű SQL tábla és lekérdezés ====
Tábla: `diakok`
^ id ^ nev ^ szuletesi_ev ^
| 1 | Kovács Anna | 2003 |
| 2 | Nagy Péter | 2002 |
SQL lekérdezés:
SELECT nev FROM diakok WHERE szuletesi_ev < 2003;
Ez a lekérdezés visszaadja azoknak a diákoknak a nevét, akik 2003 előtt születtek.
===== 3. NoSQL adatbázisok =====
A NoSQL adatbázisok a reláciĂłs modellek alternatĂvájakĂ©nt jelentek meg, amikor az internetes alkalmazások, a Big Data Ă©s a valĂłs idejű feldolgozások Ăşj követelmĂ©nyeket támasztottak az adatkezelĂ©ssel szemben. A „NoSQL” nem feltĂ©tlenĂĽl jelenti azt, hogy nem használhatĂł benne SQL, hanem inkább azt, hogy nem reláciĂłs modell alapján működik.
==== Miért jelentek meg? ====
* Az adatok mennyisége gyorsan növekedett (pl. közösségi média, szenzoradatok).
* Az adatszerkezet egyre rugalmasabb lett – gyakran változó mezők, új attribútumok.
* Szükség volt **horizontális skálázásra** – sok szerver párhuzamos futtatása.
* Alkalmazásoknak nagy sebességre és alacsony késleltetésre volt szüksége.
==== Jellemzők ====
* **SĂ©manĂ©lkĂĽli modell**: nincs elĹ‘re rögzĂtett mezĹ‘szerkezet.
* **BASE modell**:
* *Basically Available* – mindig elérhető adatbázis
* *Soft state* – az adat idővel változhat
* *Eventually consistent* – idővel elérhető a konzisztencia (nem garantált azonnal)
* **Horizontálisan skálázhatĂł**: könnyen bĹ‘vĂthetĹ‘ több gĂ©pre.
* **Nagy teljesĂtmĂ©ny**: ideális valĂłs idejű alkalmazásokhoz.
==== NoSQL tĂpusok Ă©s pĂ©ldák ====
* **Dokumentum-orientált adatbázisok**
* Minden rekord egy önálló dokumentum (pl. JSON formátumban).
* Rugalmas szerkezet, ideális REST API-khoz.
* Példa: **MongoDB**, CouchDB
* **Kulcs-érték tárolók**
* Egyszerű szerkezet: kulcs → érték (mint egy szótár).
* Nagyon gyors, kiválĂł gyorsĂtĂłtárazásra.
* Példa: **Redis**, Amazon DynamoDB
* **Oszlop-orientált adatbázisok**
* Az adatok nem sorokban, hanem oszlopokban tárolódnak.
* Hatékony analitikai feldolgozás nagy adattáblákon.
* Példa: **Apache Cassandra**, HBase
* **Gráf adatbázisok**
* Adatok és azok kapcsolatai gráfként ábrázolva (csomópontok és élek).
* Nagyon hasznos hálózati elemzésekhez, pl. közösségi hálók, útvonalkeresés.
* Példa: **Neo4j**, ArangoDB
==== Előnyök ====
* Nagy teljesĂtmĂ©ny, alacsony válaszidĹ‘.
* Könnyen skálázható horizontálisan.
* Rugalmas adatszerkezet – ideális gyorsan változó alkalmazásokhoz.
* NĂ©hány esetben beĂ©pĂtett replikáciĂł, sharding, elosztott feldolgozás.
==== Hátrányok ====
* Nincs szabványos nyelv (mint az SQL).
* Az adatintegritás és konzisztencia nem mindig garantált.
* Alkalmazásfejlesztéskor a logika egy része az adatbázis helyett a kódban jelenik meg.
* Komplex lekĂ©rdezĂ©sek megvalĂłsĂtása nehĂ©zkes lehet.
==== Példa: MongoDB dokumentum ====
Egy MongoDB kollekcióban tárolt dokumentum példája:
{
"_id": "u123",
"nev": "Kiss János",
"eletkor": 29,
"cim": {
"varos": "Budapest",
"iranyitoszam": "1111"
}
}
Egy lekérdezés: azokat a felhasználókat kérdezzük le, akik életkora nagyobb mint 25:
db.felhasznalok.find({ "eletkor": { "$gt": 25 } })
===== 4. NewSQL adatbázisok =====
A NewSQL adatbázisok a reláciĂłs adatbázisok továbbfejlesztett változatai, amelyek cĂ©lja, hogy megtartsák a klasszikus RDBMS rendszerek elĹ‘nyeit (pl. SQL, ACID), ugyanakkor kĂ©pesek legyenek a modern alkalmazások által megkövetelt **horizontális skálázásra** Ă©s **magas teljesĂtmĂ©nyre**, mint a NoSQL rendszerek.
==== Miért jöttek létre? ====
* A vállalatok továbbra is igénylik a **strukturált, relációs adatsémát** és az **ACID** garanciákat.
* Ugyanakkor szükség van a **modern skálázhatóságra**, amit a NoSQL rendszerek nyújtanak.
* A cél: **„legyen meg a torta és együk is meg”** – relációs modell + felhőbarát architektúra.
==== Jellemzők ====
* **Relációs modell**: táblák, kulcsok, SQL nyelv
* **ACID tranzakciĂłk**: konzisztencia Ă©s megbĂzhatĂłság
* **Elosztott architektúra**: több szerveren futó adatbázis
* **Skálázhatóság**: automatikus sharding, load balancing
* **Magas rendelkezĂ©sre állás**: beĂ©pĂtett replikáciĂł, hibatűrĂ©s
==== Előnyök ====
* Kombinálja a relációs adatbázisok előnyeit a NoSQL skálázhatóságával
* Alkalmas nagy forgalmú, üzletkritikus alkalmazásokhoz
* Használható ismerős SQL nyelvvel, nem igényel új tanulási görbét
==== Hátrányok ====
* Bonyolultabb architektúra és üzemeltetés, mint egy egyszerű SQL adatbázisnál
* Még viszonylag fiatal technológia – kisebb ökoszisztéma, kevesebb szakember
* Néhány megoldás zárt forráskódú, kereskedelmi licenc alatt áll
==== Példák ====
* **Google Spanner**
* A Google saját globálisan elosztott relációs adatbázisa.
* Világszintű szinkronizációval garantálja a konzisztenciát.
* **CockroachDB**
* NyĂlt forráskĂłdĂş, elosztott reláciĂłs adatbázis.
* Automatikus skálázás és replikáció.
* PostgreSQL-kompatibilis SQL interfész.
* **VoltDB**
* Főként valós idejű analitikára és tranzakciókra specializált.
* Nagy sebesség, memóriabeli működés.
==== Példa: CockroachDB SQL lekérdezés ====
CREATE TABLE felhasznalok (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
nev TEXT NOT NULL,
regisztralt TIMESTAMP DEFAULT now()
);
SELECT * FROM felhasznalok WHERE nev LIKE 'K%';
A fenti példa egy CockroachDB tábla létrehozását és egyszerű lekérdezését mutatja be, PostgreSQL-kompatibilis SQL nyelven.
===== 5. Vektor adatbázisok =====
A vektor adatbázisok Ăşj generáciĂłs adatbázis-rendszerek, amelyek a mestersĂ©ges intelligencia Ă©s a gĂ©pi tanulás elterjedĂ©sĂ©vel váltak nĂ©pszerűvĂ©. CĂ©ljuk nem strukturált adatok – pĂ©ldául szövegek, kĂ©pek, hangok – jelentĂ©s szerinti keresĂ©se, amelyet az Ăşn. *embedding* (beágyazott vektorreprezentáciĂł) segĂtsĂ©gĂ©vel valĂłsĂtanak meg.
==== Miért van rájuk szükség? ====
* A hagyományos adatbázisok nem alkalmasak jelentésalapú keresésre.
* Az LLM-ek, kĂ©pfeldolgozĂłk, hangfelismerĹ‘k vektorokat állĂtanak elĹ‘, amelyek geometriailag összehasonlĂthatĂłk.
* PĂ©lda: „melyik másik dokumentum tartalmilag hasonlĂt ehhez a kĂ©rdĂ©shez?”
==== Hogyan működik? ====
* Az objektumokat (pl. szöveg, kĂ©p) **embedding**-gĂ© alakĂtjuk egy neurális hálĂł segĂtsĂ©gĂ©vel.
* Az Ăgy kapott vektorokat egy vektoradatbázis tárolja.
* Keresés során szintén vektort képezünk, majd megkeressük a **legközelebbi** (használatos: k-NN – *k Nearest Neighbors*) vektorokat.
* A hasonlĂłságot általában **koszinusz-hasonlĂłság**, **euklideszi távolság** vagy más metrika alapján számĂtják.
==== Jellemzők ====
* Nincs klasszikus SQL – speciális API vagy Python/REST kliensek használatosak.
* BeĂ©pĂtett **indexelĂ©si mĂłdszerek** a gyors keresĂ©shez (pl. HNSW, IVF, PQ).
* Gyors és hatékony **nagy dimenziójú adatok** keresése.
==== Előnyök ====
* Jelentésalapú keresés – szöveg vagy kép jelentésének megértése
* Ideális LLM-alapú rendszerekhez, mint pl. kérdés-válasz vagy dokumentumkeresés
* KiválĂł teljesĂtmĂ©ny nagy adathalmazokon is
==== Hátrányok ====
* Nem hagyományos adatmodell – nem tárol klasszikus táblákat, kapcsolatokkal
* A „miért kaptuk ezt a találatot?” kérdésre nehezebb választ adni (black-box jelleg)
* A pontosság függ az embedding minőségétől és a választott metrikától
==== Népszerű vektor adatbázisok ====
* **FAISS** (Facebook AI Similarity Search) – nagy teljesĂtmĂ©nyű, Python-könyvtárkĂ©nt is elĂ©rhetĹ‘
* **Milvus** – nyĂlt forráskĂłdĂş, skálázhatĂł, GPU-t is támogatĂł vektor DB
* **Weaviate** – REST API + GraphQL támogatás, integrált gépi tanulási pipeline
* **Pinecone** – felhőalapú, egyszerűen használható szolgáltatás
* **Chroma** – egyszerű integráció LangChain/RAG rendszerekhez
==== Példa: vektoros keresés szövegek között ====
1. Szöveg → embedding: `"Milyen magas a Mount Everest?"` → `[0.12, -0.45, ..., 0.33]`
2. A vektoradatbázisban tárolt több ezer dokumentum embeddingje közül kiválasztjuk a legközelebbit:
query_vector = model.encode("Milyen magas a Mount Everest?")
results = vector_db.search(query_vector, top_k=5)
3. Eredmény: olyan dokumentumokat kapunk, amelyek tartalmilag legközelebb állnak a kérdéshez – még akkor is, ha szó szerint nem egyeznek meg.
===== 6. Tendenciák és jövőkép =====
* Multimodális adatbázisok (szöveg + kép + struktúrált adatok)
* Hybrid keresés: SQL + vektoros keresés együtt
* AI-native rendszerek: LLM + adatbázis integráció (pl. LangChain)
===== 7. Összefoglaló táblázat =====
^ TĂpus ^ TermĂ©knevek ^ ElĹ‘nyök ^ Hátrányok ^
| Relációs (RDBMS) | MySQL, PostgreSQL, Oracle | Stabil, jól definiált séma, SQL támogatás, ACID garancia | Nehezen skálázható, rugalmatlan struktúra |
| NoSQL | MongoDB, Redis, Cassandra, Neo4j | Rugalmas séma, jól skálázható, gyors lekérdezések | Gyenge konzisztencia, nincs egységes lekérdezőnyelv |
| NewSQL | CockroachDB, Google Spanner, VoltDB | ACID + skálázhatóság, SQL-kompatibilitás | Bonyolultabb architektúra, kisebb ökoszisztéma |
| Vektor | FAISS, Milvus, Weaviate, Pinecone, Chroma | Jelentésalapú keresés, AI integráció, gyors k-NN keresés | Nem klasszikus lekérdezések, nehezebb magyarázhatóság |
===== 8. Példa =====
Az alábbi pĂ©ldák bemutatják, hogyan tĂ©r el az adatok kezelĂ©se a kĂĽlönbözĹ‘ adatbázistĂpusokban. A pĂ©ldák egyszerűek, mĂ©gis jĂłl szemlĂ©ltetik az eltĂ©rĹ‘ adatmodelleket Ă©s lekĂ©rdezĂ©si mĂłdokat.
==== 1. Relációs adatbázis: SQL példa (PostgreSQL) ====
Tábla létrehozása:
CREATE TABLE diakok (
id SERIAL PRIMARY KEY,
nev TEXT NOT NULL,
szuletesi_ev INTEGER
);
Adatok beszúrása:
INSERT INTO diakok (nev, szuletesi_ev)
VALUES ('Kiss Anna', 2002), ('Nagy Péter', 2001);
Lekérdezés: ki született 2001 előtt?
SELECT nev FROM diakok WHERE szuletesi_ev < 2001;
==== 2. NoSQL példa: MongoDB dokumentum és lekérdezés ====
Dokumentum beillesztése:
db.diakok.insertOne({
nev: "Kiss Anna",
szuletesi_ev: 2002
});
Lekérdezés: azok a diákok, akik 2001 előtt születtek:
db.diakok.find({ szuletesi_ev: { $lt: 2001 } });
==== 3. Vektor adatbázis példa: FAISS keresés (Python) ====
TegyĂĽk fel, hogy szövegeket átalakĂtunk vektorokká egy nyelvi modell (pl. `sentence-transformers`) segĂtsĂ©gĂ©vel, majd ezekben keresĂĽnk.
Embedding előállĂtás (pĂ©lda):
from sentence_transformers import SentenceTransformer
import faiss
import numpy as np
model = SentenceTransformer('all-MiniLM-L6-v2')
dokumentumok = ["A kutya ugat.", "A macska nyávog.", "Az autó gyors."]
vektorok = model.encode(dokumentumok)
index = faiss.IndexFlatL2(vektorok.shape[1])
index.add(np.array(vektorok))
Keresés hasonló szöveg alapján:
kerdes = "Melyik állat nyávog?"
kerdes_vektor = model.encode([kerdes])
_, eredmenyek = index.search(np.array(kerdes_vektor), k=1)
print("Legjobban illeszkedő dokumentum:", dokumentumok[eredmenyek[0][0]])
Eredmény:
''Legjobban illeszkedő dokumentum: A macska nyávog.''
===== Ellenőrző kérdések =====
**1. Mi a relációs adatbázis egyik alapvető jellemzője?**
* ( ) Az adatok képek és hangfájlok formájában tárolódnak
* (x) Az adatokat táblákban tároljuk sorok és oszlopok formájában
* ( ) Az adatbázisok nem rendelkeznek előre meghatározott szerkezettel
**2. Mi biztosĂtja az adatintegritást egy reláciĂłs adatbázisban?**
* ( ) A dokumentumalapú adattárolás
* ( ) Az adatok titkosĂtása
* (x) Az elsĹ‘dleges kulcsok, idegen kulcsok Ă©s megszorĂtások
**3. Melyik adatbázis tĂpus ideális gyakran változĂł adatszerkezetekhez?**
* (x) NoSQL
* ( ) Relációs (RDBMS)
* ( ) CSV fájl
**4. Mit jelent az ACID mozaikszó „A” betűje az adatbázis tranzakciók esetében?**
* (x) Atomicity – oszthatatlanság
* ( ) Availability – elérhetőség
* ( ) Access – hozzáférhetőség
**5. Melyik adatbázis tĂpusban használunk embeddingeket Ă©s k-NN keresĂ©st?**
* ( ) Relációs adatbázisban
* ( ) Gráf adatbázisban
* (x) Vektor adatbázisban
**6. Melyik állĂtás igaz a MongoDB-re?**
* ( ) Táblák és relációk alapján tárol adatokat
* (x) JSON-szerű dokumentumokban tárolja az adatokat
* ( ) Kizárólag numerikus adatokat képes kezelni
**7. Mi a referenciális integritás szerepe egy adatbázisban?**
* (x) BiztosĂtja, hogy az idegen kulcs által hivatkozott rekord lĂ©tezzen
* ( ) Az adatokat titkosĂtja
* ( ) Lehetővé teszi a képek tárolását
**8. Melyik igaz a NewSQL adatbázisokra?**
* ( ) Nem támogatják az SQL nyelvet
* (x) ACID tulajdonságokat nyújtanak skálázható módon
* ( ) Strukturálatlan adatokat tárolnak kizárólag
**9. Melyik nem vektor adatbázis?**
* (x) MySQL
* ( ) FAISS
* ( ) Milvus
**10. Mi a BASE modell egyik jellemzője NoSQL rendszereknél?**
* (x) Eventually consistent – idővel konzisztenssé válik az adat
* ( ) A lekérdezések mindig pontos, teljes adatot adnak vissza
* ( ) Az adatok nem igényelnek tárolást