Architektura DBMS. MI-DSP 2013/14 RNDr. Ondřej Zýka, ondrej.zyka@profinit.eu

Podobné dokumenty
Architektura DBMS. RNDr. Ondřej Zýka

Architektura DBMS. RNDr. Ondřej Zýka

Architektura DBMS. RNDr. Ondřej Zýka

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

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

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

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

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

Copyright 2012 EMC Corporation. All rights reserved.

Optimalizace dotazů a databázové transakce v Oracle

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

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

Monitoring SQL Server, Resource Governor, Tracing SQL Server

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

Maturitní otázky z předmětu PROGRAMOVÁNÍ

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

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

FLASH NOVÉ HRANICE DOSAŽITELNÉHO

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

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

Teradata Basic. RNDr. Ondřej Zýka

DataDomain pod drobnohledem

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

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

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

Diskové pole IBM Storwize V7000 Unified

Administrace Oracle - Správa zdrojů

BigData. Marek Sušický

Databázové systémy úvod

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

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

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

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

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

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

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

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Paralelní dotazy v PostgreSQL 9.6 (a 10.0)

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

Cloud Slovník pojmů. J. Vrzal, verze 0.9

Použití databází na Webu

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

Centralizace aplikací ve VZP

ReDefine Midrange Storage VNX/VNXe. Václav Šindelář, EMC

Procesy a vlákna (Processes and Threads)

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

Paměťový podsystém počítače

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

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

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

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

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

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

Sísyfos Systém evidence činností

Paralelní výpočty ve finančnictví

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

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

SSD vs. HDD / WAL, indexy a fsync

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

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

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

Najde si Software Defined Storage své místo na trhu?

Není cloud jako cloud, rozhodujte se podle bezpečnosti

Nimbus Data All Flash Systems

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

Virtualizace storage infrastruktury

MARIE PACS S PACSem hezky od podlahy když se data sypou!

Disková pole (RAID) 1

Realizace datového centra kraje Vysočina Regionální SAN kraje Vysočina

CHARAKTERISTIKA VEŘEJNÉ ZAKÁZKY

2.1 Obecné parametry Obecné parametry Rack serveru

Transakce a zamykání Jiří Tomeš

TECHNICKÁ SPECIFIKACE

Management procesu I Mgr. Josef Horálek

Vladimír

Systém adresace paměti

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

<Insert Picture Here> Software, Hardware, Complete

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

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

Výkonnostní archeologie

CSPUG 2011-květen. GridSQL a pg-pool II. Vratislav Beneš benes@optisolutions.cz

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

Úvod do počítačových sítí

Disková pole (RAID) 1

Osobní počítač. Zpracoval: ict Aktualizace:

Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Business Intelligence

Architektura DBMS Profinit. All rights reserved.

4. lekce Přístup k databázi z vyššího programovacího jazyka

TimescaleDB. Pavel Stěhule 2018

Architektury Informačních systémů. Jaroslav Žáček

Jaké zvolit Softwarově definované datové úložiště?

Hardware. Příklad převodu čísla: =1*32+0*16+0*8+1*4+0*2+1*1= Převod z dvojkové na desítkovou Sčítání ve dvojkové soustavě

Virtuální učebna: VMware VDI zefektivňuje výuku, zjednodušuje správu a snižuje náklady

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

IBM Tivoli Storage FlashCopy Manager (FCM)

Virtualizace. Lukáš Krahulec, KRA556

Transkript:

Architektura DBMS MI-DSP 2013/14 RNDr. Ondřej Zýka, ondrej.zyka@profinit.eu

Obsah o Cíle a úkoly DBMS o Zdroje DBMS o Limity DBMS o Paralelní architektury o Životní cyklus uživatelského požadavku o Disky, paměť, procesy o Příklady architektury

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

Zdroje DBMS o Datové prostory Disky Disková pole SAN - Storage area network NAS - Network-attached storage SDD disky o Paměť RAM Virtual memory SDD disky o Procesory Univerzální procesory Specializované procesory (Nettezza FPGA)

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

Kompromisy DBMS

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

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

Disky o 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 o Disková pole Veliké keše Složitý operační systém Mirroring Striping o Přenosová rychlost Disk - 100MB sec Diskové pole - SATA teoreticky 6GB/sec

Banchmark Microsoft SQL server 2008 R2 o 2 sokety o 12 jader o 3 8Gbps dual-port HBA cards, o 12 4-disk RAID1+0 primary data LUN o Více viz Microsoft. Fast Track Data Warehouse 3.0 Reference Guide Published: 4 February 2011

