wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK

Podobne dokumenty
Bazy danych - BD. Organizacja plików. Wykład przygotował: Robert Wrembel. BD wykład 5 (1)

Zazwyczaj rozmiar bloku jest większy od rozmiaru rekordu, tak więc. ich efektywna lokalizacja kiedy tylko zachodzi taka potrzeba.

PLAN WYKŁADU BAZY DANYCH HIERARCHIA MECHANIZMÓW SKŁADOWANIA PRZECHOWYWANIA BAZ DANYCH

Bazy danych - BD. Indeksy. Wykład przygotował: Robert Wrembel. BD wykład 7 (1)

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

PLAN WYKŁADU BAZY DANYCH INDEKSY - DEFINICJE. Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew

sprowadza się od razu kilka stron!

Haszowanie (adresowanie rozpraszające, mieszające)

Zad. 1. Systemy Baz Danych przykładowe zadania egzaminacyjne

PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych

Przykładowe B+ drzewo

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

dr inż. Jarosław Forenc

Algorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2

Bazy danych. Andrzej Łachwa, UJ, /15

Optymalizacja poleceń SQL Metody dostępu do danych

Bazy danych wykład ósmy Indeksy

Podstawy Informatyki. Metody dostępu do danych

Plan wykładu. Klucz wyszukiwania. Pojęcie indeksu BAZY DANYCH. Pojęcie indeksu - rodzaje indeksów Metody implementacji indeksów.

Tadeusz Pankowski

Definicja pliku kratowego

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików. dr inż. Krzysztof Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

Fizyczna organizacja danych w bazie danych

Podstawowe struktury danych

System Oracle podstawowe czynności administracyjne

Wstęp do programowania

Algorytmy i struktury danych

System plików. Warstwowy model systemu plików

Indeksy. Wprowadzenie. Indeksy jednopoziomowe indeks podstawowy indeks zgrupowany indeks wtórny. Indeksy wielopoziomowe

WPROWADZENIE DO BAZ DANYCH

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski

System plików warstwa logiczna

Haszowanie. dr inż. Urszula Gałązka

1. Kalkulator czterech działań. 2. Konwersja ciągu znaków do tablicy.

dr inż. Jarosław Forenc

OPERACJE NA PLIKACH. Podstawowe pojęcia:

PODSTAWY BAZ DANYCH. 7. Metody Implementacji Baz Danych. 2009/ Notatki do wykładu "Podstawy baz danych" 1

Tabela wewnętrzna - definicja

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

Techniki wyszukiwania danych haszowanie

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

Pojęcie bazy danych. Funkcje i możliwości.

Tablice z haszowaniem

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

060 SQL FIZYCZNA STRUKTURA BAZY DANYCH. Prof. dr hab. Marek Wisła

asix4 Podręcznik użytkownika BAZA - drajwer dostępu do baz danych Podręcznik użytkownika


Zarządzanie dyskowymi operacjami we-wy. Zarządzanie pamięcią operacyjną. dr inż. Jarosław Forenc. systemy plików (NTFS, ext2)

Algorytmy i złożoności. Wykład 3. Listy jednokierunkowe

Struktury danych i optymalizacja

Wybierz polecenie z menu: Narzędzia Listy i dokumenty

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki

Indeksy. Schematyczne ujęcie organizacji pamięci i wymiany danych systemu pamiętania.

Fizyczne struktury danych

Systemy baz danych. mgr inż. Sylwia Glińska

Indeksowanie w bazach danych

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Korespondencja seryjna

Tablice z haszowaniem

Pamięć. Jan Tuziemski Źródło części materiałów: os-book.com

Dynamiczne struktury danych

System plików przykłady. implementacji

Administracja bazy danych Oracle 10g

System plików warstwa logiczna. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Definicja. Ciąg wejściowy: Funkcja uporządkowująca: Sortowanie polega na: a 1, a 2,, a n-1, a n. f(a 1 ) f(a 2 ) f(a n )

Podstawy programowania. Wykład: 12. Struktury, unie, pola bitowe. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Lista, Stos, Kolejka, Tablica Asocjacyjna

Import danych z plików Excel. (pracownicy, limity urlopowe i inne)

Tworzenie pliku Zapisywanie pliku Czytanie pliku Zmiana pozycji w pliku Usuwanie pliku Skracanie pliku

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

Fizyczne struktury danych. Kategorie nośników danych. Nośniki danych hierarchia nośników budowa dysku magnetycznego macierze RAID.

Systemy plików i zarządzanie pamięcią pomocniczą. Struktura pliku. Koncepcja pliku. Atrybuty pliku

Systemy operacyjne III

