Rozwiązania wspomagające przetwarzanie wielkich zbiorów danych (VLDB) we współczesnych systemach zarządzania bazami danych

Podobne dokumenty
Oracle11g: Wprowadzenie do SQL

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Baza danych. Modele danych

Hurtownie danych. Przetwarzanie zapytań. ZAPYTANIA NA ZAPLECZU

WPROWADZENIE DO BAZ DANYCH

Hurtownie danych i business intelligence - wykład II. Zagadnienia do omówienia. Miejsce i rola HD w firmie

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Modele danych - wykład V. Zagadnienia. 1. Wprowadzenie 2. MOLAP modele danych 3. ROLAP modele danych 4. Podsumowanie 5. Zadanie fajne WPROWADZENIE

Wprowadzenie do technologii Business Intelligence i hurtowni danych

Indeksy. Rozdział 18. Indeksy. Struktura indeksu. Adres rekordu

Wydajność hurtowni danych opartej o Oracle10g Database

Modele danych - wykład V

KURS ACCESS 2003 Wiadomości wstępne

BD2 BazyDanych2. dr inż. Tomasz Traczyk 14. Systemy przetwarzania analitycznego

Jarosław Kuchta Projektowanie Aplikacji Internetowych. Projektowanie warstwy danych

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Bazy danych Wykład zerowy. P. F. Góra

"Kilka słów" o strojeniu poleceń SQL w kontekście Hurtowni Danych wprowadzenie. Krzysztof Jankiewicz

SZKOLENIE: Administrator baz danych. Cel szkolenia

Spis treści. Przedmowa

1 Instalowanie i uaktualnianie serwera SQL Server

Optymalizacja poleceń SQL Metody dostępu do danych

Systemy GIS Tworzenie zapytań w bazach danych

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

1.5.3 Do czego słuŝą tymczasowe przestrzenie Zarządzanie plikami danych

Hurtownie danych - przegląd technologii Robert Wrembel Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl

Hurtownie danych - przegląd technologii

Hurtownie danych. 31 stycznia 2017

Baza danych. Baza danych to:

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

Jakub Pilecki Szymon Wojciechowski

Projektowanie struktury danych

Relacyjne bazy danych. Podstawy SQL

Optymalizacja poleceń SQL

Technologia informacyjna

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

Wykład XII. optymalizacja w relacyjnych bazach danych

Optymalizacja poleceń SQL Indeksy

Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

Bazy danych 2. Wykład 3. Metodologia projektowania baz danych (projektowanie fizyczne)

RELACYJNE BAZY DANYCH

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

Wpływ wybranych struktur pomocniczych na rozmiar bazy danych Oracle

Indeksy w hurtowniach danych

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

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

INDEKSY. Biologiczne Aplikacje Baz Danych. dr inż. Anna Leśniewska

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

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

OLAP i hurtownie danych c.d.

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

Funkcjonalność systemów zarządzania bazami danych przestrzennych w kartografii internetowej (PosrtgreSQL/PostGIS) Krzysztof Kuśnierek

Indeksy w bazach danych. Motywacje. Techniki indeksowania w eksploracji danych. Plan prezentacji. Dotychczasowe prace badawcze skupiały się na

Zapytania, złączenia, optymalizacja zapytań, planowanie zapytań, optymalizacja indeksów.

Zastosowania tabel o strukturze indeksu - IOT (Index Organized Table)

Opisy efektów kształcenia dla modułu

Wprowadzenie do projektowania i wykorzystania baz danych Relacje i elementy projektowania baz

Organizacyjnie. Prowadzący: dr Mariusz Rafało (hasło: BIG)

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

Internetowe bazy danych

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

Projektowanie warstwy danych

Hurtownie danych. Wstęp. Architektura hurtowni danych. CO TO JEST HURTOWNIA DANYCH

Spis treści. Część I Wprowadzenie do pakietu oprogramowania Analysis Services

Spis tre±ci. Przedmowa... Cz ± I

Transformacja modelu pojęciowego. do logicznego

DB2 with BLU acceleration rozwiązanie in-memory szybsze niż pamięć operacyjna&

PR P E R Z E E Z N E T N A T C A JA C JA KO K RP R O P RA R C A Y C JN Y A JN ACTINA DATA MANAGER