SSD disky SSD disk Disk Přístupová doba (random access) 0,1 ms 5-10 ms Přenosová rychlost 100-500 MB/s 100 MB/s Cena (2011) 1-2 $/GB 0.05-0.1 $/GB Kapacita (2011) 256GB (2TB) 4TB o Uložení dat o Datové keše

Data write stack o 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 o Uložení dat na NAS pro zjednodušení pomineme

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

Paměť o o o o o 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

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

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

Implementace procesů o 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í adresní prostor o Thready operačního systému Jednotný adresní prostor Řízeno operačním systémem o 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

Implementace procesů o 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) o Větší závislost na verzi operačním systému ladění parametrů na úrovni operačního systému o Při použití vlastního řízení každá synchronní IO operace nebo volání jádra blokuje i ostatní procesy o Každá chyba v software ovlivní i další procesy

Implementace transakčního logu o 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 o Transakční log na úrovni databáze o 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 Historická data

Implementace transakčního logu o Datové stránky se nezapisují okamžitě Checkpoint Uvolnění z datové keše Další důvody o 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í

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

Kritická místa architektury o 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í o 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

Kritická místa architektury o Operační paměť a rychlost procesoru 4.77 MHz (1981) 3.60 GHz (2009), více úrovní keší Pomalý procesor 1I/O operace odpovídá zpracování 20 stránek v paměti Rychlý procesor přístup na disk 1000-krát dražší Vyplatí se udržovat data v paměti In-memory database

Kritická místa architektury o 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

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

Paralelní architektury o Shared nothing M P M P M P

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

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

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

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

Klient server o Centralizace Modelu Dat Byznys logiky funkcionality Integrity - ověřování dat Ověření dat na klientovi Duplikace ověření Bezpečnostních pravidel Autentizace na úrovni server - aplikace Autorizace na úrovni aplikace Role na úrovni serveru Nasazení změn Nutnost podporovat více verzí klientů

Distribuce logiky o Tlustý klient o Tenký klient o Klient-server o Třívrstvá architektura o MVC Model View Controler http://en.wikipedia.org/wiki/file:mvc-process.png

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

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

Navázání spojení s klientem o Klientský software o Informace o uživateli identifikace, časové pásmo, kódová stránka o Vytvoření klientského procesu o Adresářové služby pro nalezení serveru o Síťový listener o Navázání spojení o Vytvoření procesu spravující klientské připojení o Alokace struktur pro správu klientského připojení Síťová komunikace Prostor pro výsledky Lokální prostor pro výpočty Prostor pro uživatelská data

Porozumění požadavku o Parser syntaktická analýza o Mapování na objekty v databázi o 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

Vytvoření algoritmu výpočtu o Sémantická analýza o Identifikace požadovaných konstruktů o Vytvoření algoritmu výpočtu o Úpravy na základě schopností výpočetního engine In klauzule OR strategie o Optimalizace na základě sémantiky Transakční uzávěr Datové konstanty Boolean logic optimalization Vnořený select - join

Optimalizace o Optimalizátor Rule based optimalization Oracle do verze 10g OPTIMIZER_MODE=RULE Cost base optimalization Oracle 11 Microsoft Sybase o Úprava dotazu o Join optimalization o Special optimalization o Parallel procesisng o Přístupové metody k datům

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

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

Příklady o Oracle o Sybase

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

Oracle o Oddělený listener o 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) o Diskové prostory Dataspaces User Systém Temp On-line redolog Archive redolog Flashback log

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

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

Limity databází SQL Server Database Engine object 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 2^31-1 Maximum sizes/numbers SQL Server (32- bit) Columns in GROUP BY, ORDER BY Limited only by number of bytes Columns per index, foreign, primary key 16 Columns per nonwide/wide table 1,024/30000 Columns per SELECT/INSERT statement 4096 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

Limity databází SQL Server Database Engine object 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

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

Co si zapamatovat o Které zdroje HW a OS využívají databázové systémy o Jak pracuje datová keš typu LRU o Co to je write-ahead log model a k čemu slouží o Rozdíly mezi shared memory a shared nothing architekturou o Které všechny služby centralizuje architektura Klient-server o Jaké jsou základní kroky životního cyklu dotazu o Jak probíhá navázání spojení mezi serverem a klientem

www.profinit.eu Diskuse