INDEXSTRUKTÚRÁK III.

Hasonló dokumentumok
Fájlszervezés. Adatbázisok tervezése, megvalósítása és menedzselése

Az indexelés újdonságai Oracle Database 12c R1 és 12c R2

Create & validate a signature

Indexek és SQL hangolás

Adatbáziskezelő-szerver. Relációs adatbázis-kezelők SQL. Házi feladat. Relációs adatszerkezet

Adattípusok. Max. 2GByte

B I T M A N B I v: T M A N

Adattípusok. Max. 2GByte

Adatbázis-kezelés. Harmadik előadás

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

Adatbázis-kezelés ODBC driverrel

Adatbáziskezelı-szerver SQL. Relációs adatbázis-kezelık. Relációs adatszerkezet. Házi feladat

5. téma XML DB. Az adatkezelés és XML kapcsolata. Miért fontos az XML használata az adatbázis kezelésben?

Cloud computing. Cloud computing. Dr. Bakonyi Péter.

EBBEN A VIZSGARÉSZBEN A VIZSGAFELADAT ARÁNYA

Táblakezelés: Open SQL Internal table. Tarcsi Ádám: Az SAP programozása 1.

Cloud computing Dr. Bakonyi Péter.

Exadata hibrid oszlopos adattömörítés automatizálása; DB 12c partition merge

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

Tranzakciókezelés PL/SQL-ben

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

Operációs rendszerek. UNIX fájlrendszer

Indexek és Teljesítményoptimalizálás

TABLE ACCESS FULL HASH CLUSTER BY INDEX ROWID BY USER ROWID BY GLOBAL INDEX ROWID BY LOCAL INDEX ROWID

A MUTATÓNÉVMÁSOK. A mutatónévmások az angolban is (mint a magyarban) betölthetik a mondatban

Széchenyi István Egyetem

BEVEZETÉS Az objektum fogalma

Adatbázisok* tulajdonságai

Adatbázis rendszerek SQL nyomkövetés

Gyakorlás: Hozzunk létre egy Alkalmazottak táblát AZO szám, Részleg szöveg, Munkakör szöveg és BelépésDátuma dátum típussal.

Bevezetés: az SQL-be

SQL PÉLDATÁR. készült a PTE TTK Iskolai informatika III. kurzus teljesítésére

SQL DDL-1: táblák és megszorítások

Nem klaszterezett index. Klaszterezett index. Beágyazott oszlopok. Index kitöltési faktor. Indexek tulajdonságai

2007. február 25. TARTALOM

Nem klaszterezett index. Beágyazott oszlopok. Klaszterezett index. Indexek tulajdonságai. Index kitöltési faktor

SQLServer. DB Recovery modes

Mapping Sequencing Reads to a Reference Genome

Az SQL adatbázisnyelv: DML

Hozzunk ki többet abból amink van. Fehér Lajos

Adatbázis Rendszerek II. 2. Gyakorló környezet

EN United in diversity EN A8-0206/419. Amendment

Adatbázis használat I. 5. gyakorlat

2. Local communities involved in landscape architecture in Óbuda

Adatmodellezés. 1. Fogalmi modell

Teszt topológia E1/1 E1/0 SW1 E1/0 E1/0 SW3 SW2. Kuris Ferenc - [HUN] Cisco Blog -

Tábla létrehozása: CREATE TABLE alma( ID INT( 3 ) NOT NULL PRIMARY KEY, Leiras VARCHAR( 100 ) );

Készítette: Szabóné Nacsa Rozália

Website review acci.hu

Betekintés az SQL hangolásba Oracle környezetben

Adatbázis Rendszerek II. 2. Ea: Gyakorló környezet

SQL DDL-2 (aktív elemek) triggerek

Materiális javak - az Oracle Database tárgyi emlékei az elmúlt 25 évből. HOUG Konferencia Siófok Kovács József, John Milton Kft.

Which letter(s) show(s) a. Melyik betű(k) mutat(nak) . 1 flexor muscle group? flexor izomcsoportot? . 2 extensor muscle group?

Adatbázis kezelés Delphiben. SQL lekérdezések

Vektoros grafikát tároló adatbázisok. Katona Endre Térképi adatbázisok diasorozata alapján

Emlékeztető: a fordítás lépései. Szimbólumtábla-kezelés. Információáramlás. Információáramlás. Információáramlás.

Adatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán

Az Open Data jogi háttere. Dr. Telek Eszter

Adatbázisok elmélete 9. előadás

Adatbázis-kezelés, információs-rendszerek

Egészítsük ki a Drupal-t. Drupal modul fejlesztés

