Architektura DBMS. RNDr. Ondřej Zýka



Podobné dokumenty
Architektura DBMS. MI-DSP 2013/14 RNDr. Ondřej Zýka,

Architektura DBMS. RNDr. Ondřej Zýka

Architektura DBMS. RNDr. Ondřej Zýka

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

Správa dat v podniku. MI-DSP 2013/14 RNDr. Ondřej Zýka, ondrej.zyka@profinit.eu

Optimalizace dotazů a databázové transakce v Oracle

01. Kdy se začala formovat koncept relačních databází (Vznik relačního modelu, první definice SQL)? a) 1950 b) 1960 c) 1970 d) 1980

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

Databáze v praxi. RNDr. Ondřej Zýka Principal Consultant

Monitoring SQL Server, Resource Governor, Tracing SQL Server

Organizace a zpracování dat I (NDBI007) RNDr. Michal Žemlička, Ph.D.

Operační systémy. Přednáška 8: Správa paměti II

Vladimír

Nová éra diskových polí IBM Enterprise diskové pole s nízkým TCO! Simon Podepřel, Storage Sales

O Apache Derby detailněji. Hynek Mlnařík

Projekt 7006/2014 SDAT - Sběr dat pro potřeby ČNB. Návrh realizace řešení

Správa dat v podniku. RNDr. Ondřej Zýka

Diskové pole IBM Storwize V7000 Unified

Copyright 2012 EMC Corporation. All rights reserved.

Kapitola 10: Diskové a souborové struktury. Klasifikace fyzických médií. Fyzická média

Příloha č.2 - Technická specifikace předmětu veřejné zakázky

Ondřej Lorenc System x a virtualizace ondrej_lorenc@cz.ibm.com

Administrace Enterprise vlastnosti. RNDr. Ondřej Zýka

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

MySQL sežere vaše data

Zkušební test. Kdy se začala formovat koncept relačních databází (Vznik relačního modelu, první definice SQL)? a) 1950 b) 1960 c) 1970 d) 1980

Bc. David Gešvindr MSP MCSA MCTS MCITP MCPD

DATABÁZOVÉ SYSTÉMY. Vladimíra Zádová, KIN, EF TUL - DBS

Administrace Enterprise vlastnosti. MI-DSP 2013/14 RNDr. Ondřej Zýka,

Architektura DBMS Profinit. All rights reserved.

9. Transakční zpracování

Teradata Basic. RNDr. Ondřej Zýka

a co je operační systém?

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

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

Paralelní dotazy v PostgreSQL 9.6 (a 10.0)

Srovnání SQL serverů. Škálovatelnost a výkon. Express Workgroup Standard Enterprise Poznámky. Počet CPU bez limitu Obsahuje podporu

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ

Maturitní témata. Informační a komunikační technologie. Gymnázium, Střední odborná škola a Vyšší odborná škola Ledeč nad Sázavou.

Enterprise funkce SQL Serveru 2016, které jsou od SP1 zdarma

Pokročilé architektury počítačů

Tabulka fotbalové ligy

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

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

IB109 Návrh a implementace paralelních systémů. Organizace kurzu a úvod. RNDr. Jiří Barnat, Ph.D.

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

aniel Dvořák, Martin Mičan Liberec Windows Server 2012/R2 Migrační scénáře

prostředí IDS 11.5 na Martin Mikuškovic, ICZ a. s

INSTALACE DATABÁZE ORACLE A SYSTÉMU ABRA NA OS WINDOWS

FUJITSU PRIMEFLEX. Human Centric Innovation in Action. Integrované systémy pro Vaše řešení. 30. května 2017 Pavel Čáslavský. 0 Copyright 2017 FUJITSU

Administrace a Enterprise vlastnosti. RNDr. Ondřej Zýka

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

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

Kód v databázi. RNDr. Ondřej Zýka

Systém pro správu experimentálních dat a metadat. Petr Císař, Antonín Bárta 2014 Ústav komplexních systémů, FROV, JU

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

