RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague

Podobné dokumenty
Databázové systémy. Cvičení 6: SQL

Optimalizace dotazů a databázové transakce v Oracle

RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava

RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague

B0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux

Paralelní dotazy v PostgreSQL 9.6 (a 10.0)

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE

SQL v14. 4D Developer konference. 4D Developer conference 2015 Prague, CZ Celebrating 30 years

Databáze SQL SELECT. David Hoksza

Databázové systémy úvod

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní pojmy, motivace Ing. Kotásek Jaroslav

B Organizace databáze na fyzické úrovni u serveru Oracle

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

Jazyk SQL databáze SQLite. připravil ing. petr polách

Databázové a informační systémy

Informační systémy 2008/2009. Radim Farana. Obsah. Jazyk SQL

Zápisování dat do databáze

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

OBJECT DEFINITION LANGUAGE. Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013

Inovace a zkvalitnění výuky prostřednictvím ICT. Základní seznámení s MySQL Ing. Kotásek Jaroslav

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou

Úvod do databázových systémů

Databáze I. 1. přednáška. Helena Palovská

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.

Databázové systémy a SQL

8.2 Používání a tvorba databází

Novinky v PostgreSQL 9.4. Tomáš Vondra, 2ndQuadrant

RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague

Administrace Oracle - Správa zdrojů

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

KIV/ZIS cvičení 6. Tomáš Potužák

Úvod do databázových systémů

PG 9.5 novinky ve vývoji aplikací

POSTUP PRO VYTVOŘENÍ STRUKTUR PRO UKLÁDÁNÍ RDF DAT V ORACLE

Klíčová slova: dynamické internetové stránky, HTML, CSS, PHP, SQL, MySQL,

Transakce a zamykání. Administrace MS SQL Serveru (NDBI039) Pavel Hryzlík

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek

Řešení úkolů. Cvičení 1. Založení tabulky se specifikací fyzického uložení. Úkol 1.1

8. Zpracování dotazu. J. Zendulka: Databázové systémy 8 Zpracování dotazu 1

SQL. strukturovaný dotazovací jazyk. Structured Query Language (SQL)

4IT218 Databáze. 4IT218 Databáze

J. Zendulka: Databázové systémy 8 Zpracování dotazu Podstata optimalizace zpracování dotazu

Sada 1 - PHP. 14. Úvod do jazyka SQL

Návrh a tvorba WWW stránek 1/14. PHP a databáze

RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague

Základy informatiky. 08 Databázové systémy. Daniela Szturcová

RELAČNÍ DATABÁZOVÉ SYSTÉMY

Úvod do databázových systémů

Materiál ke cvičením - SQL

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev

Administrace Oracle. Práva a role, audit

Marian Kamenický. Syntea software group a.s. marian.kamenicky. MFFUK Praha 2012/13

Administrace Oracle Práva a role, audit. Kukhar Maria

Struktura pamětí a procesů v DB Oracle. Radek Strnad

Úvod do databázových systémů

Healtcheck. databáze ORCL běžící na serveru db.tomas-solar.com pro

Databázové systémy, MS Access. Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1130_Databázové systémy, MS Access_PWP

Databáze. Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu. Bedřich Košata

Použití databází na Webu

Databázové systémy Cvičení 5.3

Maturitní témata z předmětu PROGRAMOVÉ VYBAVENÍ pro šk. rok 2012/2013

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant

DUM 12 téma: Příkazy pro tvorbu databáze

KIV/ZIS cvičení 5. Tomáš Potužák

Informační systémy ve zdravotnictví. 6. cvičení

TimescaleDB. Pavel Stěhule 2018

Databáze 2011/2012 SQL DDL (CREATE/ALTER/DROP TABLE), DML (INSERT/UPDATE/DELETE) RNDr.David Hoksza, Ph.D.

Databáze I. 5. přednáška. Helena Palovská

Databázové systémy trocha teorie

První pomoc pro DBA. administrátory CIDUG. Milan Rafaj IBM Česká republika

