Materializované pohledy



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

Operátory ROLLUP a CUBE

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

Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou

ÚVOD DO DATABÁZÍ. Metodické listy pro předmět

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

Databáze SQL SELECT. David Hoksza

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

Databáze I. Přednáška 6

Optimalizace dotazů a databázové transakce v Oracle

RELAČNÍ DATABÁZOVÉ SYSTÉMY

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

Jazyk SQL 2. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c M.Valenta, 2011 BI-DBS, ZS 2011/12

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

DJ2 rekurze v SQL. slajdy k přednášce NDBI001. Jaroslav Pokorný

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

Databázové systémy I

Co bude výsledkem mého SELECTu? RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT

Dotazovací jazyky I. Datová krychle. Soběslav Benda

Ukládání a vyhledávání XML dat

XMW4 / IW4 Pokročilé SELECT dotazy. Štefan Pataky

6. blok část B Vnořené dotazy

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

PG 9.5 novinky ve vývoji aplikací

Stručný obsah. část III Aktualizace dat Kapitola 10: Aktualizace databáze 257 Kapitola 11: Integrita dat 275 Kapitola 12: Zpracování transakcí 307

Jazyk SQL 3 - DML, DDL, TCL, DCL

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

Kapitola 4: SQL. Základní struktura

Structured Query Language SQL

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

Úvod do databázových systémů 3. cvičení

6. blok část C Množinové operátory

Paralelní dotazy v PostgreSQL 9.6 (a 10.0)

Databázové systémy Tomáš Skopal

Jazyk S Q L základy, příkazy pro práci s daty

Jazyk SQL slajdy k přednášce NDBI001

Databázové systémy trocha teorie

SQL SQL-SELECT. Informační a znalostní systémy. Informační a znalostní systémy SQL- SELECT

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS

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

Databáze 2011/2012 SQL SELECT II. RNDr.David Hoksza, Ph.D.

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

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

KIV/ZIS - SELECT, opakování

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

1. Relační databázový model

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

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

Databázové systémy. Dotazovací jazyk SQL - II

6. SQL složitější dotazy, QBE

Data Cube. Luboš Kulič Tomáš Kuthan

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

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

3. Jazyky relačních databázových systémů

TimescaleDB. Pavel Stěhule 2018

Dotazy v SQL. Výraz relační algebry R1( )[A1,A2,...,Aj] lze zapsat takto: SELECT A1,A2,...,Aj FROM R1 WHERE. Výraz (R1, R2... Rk)( )[A1,A2,...

Optimalizace plnění a aktualizace velkých tabulek. Milan Rafaj, IBM

4IT218 Databáze. 4IT218 Databáze

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

Novinky v Microsoft SQL Serveru RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT

Stručný obsah. K2118.indd :15:27

Analýza a modelování dat. Přednáška 9

Jazyk SQL 1. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2011/12

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

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

Analýza a modelování dat. Přednáška 8

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

5. blok Souhrnné a skupinové dotazy

Databázové systémy I. 1. přednáška

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

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

Optimalizace SQL dotazů

Vkládání, aktualizace, mazání

- sloupcové integritní omezení

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

SQL - SELECT. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, P edn. 7

DATA CUBE. Mgr. Jiří Helmich

3. Jazyky relačních databázových systémů

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

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

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

Osnova je orientační pro FIT, u FEKTu se dá předpokládat, že budou zohledněny předchozí znalosti studentů, kde většina s databází nikdy přímo

Čteme EXPLAIN. CSPUG, Praha. Tomáš Vondra Czech and Slovak PostgreSQL Users Group

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

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

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

Tabulka fotbalové ligy

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

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

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

Ukázka knihy z internetového knihkupectví

6. Fyzická (interní) úroveň databázového systému

6. Fyzická (interní) úroveň databázového systému

KMI / TMA Tvorba mobilních aplikací. 6. seminář ZS 2016/2017 Středa 13:15-15:45

Řešené příklady STUDENT(RČ, JMÉNO, SPECIALIZACE) PŘEDMĚT(KÓD, NÁZEV, SYLLABUS, GARANT) ZÁPIS(RČ, KÓD, SEMESTR, ZNÁMKA)

MS Access Dotazy SQL

Databázové systémy úvod

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

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

Transkript:

Materializované pohledy Pavel Baroš, 2010

Obsah Materializované pohledy Co přináší? Řešení ostatních DBS syntaxe a semantika pro: Oracle, MS SQL, DB2 ostatní Možné řešení pro PostgreSQL PostgreSQL 2

Materializované pohledy Co to je?.. něco mezi tabulkou a pohledem.. technika povahou podobná vyrovnávací paměti Jak to funguje?.. fyzická tabulka definována selectem K čemu to je? ALE!.. ke zvýšení efektivity DBS je třeba pečlivě zvážit užití materializovaných pohledů PostgreSQL 3

Materializované pohledy výhody zrychlení dotazů nevýhody duplicitní data v DB režie na update tabulky PostgreSQL 4

Ostatní DBS Neexistuje SQL standard! Oracle Materialized View MS SQL Indexed Views DB2 Materialized Query Table (MQT) Summary Tables SQL Anywhere Materialized View PostgreSQL 5

Ostatní DBS DBS Oracle Terminologie Materializované pohledy Aktualizace Kdy Jak Kdo okamžitá, odložená inkrementálně, přegenerování System, Uživatel MS SQL Indexové pohledy okamžitá inkrementálně System IBM DB2 MQT, Souhrné tabulky okamžitá, odložená inkrementálně, přegenerování System, Uživatel SQL Anywhere Materializované pohledy okamžitá, odložená inkrementálně, přegenerování System, Uživatel zdroj: http://iablog.sybase.com/paulley/2009/05/materialized-view-terminology/ PostgreSQL 6

Oracle MV Oracle využívá MV mimo jiné u replikace DB MV Group seskupuje MV, chová se k nim jako k replikaci DB MV Site vzdálená replika DB Typy MV: Updatable změna se promítne do podkladových tabulek Read-only na MV nelze použít DML Writable změny v MV se po aktualizaci ztratí, tj. lze změnit data MV, ale ne data podkladových tabulek PostgreSQL 7

Oracle MV Aktualizace Fast někdy je třeba explicitně vytvořit MV LOG Complete LOG není třeba, probíhá rekalkulace definice MV Omezení na SELECT a) Complex MV nelze mapovat řádku MV na řádky podkladových tabulek b) Simple MV každá řádka MV může být mapována na jednu řádku podkladových tabulek PostgreSQL 8