Angol Középfokú Nyelvvizsgázók Bibliája: Nyelvtani összefoglalás, 30 kidolgozott szóbeli tétel, esszé és minta levelek + rendhagyó igék jelentéssel

ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT

(NGB_TA024_1) MÉRÉSI JEGYZŐKÖNYV

Adatbázisok elmélete. Egy kísérlet az OLTP és az analitikus jellegű adatbázishasználat kombinálására: Oracle Database12c In-Memory

Adatbázis tartalmának módosítása

SELECT DISTINCT deptno FROM emp; (distinct) SELECT STATEMENT HASH UNIQUE TABLE ACCESS FULL EMP

practices Mosaic and timed mowing Mosaic and timed mowing Mosaic and timed mowing 10 m wide fallow strips (4 parcels)

SQL. 1.rész. 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1

SQL/PSM kurzorok rész

Computer Architecture

Oracle Designer. Report : TABLE DEFINITION. 05 Július Total Pages : 14

SQL parancsok feldolgozása

Proxer 7 Manager szoftver felhasználói leírás

Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv)

Adatbázisok elmélete 10. előadás

Adatbázisok elmélete 9. előadás

Adatbázisok. 9. gyakorlat SQL: SELECT október október 26. Adatbázisok 1 / 14

GEIAL Kovács László. GEIAL Kovács László GEIAL Kovács László

SQL haladó. Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások

FÖLDRAJZ ANGOL NYELVEN

On The Number Of Slim Semimodular Lattices

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

Elemi alkalmazások fejlesztése IV.

Tudományos Ismeretterjesztő Társulat

Nézetek és indexek. AB1_06C_Nézetek_Indexek - Adatbázisok-1 EA (Hajas Csilla, ELTE IK) - J.D. Ullman elıadásai alapján

Adatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai

SQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

discosnp demo - Peterlongo Pierre 1 DISCOSNP++: Live demo

Smaller Pleasures. Apróbb örömök. Keleti lakk tárgyak Répás János Sándor mûhelyébõl Lacquerware from the workshop of Répás János Sándor

ACTA CAROLUS ROBERTUS

Supplementary Table 1. Cystometric parameters in sham-operated wild type and Trpv4 -/- rats during saline infusion and

Adatbázis Rendszerek II. 8. Gyakorló környezet

SQLServer. Particionálás

EXKLUZÍV AJÁNDÉKANYAGOD A Phrasal Verb hadsereg! 2. rész

Informatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK)

Átírás:

2MU05_Bitmap.pdf camü_ea INDEXSTRUKTÚRÁK III. Molina-Ullman-Widom: Adatbázisrendszerek megvalósítása Panem, 2001könyv 5.4. Bittérkép indexek fejezete alapján Oracle: Indexek a gyakorlatban Oracle Database Concepts Part II. 5. fej. Séma objektumok dokumentáció alapján

5.4. Bitmap indexek Személy név nem kor kereset Péter férfi 57 350000 Dóra nő 25 30000 Salamon férfi 36 350000 Konrád férfi 21 30000 Erzsébet nő 20 30000 Zsófia nő 35 160000 Zsuzsanna nő 35 160000 érték vektor férfi 1011000 nő 0100111 érték vektor 30000 0101100 160000 0000011 350000 1010000 2

Bitmap indexek haszna SELECT COUNT(*) FROM személy WHERE nem= nő and kereset = 160000; 0100111 AND 0000011 = 0000011, az eredmény: 2. SELECT név FROM személy WHERE kereset > 100000; 0000011 (160000) OR 1010000(350000) = 1010011, azaz az 1., 3., 6. és 7. rekordokat tartalmazó blokko(ka)t kell beolvasni. 3

Tömörítés (bitmap) Ha a táblában n rekord van, a vizsgált attribútum pedig m különböző értéket vehet fel, ekkor, ha m nagy, a bitmap index túl naggyá is nőhet(n*m méret). Ebben az esetben viszont a bitmap indexben az egyes értékekhez tartozó rekordokban kevés az 1-es. A tömörítési technikák általában csak ezeknek az 1-eseknek a helyét határozzák meg. Tegyük fel, hogy i db 0-t követ egy 1-es. Legegyszerűbb megoldásnak tűnik, ha i-t binárisan kódoljuk. Ám ez a megoldás még nem jó: (a 000101 és 010001 vektorok kódolása is 111 lenne). Tegyük fel, hogy ibinárisan ábrázolva jbitből áll. Ekkor először írjunk le j-1 db 1-est, majd egy 0-t, és csak ez után i bináris kódolását. Példa:a 000101 kódolása: 101101, a 010001 kódolása: 011011. 4