Optimalizace SQL dotazů

Architektury databázových

SPŠS Č.Budějovice Obor Geodézie a Katastr nemovitostí 3.ročník ATRIBUTY ZÁKLADN POJMY VÝBĚR PRVKŮ DLE ATRIBUTŮ

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

04 - Databázové systémy

Jak ušetřit místo a zároveň mít data snadno dostupná. David Turoň

Semestrální práce z DAS2 a WWW

Databázové systémy a SQL

Základy jazyka SQL. 87 Jazyk SQL SQL je dotazovací jazyk, takže přes propojenou aplikaci se serveru odevzdá dotaz

Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce

Databázové a informační systémy Jana Šarmanová

KIV/ZIS - SQL dotazy. stáhnout soubor ZIS- 04_TestovaciDatabaze accdb. SQL dotazy. budeme probírat pouze SELECT

Monitoring SQL Server, Resource Governor, Tracing SQL Server

Virtual Private Database (VPD) Jaroslav Kotrč

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4.

NÁVRH A TVORBA HUDEBNÍ DATABÁZE

Tabulka fotbalové ligy

Oracle XML DB. Tomáš Nykodým

Databázové systémy Cvičení 5.2

Optimalizace. Ing. Marek Sušický, RNDr. Ondřej Zýka

Univerzita Pardubice Fakulta ekonomicko-správní. Hinty Oracle a jejich vliv na výkon dotazu. Bc. Josef Pirkl

Fakulta elektrotechniky a informatiky Databázové systémy 2. Leden 2010 souhrn. Červené dobře (nejspíš), modré možná

Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky. 9. června krovacek@students.zcu.cz

DATABÁZE, ATRIBUTY. SPŠS Č.Budějovice Obor Geodézie a Katastr nemovitostí 3.ročník

Optimalizace. Ing. Marek Sušický, RNDr. Ondřej Zýka

Migrace CIDUG. Ing. Pavel Krutina

Databázové systémy Cvičení 5

Optimalizace serveru

Transkript:

seminář: Administrace Oracle (NDBI013) LS2017/18 RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague

Zvyšuje výkon databáze Rychlejší vykonání dotazů nad velkým objemem dat Lepší využití dostupných zdrojů CPU Sekundární paměť I/O kanály Stupeň paralelizace kolik procesů pracuje souběžně Oracle Parallel Execution

Větší režie při vykonávaní Jednoduché dotazy při paralelním zpracovaní mohou být pomalejší Pravidlo 10 sekund Pokud dotaz trvá více než 10 sekund, je potenciálním kandidátem na paralelní zpracování.

Vyžaduje statické rozdělení dat Každý proces pracuje na svých pevně stanovených datech Obvyklé v ne-oracle databázích

Dynamické rozdělování dat mezi procesy Náročnější na provoz, ale nezávislejší na datech

Query SELECT, JOIN Podmienky: Alespoň k jedné tabulce se přistupuje jako full scan, anebo se k indexu, který je rozdělený do niekolika oddílů (partitions), přistupuje přes range scan V příkazu je hint pro paralelní zpracování, anebo je tabulka nastavená pro paralelní zpracování Pokud prohledáváme přes index, který je rozdělený na několik oddílů, příkaz musí obsahovat hint PARALLEL_INDEX M. Kopecký NDBI013 6

DML (Data Manipulation Language) Podmínky pro UPDATE, DELETE: Pokud se příkaz týká více oddílů tabulky Na nerozdělených tabulkách nemůže být proveden Podmínky pro INSERT: Pouze v případě, že ho používáme se SELECTem, tj. INSERT SELECT FROM INSERT s hodnotami (VALUES) nemůže být paralelizovaný M. Kopecký NDBI013 7

DDL (Data Definition Language) Tabulky, indexy Paralelizmus je možný Pro nerozdělené tabulky a indexy, pokud je příkaz typu: CREATE TABLE AS SELECT.. CREATE INDEX ALTER INDEX REBUILD M. Kopecký NDBI013 8