Databázové systémy trocha teorie

Přehled systému Microsoft SQL Server. Komu je kniha určena Struktura knihy Nejvhodnější výchozí bod pro čtení knihy Konvence a struktura knihy

S1_P1_Technická specifikace díla 189

Výkonnostní archeologie

STORAGE školení. 15. a Copyright 2015 FUJITSU

SÁM O SOBĚ DOKÁŽE POČÍTAČ DĚLAT JEN O MÁLO VÍC NEŽ TO, ŽE PO ZAPNUTÍ, PODOBNĚ JAKO KOJENEC PO PROBUZENÍ, CHCE JÍST.

<Insert Picture Here> Software, Hardware, Complete

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

HW počítače co se nalézá uvnitř počítačové skříně

BrightStor ARCserve Backup r Michal Opatřil - Consultant - michal.opatril@ca.com

1. Úvod Hardware 7

IBM Connections pro firmy s Lotus Notes/Domino. Petr Kunc

CHARAKTERISTIKY MODELŮ PC

Technické informace. PA152,Implementace databázových systémů 4 / 25. Projekty. pary/pa152/ Pavel Rychlý

Technické prostředky počítačové techniky

2. přednáška. Databázový přístup k datům (SŘBD) Možnost počítání v dekadické aritmetice - potřeba přesných výpočtů, např.

Ondřej Soukup, DAQUAS Radek Žalud, DAQUAS

Administrace Oracle - Správa zdrojů

Kapitola 1: Co je Microsoft Access? 27 Kapitola 2: Mnoho tváří aplikace Microsoft Access 41 Kapitola 3: Návrh databázové aplikace 75

Stored Procedures & Database Triggers, Tiskové sestavy v Oracle Reports

Operační systém (Operating System)

Zranitelnost databáze a ochrana vašich citlivých dat. Michal Lukanič, Database Specialist

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

VYUŽITÍ REGIONÁLNÍCH FUNKCÍ A WWW ROZHRANÍ V INTEGROVANÉM KNIHOVNÍM SYSTÉMU KPWINSQL

Lepší efektivita IT & produktivita

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

Trendy v budování datových center v roce Praha,

TECHNICKÉ PODMÍNKY. Článek 2. Podmínky pro službu MojeBanka, MojeBanka Business, MojePlatba,Expresní linka Plus a TF OnLine

Hyperkonvergovaná řešení jako základní stavební blok moderního IT

Netezza. Martin Pavlík. 2. Února to pravé řešení pro analytický datový sklad

George J. Klir. State University of New York (SUNY) Binghamton, New York 13902, USA

OS řady Microsoft Windows

Mobilní malware na platformě Android Přednáška 2. Ing. Milan Oulehla

Development and Test Cloud

Základní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Souborový systém (File System FS) Souborové systémy. Souborová fragmentace. Disková fragmentace. Organizace dat na pevném disku

Principy činnosti sběrnic

Externí paměti 1 Feromagnetické

O jedné metodě migrace velkých objemů dat aneb cesta ke snižování nákladů

Martin Moravec Run Rate Program Leader

Hardware ZÁKLADNÍ JEDNOTKA

TSM for Virtual Environments Data Protection for VMware v6.3. Ondřej Bláha CEE+R Tivoli Storage Team Leader. TSM architektura IBM Corporation

Centralizace aplikací ve VZP

Transkript:

Architektura DBMS RNDr. Ondřej Zýka 1

Obsah Cíle DBMS Zdroje DBMS Limity DBMS Paralelní architektury Životní cyklus uživatelského požadavku Implementace procesů Příklady architektury 2

Cíle DBMS DBMS Data Base Management Systém Uložit datové struktury Zabezpečit data Perzistence uložení Autorizace přístupů Realizovat požadavky uživatelů Změna datových struktur Změna dat Dotazy nad daty Monitoring Spouštět kód Uživatelský interface 3