T A B E L E i K W E R E N D Y

Algorytmy i struktury danych. wykład 5

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Systemy OLAP II. Krzysztof Dembczyński. Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska

Autor: Joanna Karwowska

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

Ref. 7 - Język SQL - polecenia DDL i DML

System plików przykłady implementacji

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Optymalizacja zapytań

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.

Konspekt do lekcji informatyki dla klasy II gimnazjum. TEMAT(1): Baza danych w programie Microsoft Access.

System plików. Atrybuty pliku. Typy plików. Pojęcie pliku (ang. file) Zadania systemu operacyjnego. Struktura pliku. Dariusz Wawrzyniak 1

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

System plików. Systemy operacyjne System plików 1. Pojęcie pliku (ang. file)

Bazy danych - wykład wstępny

Zarządzanie wolną przestrzenią

Podstawy programowania. Wykład: 8. Wskaźniki. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Baza danych. Baza danych to:

Transkrypt:

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK 1

2

3

Pamięć zewnętrzna Pamięć zewnętrzna organizacja plikowa. Pamięć operacyjna organizacja blokowa. 4

Bufory bazy danych. STRUKTURA PROSTA REKORDU : wartością każdego pola rekordu jest wartość elementarna (liczba, łańcuch znaków, data, ciąg bitów). STRUKTURA ZŁOŻONA REKORDU: wartością pola rekordu jest inny rekord. Rekordy mogą mieć stałą długość lub zmienną. Stała długość rekordu długość oznacza, że rekord zawsze zajmuje tyle samo miejsca na dysku, niezależnie od rzeczywistych rozmiarów przechowywanych w nim danych. Zmienna długość rekordu: rekordy o zmiennej długości przyjmują taki rozmiar jaki faktycznie przyjmują przechowywane w nich dane. 5

Współczynnik blokowania: Wolny obszar w bloku: f b fr space B R B ( b R) fr 1 2 Współczynnik blokowania bfr jest określany jako największa liczba całkowita mniejsza od ilorazu rozmiaru bloku i rozmiaru rekordu. Wolny obszar, jaki pozostaje w każdym z bloków, jest wyrażony wzorem 2: B - (brf * R). W przypadku rekordów o zmiennej długości jest to obszar minimalny. 6

1 2 Rekordy w blokach: dzielone (ang. spanned) oraz niepodzielne (ang. unspanned). Rekord dzielony: który cały nie mieści się w bloku jest dzielony, a jego części są przechowywane w kilku blokach. Rekord niepodzielny: rekord, który nie mieści się w całości w bloku jest przenoszony do takiego bloku, w którym zmieści się cały. Organizacja niepodzielna powoduje, że w blokach pozostaje niewykorzystane miejsce. 7

Definicja parametrów: PCTFREE oraz PCTUSED. PCTFREE: określa ile procent rozmiaru bloku pozostanie wolne. PCTUSED: określa, kiedy do bloku można wstawiać rekordy. Parametr ten jest wyrażony również procentowym rozmiarem bloku. Jeśli zajętość bloku przewyższa wartość PCTUSED, wówczas blok nie jest wykorzystywany do wstawiania nowych rekordów. Jeśli natomiast zajętość bloku jest niższa niż PCTUSED, wówczas do bloku można wstawiać rekordy. 8

Ponieważ rekordy są fizycznie przechowywane w plikach, więc dostęp do rekordów musi być realizowany za pomocą dedykowanych i zoptymalizowanych operacji. Wyróżnia się operacje na pojedynczym rekordzie (ang. recordat-a-time) i operacje na zbiorze rekordów (ang. set-at-a-time). 9

Model kosztów Operacja na pliku posiada swój tzw. koszt, który jest zależny od organizacji wewnętrznej pliku. Koszt jest konkretną wartością, której miarą może być np. czas wykonania, liczba dostępów do dysku. Koszt jest wartością wynikającą z tzw. modelu kosztów (ang. cost model). 10

1 2 3 11

1 Bloki danych lista dwukierunkowa Plik nieuporządkowany: rekordy są przechowywane w kolejności ich wstawiania. Nagłówek pliku zawiera: wskaźnik do pierwszego bloku danych. Bloki danych tworzą listę dwukierunkową. 12

1 13

1 14

1 Sortowanie wykonywane w pamięci operacyjnej. Techniką sortowania stosową najczęściej Sortowanie zewnętrzne (ang. external sorting) sortowanie pliku fragmentami, które mieszczą się w pamięci operacyjnej. Każdy posortowany fragment jest w drugiej fazie sortowania łączony z innymi fragmentami. Łączenie to wymaga zwykle wielu przebiegów. 15

1 16