Porównanie systemów zarządzania relacyjnymi bazami danych

Spis treści. O autorach... 12

Administracja i programowanie pod Microsoft SQL Server 2000

Microsoft SQL Server 2012 : krok po kroku / Patrick LeBlanc. Warszawa, Spis treści

Bazy danych 1. Wykład 5 Metodologia projektowania baz danych. (projektowanie logiczne)

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

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia

Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni

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

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

PRZEWODNIK PO PRZEDMIOCIE

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Spis treści. 1 Modelowanie logiczne. Plan wykładu. 1 Modelowanie logiczne 1

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7

Bazy danych i ich aplikacje

PRZEWODNIK PO PRZEDMIOCIE

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.

Microsoft SQL Server 2012 Krok po kroku

Tadeusz Pankowski

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

mail: strona: konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową)

Administracja bazami danych

STROJENIE BAZ DANYCH: INDEKSY. Cezary Ołtuszyk coltuszyk.wordpress.com

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Technologie efektywnego zarządzania danymi w systemach rejestrowych na przykładzie IRS

Transkrypt:

Rozwiązania wspomagające przetwarzanie wielkich zbiorów danych (VLDB) we współczesnych systemach zarządzania bazami danych Tomasz Traczyk ttraczyk@ia.pw.edu.pl Wydział Elektroniki i Technik Informacyjnych Politechnika Warszawska 2 Wprowadzenie VLDB Very Large Databases Co to znaczy VLDB? granica nieostra i przesuwa się zaleŝy od sprzętu i sposobu wykorzystania pojedyncze GB jeszcze raczej nie TB juŝ raczej tak Problemy z VLDB wydajność zapytań kłopotliwe operacje administracyjne» np. backup duŝe przyrosty danych» pogorszenie zachowania systemów koszty sprzętu» pamięci dyskowej (?)» szybkich serwerów» urządzeń do backupów O czym będzie ten wykład? Wybrane środki techniczne wspomagające obsługę danych w VLDB we współczesnych RDBMS Zakres tylko zagadnienia dotyczące struktur danych rozwiązania dla systemów» transakcyjnych» analitycznych bez procesów ETL bez wielowymiarowego składowania danych bez zagadnień związanych ze» sprzętem» architekturą systemów» administrowaniem DBMS 3 4