Oracle MV Vytvoření MV PostgreSQL 9

Oracle MV Změna MV Vytvoření LOGu PostgreSQL 10

MS SQL Indexed View Semantika: vytvořením indexu nad pohledem vznikná materializovaný pohled nelze si moc vybírat jen jeden typ MV spravována systémem inkrementální, okamžitá aktualizace vyžaduje klauzuli WITH SCHEMABINDING první musí být unique clustered index další indexy už musí být non-clustered index PostgreSQL 11

MS SQL Indexed View omezení (select nesmí obsahovat): a) obsahuje-li klauzuli GROUP BY HAVING, CUBE, GROUPING SETS výrazy, funkce (tot nejsou čistá data, nelze s nimi provádět DML) ale musí obsahovat COUNT_BIG(*) b) NEobsahuje-li klauzuli GROUP BY UNION, EXCEPT, INTERSECT (nelze rozlišit adresata operace vložení) poddotaz, OUTER SELF JOIN Agregační funkce (SUM, COUNT, AVG,...) PostgreSQL 12

MS SQL Indexed View Syntaxe: PostgreSQL 13

IBM DB2 Semantika: Materializované pohledy a) spravované uživatelem b) spravované systémem Souhrné tabulky mat. pohledy, jejichž definice obsahuje klauzuli GROUP BY Fázové tabulky (Staging Tables) slouží k inkrementální aktualizaci po aktualizaci jsou smazány PostgreSQL 14

IBM DB2 Syntaxe: PostgreSQL 15

SQL Anywhere Semantika Syntaxe uvažováno hlavně pro optimalizaci dotazů PostgreSQL 16

Kde je PostgreSQL? technika MV není implementována prozatím co je v plánu? 'obyčejné' MV tj. on-demand refresh, bez omezení na SELECT později: (pokročilejší) updatable MV PostgreSQL 17

MV in PostgreSQL uvažovaná semantika: typ refresh Complete (Rebuild) relname = 'm' (pg_class) žádný LOG file uvažovaná syntaxe: PostgreSQL 18

Zdroje Oracle MS SQL Materialized View Concepts and Architecture [use Google] www.dba-oracle.com/art_9i_mv.htm http://www.psoug.org/reference/materialized_views.html http://download.oracle.com/docs/cd/b19306_01/server.102/b14200/state ments_6002.htm www.novicksoftware.com/articles/indexed-views-basics-in-sql-server.htm IBM DB2 Creating an Indexed View & Designing an Indexed View [ use Google ] www.ibm.com/developerworks/data/library/techarticle/dm-0708khatri/ Dokumentace http://publib.boulder.ibm.com/infocenter/db2luw/v8//index.jsp SQL Anywhere Dokumentace http://www.ianywhere.com/developer/product_manuals/sqlanywhere/ PostgreSQL 19

Děkuji za pozornost PostgreSQL 20