Query Coordinator rozděluje práci a sbírá dílčí výsledky Parallel Execution Server Processes provádí dílčí operace s daty čekají na coordinatora v parallel execution server process pool EXPLAIN PLAN FOR select * from... SELECT * FROM TABLE(dbms_xplan.display());

M. Kopecký NDBI013 10

Intraoperation parallelism Na zpracování jedné operace se podílí více procesov Interoperation parallelism Paralelní zpracování více dílčích operací M. Kopecký NDBI013 11

M. Kopecký NDBI013 12

Inter-operation parallelism Inter-operation parallelism SELECT /*+ PARALLEL(employees 4) PARALLEL(departments 4) USE_HASH(employees) ORDERED */ MAX(salary), AVG(salary) FROM employees, departments WHERE employees.department_id = departments.department_id GROUP BY employees.department_id; M. Kopecký NDBI013 13

SELECT jmeno, MAX(plat), AVG(plat) FROM zamestnanec zam, oddeleni odd WHERE zam.idodd = odd.idodd ORDER BY jmeno;

minimální část zpracovávaná odděleně dělení na granule je závislé na: konkrétních datech operaci stanoveném stupni paralelizace bloky (logicky) x partitions (fyzicky) dělení nelze ovlivnit

Stanovena automaticky (Auto DOP) Pokud chci přistupovat k objektu paralelně: ALTER TABLE zamestnanec PARALLEL 4; Pokud chci vynutit paralelizaci své session: ALTER SESSION FORCE PARALLEL QUERY ; hint v SQL: SELECT /*+ PARALLEL(z 4) /* jmeno FROM zamestnanec z...

Počet použitých parallel execution serverů Dynamicky určený podle: Aktuálního zatížení HW konfigurace Atributů objektu Priority Manuálně Nastavené jako atribut objektu Vynucením minimálního počtu serverů

SHOW PARAMETER PARALLEL nebo přes V$PARAMETER parallel_min_servers... počet serverů při spuštění parallel_max_servers... maximální počet serverů parallel_adaptive_multi_user... dynamické dělení mezi uživatele parallel_degree_policy... MANUAL/AUTO/LIMITED

SESSION ALTER SESSION {ENABLE DISABLE FORCE} PARALLEL {QUERY DDL DML} Zjištění nastavení pro aktuální session: SELECT PDML_ENABLED, PDML_STATUS, PDDL_STATUS, PQ_STATUS, SID FROM V$SESSION WHERE SID = ( SELECT SID FROM V$MYSTAT WHERE ROWNUM = 1); M. Kopecký NDBI013 19

CREATE TABLE: CREATE TABLE big_emp PARALLEL (degree 4) AS SELECT * FROM emp; INSERT: ALTER SESSION ENABLE PARALLEL dml; INSERT /*+ parallel (emp_big,4,1) */ INTO emp_big SELECT * FROM emp; COMMIT; ALTER SESSION DISABLE PARALLEL dml; M. Kopecký NDBI013 20

CREATE INDEX CREATE INDEX emp_ix ON emp (emp_id) TABLESPACE ind STORAGE ( INITIAL 1M NEXT 1M PCTINCREASE 0 MAXEXTENTS 20) PARALLEL (DEGREE 4) M. Kopecký NDBI013 21

DoP = Degree of Parallelism M. Kopecký NDBI013 22

Umožňuje fyzické rozdělení databázových objektů Dělení na základě hodnot zadaného sloupce (pomocí intervalu, seznamů hodnot, hešování...)

create table prodej (rok number(4),...) partition by range(rok) partition p1 values less than (1992) tablespace t1 partition p2 values less than (1993) tablespace t2 partition p3 values less than (2000) tablespace t3

create table prodej (rok number(4),...) partition by hash(rok) partitions 4 store in (tab1, tab2, tab3, tab4)

create table prodej (rok number(4),...) partition by list(rok) partition p1 values('2016', '2017') tablespace t1 partition p2 values('2018') tablespace t2;

Lokální index index uložen u každého oddílu Globální index index dělen samostatně Globální nedělený index