Zdroje DBMS Datové prostory Disky Disková pole SAN - Storage area network NAS - Network-attached storage Paměť RAM Virtual memory Procesory Univerzální procesory Specializované procesory 4

Zdroje DBMS Sběrnice Komunikace mezi disky a pamětí Komunikace mezi procesory Síťové propojení Komunikace s klientem Komunikace mezi komponentami například mody clusteru Operační systém správa a přidělování zdrojů správa procesů a threadů 5

Limity DBMS 6

Limity DBMS Zvládnutí velkého množství dat Jednotky MB pro jednoduché systémy Desítky PB pro enterprise systémy Zvládnutí velkého množství uživatelů Desítky až stovky Internetový provoz Zvládnutí velkého množství dotazů OLTP aplikace (Online transaction processing) Desítky za vteřinu Zvládnutí dotazů vyžadujících velké množství dat DDS apliakce (Decision support systems) 7

Stabilita Imunita vůči chybám Uživatelů Aplikací Operačního systému Hardware Limity DBMS 8

Paralelní architektury Shared memory Shared disk P P M M M P P P M P P M P 9

Paralelní architektury Shared nothing NUMA M P P P M P P M P P P P M P P P M P M P P 10

Shared memory Procesory a disk mají přístup do společné paměti Vysoce efektivní komunikace mezi procesory data v paměti jsou přístupná všem procesorům Nejčastější HW obsahuje 2 nebo 4 procesory Procesory mohou obsahovat více jader Proces (core) obsluhuje jeden požadavek Parallel query rozdělení zpracování jednoho požadavku na více procesorů Maximálně 32 až 64 procesorů Úzké místo je komunikace s pamětí Oracle, Microsoft, Sybase, MySQL 11

Shared disk Všechny procesory komunikují s disky, data si ukládají ve vlastní paměti Vysoká míra dostupnosti výpadek procesoru může nahradit jiný procesor Úzké místo je komunikace s disky IBM Sysplex, DEC clusters s databází Rdb 12

Shared nothing Každý procesor má vlastní paměť i data Data jsou zpracovávána pouze příslušným procesorem nepředávají se mezi nody Nody spolu komunikují přes síť, předávají si požadavky a výsledky Architektura umožňuje rozšíření na tisíce nodů Teradata, Tandem, Oracle-n CUBE 13

NUMA Non-Uniform Memory Access Shared memory model použitý v clusteru s nezávislou pamětí Procesor má rychlý přístup do lokální paměti a pomalejší do paměti ostatních uzlů 14

Klient-server architektura Jeden server nabízí služby pro mnoho klientů Všichni klienti vidí jeden obraz dat Klienti si neudržují data Klienti předávají pouze příkazy Opakem jsou jednouživatelské databáze Microsoft Acces dbase 15

Distribuované transakce Požadavky klienta vyřizuje více serverů Požadavky (transakce) jsou koordinovány jedním transakčním koordinátorem Database link, proxy table Výkon je dán nejslabším místem 16

Životní cyklus uživatelského požadavku Navázání spojení s klientem Porozumění požadavku Optimalizace a vytvoření výpočtu Vlastní výpočet Předání výsledků 17

Navázání spojení s klientem Adresářové služby pro nalezení serveru Síťový listener Vytvoření procesu spravující klientské připojení Alokace struktur pro správu klientského připojení Síťová komunikace Prostor pro výsledky Lokální prostor pro výpočty 18

Porozumění požadavku Parser syntaktická analýza Mapování na objekty v databázi Shromáždění informací o použitých objektech Ověření práv Informace o struktuře Struktura tabulek Indexy Partitioning Umístění tabulek na discích Statistiky 19

Optimalizace a vytvoření výpočtu Optimalizátor Rule based optimalization Oracle do verze 10g OPTIMIZER_MODE=RULE Cost base optimalization Oracle 11 Microsoft Sybase Úprava dotazu Vnořený select Transakční uzávěr Boolean logic optimalization Join optimalization Special optimalization Parallel procesisng Přístupové metody k datům 20