Podział bazy Kompresja Podział bazy danych Sposób dane dzielimy np. wg głównych uŝytkowników powstaje kilka niezaleŝnych mniejszych baz prostota koncepcyjna wystarczy słabszy sprzęt niepotrzebne dodatkowe umiejętności niejasne kryteria podziału brak moŝliwości łącznego przetwarzania danych większe koszty oprogramowania większe koszty administrowania Rozproszenie danych Sposób dane dzielimy np. wg miejsca uŝywania powstaje kilka baz, tworzących łącznie bazę rozproszoną moŝna łącznie przetwarzać dane wystarczy słabszy sprzęt niejasne kryteria rozproszenia większe koszty oprogramowania znacznie większe koszty administrowania potrzebne nowe znaczące umiejętności problemy z replikacją» opóźnienia» konflikty przy replikacji multi-master problemy z transakcjami rozproszonymi» transakcje wątpliwe koszty przewyŝszają korzyści Kompresja tabel a) odzysk miejsca po wartościach pustych (NULL, 0 itp.) b) prawdziwa kompresja (całych tabel lub wybranych partycji) głównie w bazach analitycznych moŝe być połączona z partycjonowaniem kompresja wskazana, gdy a) w tabeli jest duŝo wartości pustych b) w tabeli jest duŝo powtórzeń (np. liczne powtórzenia długich kluczy obcych) niewskazana, gdy przewiduje się duŝo operacji DML zmniejsza uŝycie dysku i pamięci operacyjnej zwiększa uŝycie CPU wyraźnie spowalnia operacje DML Kompresja indeksów zastąpienie wielokrotnych powtórzeń początkowych kolumn klucza jednym zapisem i odpowiednimi powiązaniami stosowana dla indeksów drzewiastych» złoŝonych, tj. o kluczu wielokolumnowym» gdy wartości początkowych kolumn indeksu powtarzają się wielokrotnie takiej kompresji moŝna teŝ poddać tabele zorganizowane indeksowo powaŝnie zmniejsza wielkość indeksu zmniejsza liczbę operacji dyskowych zwiększa uŝycie CPU nie zawsze prowadzi do wzrostu wydajności zapytań, czasem powoduje nawet niewielki spadek 5 6 Tabele zewnętrzne Struktury relacyjno-obiektowe obiektowe Dane w zewnętrznym pliku (poza bazą) Ten plik danych jest podłączany do bazy specjalne pliki konfiguracyjne definiują format danych i sposób odczytu Plik jest w bazie widoczny tak jak tabela dane z pliku są dostępne przez zwykłe zapytania SQL wydajność zapytań jest oczywiście znacznie gorsza Sporadyczny dostęp do wielkich mało zmiennych zbiorów danych np. z bibliotek CD-ROM Ładowanie danych zewnętrznych np. procesy ETL w bazach analitycznych dane nie obciąŝają bazy» np. operacji administracyjnych moŝliwy odczyt zewnętrznych formatów bez konwersji moŝliwe wykorzystanie nośników read-only tylko odczyt mała wydajność zapytań struktur relacyjno-obiektowych Struktury relacyjne są podstawą budowy b.d. W tabelach relacyjnych moŝna umieszczać złoŝone obiekty np. zagnieŝdŝone tabele SQL jest rozszerzony o moŝliwość działania na takich obiektach relacyjno-obiektowej b.d kompatybilność z rozwiązaniami relacyjnymi moŝliwość wykorzystania części zalet obiektowości w połączeniu z zaletami bazy relacyjnej ewolucyjne przejście do obiektowości struktur r-o w VLDB Upakowanie złoŝonych danych w mniejszej liczbie tabel, z zastosowaniem złoŝonych struktur zagnieŝdŝonych tabel zmniejszenie liczby złączeń przyspieszenie niektórych zapytań znaczna redukcja uŝycia przestrzeni dyskowej spowolnienie niektórych zapytań spowolnienie DML» dla niektórych struktur, które są odczytywane/zapisywane w całości znacznie trudniejsze programowanie» konieczność stosowania specjalnych konstrukcji spoza ogólnie znanej części SQL słaba kompatybilność z narzędziami do tworzenia aplikacji 7 8

Tabele zorganizowane indeksowo index organized table Wszystkie dane przechowuje się w strukturze indeksu klucza głównego nie ma osobnego segmentu tabeli dane spoza klucza głównego są doklejone do liści drzewa indeksu Dzięki temu przy wyszukiwaniu wg klucza głównego zmniejsza się liczba odczytów Tabele, w których składniki klucza głównego zajmują duŝy procent wiersza Typowe zastosowania: GIS hurtownie (wymiary) struktury generyczne (metadane) zmniejszenie zuŝycia dysku przyspieszenie zapytań wg klucza głównego pewne spowolnienie zapytań z uŝyciem innych indeksów 9 10 Partycjonowanie Partycjonowanie, c.d. Co moŝna partycjonować? Poszczególne tabele i ich indeksy Całą bazę danych partycje tabel przypisuje się do partycji bazy partycje mogą się znajdować na róŝnych serwerach Wykorzystanie partycjonowania Podział na partycje zwykle zaleŝy od wartości wybranych kolumn np. zakresy dat Optymalizator zapytań moŝe umieć zidentyfikować potrzebne partycje» np. na podstawie warunków w zapytaniu wykonać eliminację zbędnych partycji (partition pruning)» pozwala to wykonać efektywnie nawet full scan wykorzystywać partycje w realizacji złączeń (partition-wise joins) Zalecane juŝ dla tabel powyŝej 2GB Bardzo wskazane dla danych intensywnie przyrastających np. w hurtowniach danych przezroczyste dla aplikacji zapewnia znakomitą skalowalność» wydajność wielu zapytań niemal uniezaleŝniona od przyrostu danych» operacje administracyjne wykonywane na kaŝdej partycji osobno» moŝliwe zrównoleglenie operacji na partycjach tej samej tabeli wad technicznych właściwie brak dość trudne poprawne zaprojektowanie» partycjonowanie powinno być uwzględnione w projektowaniu struktur danych spory dodatkowy koszt licencji Partycjonowanie tabel Sposoby partycjonowania wg zakresów wartości klucza partycjonowania» najczęściej wg zakresu dat wg wartości wskazanych enumeratywnie» umoŝliwia grupowanie wartości niekolejnych z uŝyciem funkcji mieszającej» odpowiednie gdy nie moŝna znaleźć kryterium równomiernego podziału złoŝone» dwupoziomowe Celem jest uzyskanie partycji o rozsądnych rozmiarach o podobnej wielkości zawierających dane, które zapewne będą łącznie uŝywane Partycjonowanie indeksów Indeksy partycjonowane lokalnie partycje indeksu zgodne z partycjami tabeli łatwe do zarządzania i utrzymania przez DBMS klucz partycjonowania nie musi być początkową częścią klucza indeksu poŝądany sposób partycjonowania» zwłaszcza w bazach analitycznych Indeksy partycjonowane globalnie partycje indeksu niezgodne z partycjami tabeli klucz partycjonowania zwykle musi być początkową częścią klucza indeksu rozwiązanie bardziej uniwersalne» indeksy mogą być partycjonowane inaczej od tabel stosowane raczej w systemach transakcyjnych 11 12