2 pole porządkujące W pliku uporządkowanym rekordy składowane są uporządkowane wg wartości tzw. pola porządkującego (ang. ordering field). W przykładowym pliku ze slajdu, rekordy zostały uporządkowane wg wartości nazwiska i imienia. 17

2 koszt D log 2 B C log 2 R 2 koszt 2 D log 2 B C log R ND 3 18

2 19

2 Pierwsze rozwiązanie: przesuwanie średnio połowy rekordów w pliku, w celu zagwarantowania właściwego porządku rekordów w pliku. Drugie rozwiązanie: pozostawienie w każdym bloku dyskowym pustego miejsca na wstawiane rekordy. W tym przypadku przesunięcia rekordów należy dokonać tylko w tym bloku, do którego jest wstawiany rekord. Trzecie rozwiązanie: wykorzystanie nieuporządkowanego tymczasowego pliku, tzw.: nadmiarowego (ang. overflow file) lub transakcyjnego (ang. transaction file). 20

PROCEDURA REALIZACJI 2 Modyfikowanie rekordu wymaga jego znalezienia w pliku i odczytania do bufora. 21

2 Zalety: Operacja odczytu i sortowania efektywna, znalezienie następnego rekordu, według określonego porządku bardzo proste. Wady: Uporządkowanie pliku jest nieprzydatne, gdy wyszukiwanie jest realizowane według wartości pola nie porządkującego pliku danych. 22

3 Koncepcja organizacji tego pliku polega na zdefiniowaniu funkcji haszowej (ang. hash function). W praktyce stosuje się dwie techniki haszowania, tj. haszowanie wewnętrzne i haszowanie zewnętrzne. 23

3 indeksy tablicy haszowej Koncepcja haszowania wewnętrznego Dana jest tablica rekordów o M szczelinach. Adresy szczelin odpowiadają indeksom tablicy haszowej. Indeksy te przyjmują wartości od 0 do M-1. Funkcja haszowa ma postać: H(K=wartość pola haszowego) > {0,..., M-1}. Funkcja ta transformuje wartość pola haszowego do liczby całkowitej z zakresu od 0 do M-1. 24

indeksy tablicy haszowej 3 Przykład haszowania wewnętrznego: rekordy pracowników z polami: Id_Prac, Nazwisko, Etat. Przyjmijmy tablicę haszową ze szczelinami o numerach od 0 do 6. Definicja funkcji haszowej: H(Id_Prac)=Id_Prac MOD 10 25

3 26

3 METODY ROZWIĄZYWANIA KOLIZJI 27

3 adresy szczeliny Technika łańcuchowania polega na przechowywaniu w szczelinie dodatkowo wskaźnika do tzw. obszaru przepełnienia (ang. overflow space). Służy on do przechowywania wszystkich rekordów ulegających kolizji w danej szczelinie. Rekordy w obszarze przepełnienia tworzą listę. 28

3 W haszowaniu zewnętrznym wartościami tablicy haszowej są adresy logicznych obszarów dyskowych (LOD) (ang. block buckets). Funkcja haszowa odwzorowuje wartość atrybutu haszowego w numer LOD. Plik dyskowy zawiera tablicę konwersji numerów LOD w fizyczne adresy bloków dyskowych. 29

3 30

3 W haszowaniu zewnętrznym kolizje rzadsze, (ten sam LOD, którego numer jest wynikiem działania funkcji haszowej, może pomieścić wiele rekordów). Kolizja może jednak wystąpić po zapełnieniu się wszystkich bloków dyskowych wchodzących w skład danego LOD. 31

3 Poszukiwanie w pliku haszowym rekordu z warunkiem nałożonym na pole inne niż haszowe wymaga przeszukania całego pliku i obszaru nadmiarowego. Usunięcie rekordu z pliku haszowego przebiega w dwóch wariantach. 32

3 W wariancie drugim, usuwany rekord znajduje się w obszarze nadmiarowym. Jego usunięcie polega na znalezieniu szczeliny (z wykorzystaniem funkcji haszowej i tablicy konwersji) w LOD. 33

3 Wstawienie rekordu do pliku haszowego polega na odczytaniu adresu szczeliny z wykorzystaniem funkcji haszowej i zapisaniu rekordu do tej szczeliny. Zmodyfikowanie wartości pola haszowego polega na odczytaniu rekordu z wykorzystaniem funkcji haszowej. 34

3 Praktyka pokazuje, że tablica haszowa powinna być zajęta w 70% - 90% Pliki haszowe są nieefektywne dla operacji odczytu danych z ich porządkowaniem zgodnie z wartością pola haszowego. 35

KONIEC WYKŁADU 36