Tömörítés (bitmap) Állítás: a kód így egyértelművé válik. Tegyük fel, hogy m=n, azaz minden rekordérték különböző a vizsgált attribútumban. Ekkor, mivel a bitmap indexekben n hosszú rekordokról van szó, egy rekord kódolása legfeljebb 2log 2 n. Az indexet alkotó teljes bitek száma pedig 2nlog 2 n, n 2 helyett. 5

II.Rész Oracle: Indexek a gyakorlatban Oracle Database 10.2 Concepts Part II. Oracle Database Architecture 5. fejezet Séma objektumok: - Indexek -- B-fa (B+ fa) -- bittérkép index -- klaszterindex - Indexszervezett táblák - Partícionált táblák

Indexes WHERE key = 22 Key Row pointer 22 22 Index Table

Types of Indexes These are several types of index structures available to you, depending on the need: A B-tree index is in the form of a binary tree and is the default index type. A bitmap index has a bitmap for each distinct value indexed, and each bit position represents a row that may or may not contain the indexed value. This is best for low-cardinality columns.

B-Tree Index Index entry Root Branch Leaf Index entry header Key column length Key column value ROWID

Bitmap Indexes Table File 3 Block 10 Block 11 Index Block 12 Key Start ROWID End ROWID Bitmap <Blue, 10.0.3, 12.8.3, 1000100100010010100> <Green, 10.0.3, 12.8.3, 0001010000100100000> <Red, 10.0.3, 12.8.3, 0100000011000001001> <Yellow, 10.0.3, 12.8.3, 0010001000001000010>

Index Options A unique index ensures that every indexed value is unique. An index can have its key values stored in ascending or descending order. A reverse key index has its key value bytes stored in reverse order. A composite index is one that is based on more than one column. A function-based index is an index based on a function s return value. A compressed index has repeated key values removed.

Creating Indexes CREATE INDEX my_index ON employees(last_name, first_name);

Table Types Heap Type Ordinary (heaporganized) table Partitioned table Index-organized table (IOT) Clustered table Description Clustered Data is stored as an unordered collection (heap). Data is divided into smaller, more manageable pieces. Data (including non-key values) is sorted and stored in a B-tree index structure. Related data from more than one table are stored together. Partitioned IOT

A partition is: What Is a Partition and Why Use It? A piece of a very large table or index Stored in its own segment Used for improved performance and manageability

Index-Organized Tables Regular table access IOT access Table access by ROWID Non-key columns Key column Row header

Index-Organized Tables and Heap Tables Compared to heap tables, IOTs: Have faster key-based access to table data Do not duplicate the storage of primary key values Require less storage Use secondary indexes and logical row IDs Have higher availability because table reorganization does not invalidate secondary indexes IOTs have the following restrictions: Must have a primary key that is not DEFERRABLE Cannot be clustered Cannot use composite partitioning Cannot contain a column of type ROWIDor LONG

Clusters ORD_NO PROD QTY... ----- ------ ------ 101 A4102 20 102 A2091 11 102 G7830 20 102 N9587 26 101 A5675 19 101 W0824 10 ORD_NO ORD_DT ------ ------ CUST_CD ------ 101 05-JAN-97 R01 102 07-JAN-97 N45 Cluster Key (ORD_NO) 101 ORD_DT CUST_CD 05-JAN-97 R01 PROD QTY A4102 20 A5675 19 W0824 10 102 ORD_DT CUST_CD 07-JAN-97 N45 PROD QTY A2091 11 G7830 20 N9587 26 Unclustered orders and order_item tables Clustered orders and order_item tables

Cluster Types Index cluster Hash cluster Hash function

Situations Where Clusters Are Useful Criterion Uniform key distribution Evenly spread key values Rarely updated key Often joined master-detail tables Predictable number of key values Queries using equality predicate on key Index X X X Hash X X X X X

Indexelés Klaszter (nyaláb, fürt) Klaszterszervezésegytáblaesetén egy A oszlopra: az azonos A-értékű sorok fizikailag egymás után blokkokban helyezkednek el. CÉL: az első találat után az összes találatot megkapjuk soros beolvasással. Klaszterindex: klaszterszervezésű fájl esetén index az A oszlopra Klaszterszervezés két tábla esetén az összes közös oszlopra: a közös oszlopokon egyező sorok egy blokkban, vagy fizikailag egymás utáni blokkokban helyezkednek el. CÉL: összekapcsolás esetén az összetartozó sorokat soros beolvasással megkaphatjuk. 20