Vlastní výpočet Asynchronní čtení dat Použití datových keší Execution engine Temporary space Query recompilation 21

Předání výsledků Datasety Definice Data Cursory Chyby Zprávy 22

Disky Dnes kapacita i více než 1TB Stále jenom cca 200 pohybů hlavičky za sekundu Čím více malých disků, tím lépe Disková pole Veliké keše Složitý operační systém Mirroring Striping Přenosová rychlost Disk - 100MB sec Diskové pole - SATA teoreticky 6GB/sec 23

Data write stack Datový server dá příkaz zápisu na disk Datový server > operační systém Operační systém > souborový systém Souborový systém > volume manager Volume manager > device driver Device driver > Host-Bus-Adapter Host-Bus-Adapter > Storage controler Storage controler > Disk Disk OS > medium Uložení dat na NAS pro zjednodušení pomineme 24

Konzistence dat Microsoft DBCC příkazy kontroly konzistence databáze Kontrola interních struktur, indexů SQL Server 2005 checksum protection Oracle HARD iniciative vypočet checksum pro zapsané bloky 25

Paměť Systémové struktury Nastavení Buffery pro třídění dat Buffery pro kód (java) Datové buffery Čtení z paměti je mnohonásobně rychlejší Požadovaná data se dají předpovědět na základě struktury uložení dat nebo dotazu Asynchronní načítání dat Načítání celých datových bloků Do bufferů se ukládají Často používaná data Naposledy použitá data Změněná data LRU algoritmus Buffer výsledků Globální buffery Lokální buffery 26

LRU algoritmus Hledání stránek hash table Žádné kopírování stránek Odstranění dirty page vysoce náročné Wash maker Unikátní přístup na stránku Spinlock 27

Procesy Procesy vykonávající požadavky klientů Podpůrné procesy Listener Správa diskových prostorů Checkoint process Sběr statistik Monitoring Backup procesy 28

Implementace procesů Procesy operačního systému Řízené operačním systémem Přepínání kontextu na úrovni operačního systému Každý proces vlastní má adresní prostor Thready operačního systému Jednotný adresní prostor Řízeno operačním systémem Vlastní řešení procesů Jeden proces, jednotlivé procesy jsou v něm implementovány interně Jednotný adresní prostor Kontrola nad správou procesů bez nutnosti zásahu OS nezávislost nad OS 29

Implementace procesů Procesy nebo thready v operačním systému mají větší náročnost při změně kontextu (provádí operační systém) Větší závislost na verzi operačním systému ladění parametrů na úrovni operačního systému Při použití vlastního řízení každá synchronní IO operace nebo volání jádra blokuje i ostatní procesy Každá chyba v software ovlivní i další procesy 30

Implementace transakčního logu Write-ahead log model Log transakce musí být zapsán na disk v okamžiku commit transakce Zajištění schopnosti zotavit se při pádu serveru Transakční log na úrovni databáze Záznamy transakčního logu Začátek a konec transakce U každé změny stav před a po změně Jakékoliv změny struktury databáze Alokace a dealokace datových stránek 31

Implementace transakčního logu Datové stránky se nezapisují okamžitě Checkpoint Uvolnění z datové keše Další důvody Recovery Projde se transakční log od posledního checkpointu Komitované transakce se opraví na cílový stav Zrušené transakce se opraví na stav před transakcí 32

Implementace transakčního logu Page 105 Page 106 Page 107 Page 108 Page109 Page 110 Min Log sequence Number Oldest open transaction End of Log Start of Log Last checkpoint Truncated pages 33

Kritická místa řešení Operační paměť a IO operace Pokud je jí málo, je vhodné použít malé IO operace Pokud rostou data, je velké množství malých operací limitující Operační paměť a počet klientů Pokud je klientů málo, je vhodné maximum informací držet ve vlastním prostoru klienta Pokud je klientů hodně, je nutné maximum informací držet v globálním prostoru serveru 34

