tanszek:oktatas:muszaki_informatika:adattarolas_adatbazisok
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| tanszek:oktatas:muszaki_informatika:adattarolas_adatbazisok [2025/05/07 06:53] – [5. Vektor adatbázisok] knehez | tanszek:oktatas:muszaki_informatika:adattarolas_adatbazisok [2025/05/08 07:01] (current) – [D – Durability (Tartósság)] knehez | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ~~NOTOC~~ | ||
| Régi anyag: https:// | Régi anyag: https:// | ||
| Line 11: | Line 12: | ||
| * Az adatok szervezett tárolása lehetővé teszi azok gyors visszakeresését és elemzését. | * 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). | * 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**. | + | * 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, |
| * Az adatok rendszeres **mentése és visszaállítása** egyszerűbbé válik. | * Az adatok rendszeres **mentése és visszaállítása** egyszerűbbé válik. | ||
| * Automatizált folyamatokhoz (pl. webalkalmazások, | * Automatizált folyamatokhoz (pl. webalkalmazások, | ||
| Line 31: | Line 32: | ||
| * Példa: SQL adatbázisok, | * Példa: SQL adatbázisok, | ||
| * Jellemző: gyors kereshetőség, | * Jellemző: gyors kereshetőség, | ||
| - | | + | |
| * **Félstrukturált adat**: | * **Félstrukturált adat**: | ||
| * Nincs fix sémája, de tartalmaz címkéket vagy metaadatokat. | * Nincs fix sémája, de tartalmaz címkéket vagy metaadatokat. | ||
| Line 58: | Line 59: | ||
| * **Szigorú séma**: minden táblának előre meghatározott szerkezete van (mezőtípusok, | * **Szigorú séma**: minden táblának előre meghatározott szerkezete van (mezőtípusok, | ||
| * **Kapcsolatok**: | * **Kapcsolatok**: | ||
| - | * **ACID tulajdonságok**: | + | * **ACID tulajdonságok**: |
| - | * *Atomicity* – a tranzakciók oszthatatlanok. | + | |
| - | * *Consistency* – az adatbázis érvényességi szabályai nem sérülnek. | + | |
| - | * *Isolation* – párhuzamos | + | |
| - | * *Durability* – a végrehajtott tranzakciók tartósan megmaradnak. | + | |
| - | ==== Előnyök ==== | + | **Mit jelent az ACID?** |
| + | |||
| + | ^ Betű ^ Jelentés angolul ^ Jelentés magyarul | ||
| + | | A | Atomicity | ||
| + | | C | Consistency | ||
| + | | I | Isolation | ||
| + | | D | Durability | ||
| + | **A – Atomicity (Atomszerűség)** | ||
| + | Egy tranzakció vagy teljes egészében végrehajtódik, | ||
| + | |||
| + | * Példa: Ha egy banki utalás során először levonjuk a pénzt A számláról, | ||
| + | |||
| + | **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, | ||
| + | |||
| + | * 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, | ||
| + | |||
| + | **D – Durability (Tartósság)** | ||
| + | Ha egy tranzakció véglegesen befejeződik, | ||
| + | |||
| + | * 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**: | * **Adatintegritás**: | ||
| * **Lekérdezhetőség**: | * **Lekérdezhetőség**: | ||
| Line 273: | Line 297: | ||
| ===== 7. Összefoglaló táblázat ===== | ===== 7. Összefoglaló táblázat ===== | ||
| - | ^ Típus | ||
| - | | Relációs | ||
| - | | NoSQL | MongoDB | ||
| - | | NewSQL | ||
| - | | Vektor | ||
| - | ===== 8. Demó ===== | + | ^ Típus |
| - | | + | | Relációs (RDBMS) | MySQL, PostgreSQL, Oracle | Stabil, jól definiált séma, SQL támogatás, |
| - | | + | | NoSQL | MongoDB, Redis, Cassandra, Neo4j | Rugalmas séma, jól skálázható, |
| + | | NewSQL | ||
| + | | Vektor | ||
| + | |||
| + | |||
| + | ===== 8. Példa | ||
| + | |||
| + | Az alábbi példák bemutatják, | ||
| + | |||
| + | ==== 1. Relációs adatbázis: | ||
| + | Tábla létrehozása: | ||
| + | <code sql> | ||
| + | CREATE TABLE diakok ( | ||
| + | id SERIAL PRIMARY KEY, | ||
| + | nev TEXT NOT NULL, | ||
| + | szuletesi_ev INTEGER | ||
| + | ); | ||
| + | </ | ||
| + | |||
| + | Adatok beszúrása: | ||
| + | <code sql> | ||
| + | INSERT INTO diakok (nev, szuletesi_ev) | ||
| + | VALUES ('Kiss Anna', 2002), ('Nagy Péter', | ||
| + | </ | ||
| + | |||
| + | Lekérdezés: | ||
| + | <code sql> | ||
| + | SELECT nev FROM diakok WHERE szuletesi_ev < 2001; | ||
| + | </ | ||
| + | |||
| + | ==== 2. NoSQL példa: | ||
| + | Dokumentum beillesztése: | ||
| + | <code javascript> | ||
| + | db.diakok.insertOne({ | ||
| + | | ||
| + | szuletesi_ev: | ||
| + | }); | ||
| + | </ | ||
| + | |||
| + | Lekérdezés: | ||
| + | <code javascript> | ||
| + | db.diakok.find({ szuletesi_ev: | ||
| + | </ | ||
| + | |||
| + | ==== 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, | ||
| + | |||
| + | Embedding előállítás (példa): | ||
| + | <code python> | ||
| + | from sentence_transformers import SentenceTransformer | ||
| + | import faiss | ||
| + | import numpy as np | ||
| + | |||
| + | model = SentenceTransformer(' | ||
| + | dokumentumok = ["A kutya ugat.", | ||
| + | |||
| + | vektorok = model.encode(dokumentumok) | ||
| + | index = faiss.IndexFlatL2(vektorok.shape[1]) | ||
| + | index.add(np.array(vektorok)) | ||
| + | </ | ||
| + | |||
| + | Keresés | ||
| + | <code python> | ||
| + | kerdes = " | ||
| + | kerdes_vektor = model.encode([kerdes]) | ||
| + | _, eredmenyek = index.search(np.array(kerdes_vektor), | ||
| + | |||
| + | print(" | ||
| + | </ | ||
| + | |||
| + | Eredmény: | ||
| + | '' | ||
| + | |||
| + | ===== 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 | ||
| + | * (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, | ||
| + | * ( ) 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 | ||
tanszek/oktatas/muszaki_informatika/adattarolas_adatbazisok.1746600814.txt.gz · Last modified: 2025/05/07 06:53 by knehez