Indeksy bitowe (Bitmap( Indexes) Klucz indeksowania zawiera niewiele wartości o dowolnej częstości nie jest potrzeba wysoka selektywność W zapytaniach wiele warunków równościowych Dla kaŝdego klucza indeksowania tworzy się binarną macierz rzadką wiersze odpowiadają wierszom w tabeli kolumny odpowiadają wartościom klucza Macierz tę przechowuje się na dysku w postaci skompresowanej Operatory logiczne na warunkach równościowych realizuje się jako operacje logiczne na bitach odpowiednich kolumn macierzy indeksów bitowych W zasadzie wyłącznie w bazach analitycznych indeksowanie tabel faktów po wymiarach niewielkie rozmiary indeksów na dysku szybki odczyt wykorzystanie wielu indeksów do tej samej tabeli w jednym zapytaniu bardzo spowalniają DML 13 14 Indeksy złączeniowe (Join( Indexes) Optymalizacja zapytań gwiaździstych Indeksuje tabelę faktów wartościami z tabeli wymiarów CREATE BITMAP INDEX sprzedaz_towar_idx ON sprzedaz(towary.) FROM sprzedaz, towary WHERE sprzedaz.id_towaru = towary.id_towaru Przeznaczone do uŝycia w bazach analitycznych (struktury gwiaździste) Stosowane, gdy warunki zapytania dotyczą deskryptora, a nie identyfikatora wymiaru pozwalają uniknąć złączenia» znacznie przyspieszają zapytania mogą ograniczać współbieŝność Działanie stosowane do zapytań» do tabeli faktów» ze złączeniami do wymiarów automatyczne przepisywanie zapytań» uniknięcie prawdziwego złączenia Fazy podzapytanie do tabeli faktów z uŝyciem indeksów bitowych (bez złączenia!) złączenie (semi-join) wyniku tego podzapytania z tabelami faktów (małymi) Warunki hurtownia danych struktura gwiazdy zapytanie do tabeli faktów ze złączeniami do tabel wymiarów klucze obce zaindeksowane indeksami bitowymi znaczny wzrost wydajności TOWARY SPRZEDAś #data_i_czas wartość SKLEPY adres rejon TOWARY SPRZEDAś #data_i_czas wartość SKLEPY adres rejon 15 16

Podsumowanie Dla VLDB istnieją liczne rozwiązania techniczne, dostępne w czołowych DBMS Rozwiązania wspomagające wykorzystanie VLDB mogą być Rozwiązania uniwersalne uniwersalne do róŝnych zastosowań specjalizowane do baz analitycznych (hurtowni danych) Rozwiązania te są najczęściej przezroczyste dla aplikacji ale zwykle powinny być projektowane juŝ na etapie projektu struktur danych Dobrze zaprojektowany system dobry DBMS właściwie skonfigurowany na dobrym sprzęcie odpowiednio wykorzystujący specjalne rozwiązania dla VLDB pozwoli efektywnie przetwarzać bardzo wielkie zbiory danych 17 18 Rozwiązania wspomagające przetwarzanie wielkich zbiorów danych (VLDB) we współczesnych systemach zarządzania bazami danych 19