Kritická místa architektury Operační paměť a rychlost procesoru 4.77 MHz (1981) 3.60 GHz (2009), více úrovní keší Pokud je procesor pomalý, je načtení z disku asi 20krát pomalejší než z paměti Dnes je přístup na disk 1000 dražší Vyplatí se udržovat data v paměti In-memory database 35

Kritická místa architektury Diskové operace a uložení dat Pokud mají být data zpracovány, musí projít procesorem Komprimace dat rychlejší přenos dat z disku do paměti, je náročnější na výkon procesoru Přenesení rozhodování o datech z procesoru na úroveň řadiče disků Požadavek na maximální paralelizaci diskového subsystému 36

Praktické příklady Oracle Sybase 37

Oracle history 1972 - Oracle 2, basic SQL, no transaction 1983 Version 3 - transaction 1984 Version 4 read- consistency 1985 Version 5 networking, client-server 1988 Version 6 PL/SQL, row level locking, hot backup 1992 Version 7 referencial integrity, triggers 1999 Version 8i java 2001 Version 9i XML, RAC 2003 Version 10 grid computing, flash back 2007 Version 11 - Exadata 38

39

Oracle Oddělený listener Procesy operačního systému Process Monitor Process (PMON) System Monitor Process (SMON) Database Writer Process (DBWn) Log Writer Process (LGWR) Checkpoint Process (CKPT) Manageability Monitor Processes (MMON and MMNL) Recoverer Process (RECO)SGA Diskové prostory Dataspaces User Systém Temp On-line redolog Archive redolog Flashback log 40

Oracle SGA Systém Global Area Database Buffer Cache Redo Log Buffer Shared Pool Large Pool Java Pool Streams Pool Fixed SGA PGA Program Global Area SQL Work area Sort, Hash, Bitmap merge Private SQL Area Session memory, Persitent area, Runtime Area 41

Engine Proces na procesoru User processes Queue Shared memory Stránky Datové, logu Keše Datové Kódu Serverové struktury Diskové prostory Data Transakční logy Sybase 42

43

SQL Server Database Engine object Limity databáze Bytes per short string column 8,000 Bytes per GROUP BY, ORDER BY 8,060 Bytes per index, foreign, primary key 900 Bytes per row 8 8,060 Bytes per varchar(max), varbinary(max), xml, text, or image column Columns in GROUP BY, ORDER BY Columns per index, foreign, primary key 16 Maximum sizes/numbers SQL Server (32-bit) 2^31-1 Columns per nonwide/wide table 1,024/30000 Columns per SELECT/INSERT statement 4096 Limited only by number of bytes Database size 524,272 terabytes Databases per instance of SQL Server 32,767 Foreign key table references per table 4 253 Identifier length (in characters) 128 Locks per instance of SQL Server 5 Up to 2,147,483,647 44

SQL Server Database Engine object Limity databáze Nested stored procedure levels 6 32 Nested subqueries 32 Nested trigger levels 32 Nonclustered indexes per table 999 Parameters per stored procedure 2,100 Parameters per user-defined function 2,100 REFERENCES per table 253 Rows per table Tables per database 3 Partitions per partitioned table or index 1,000 Tables per SELECT statement Triggers per table 3 Columns per UPDATE statement (Wide Tables) 4096 User connections 32,767 Maximum sizes/numbers SQL Server (32-bit) Limited by available storage Limited by number of objects in a database Limited only by available resources Limited by number of objects in a database 45

Další vývoj Specializovaný hardware (operační systém) In-memory database Specializované databáze Distribuované řešení claud databáze Ústup od ACID principů Uživatelská přívětivost - GUI Snadnost administrace 46

Doporučená literatura Joseph M Hellerstein, Michael Stonebraker, James Hamilton Architecture of a Database System (Foundations and Trends(R) in Databases) Now Publishers Inc (September 30, 2007) Oracle documentaion: Oracle Database Concepts Microsoft SQL server documentation: Planning and Architecture 47