Implementace dávkových operací



Podobné dokumenty
Komunikace systémů pomocí Hradec Králové

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

Semináˇr Java X J2EE Semináˇr Java X p.1/23

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

Zátěžové testy aplikací

Měření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce

Kapitola 13: Transakce. Koncept transakce. ACID vlastnosti

1. Webový server, instalace PHP a MySQL 13

Programování v jazyku C# II. 5.kapitola

Load Balancer. RNDr. Václav Petříček. Lukáš Hlůže Václav Nidrle Přemysl Volf Stanislav Živný

Allegro release ( do )

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

PALSTAT s.r.o. systémy řízení jakosti PALSTAT CAQ verze Výstupní kontrola 07.1/ Obsah

Paralelní programování

1 Webový server, instalace PHP a MySQL 13

Katalog školení QAD. Cena 4000 Kč/osoba/den, druhá a další z téže firmy 3000 Kč. Storno podmínky školení:

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

Manuál. k aplikaci WD FileAgent

SW Aktion verze 5.1. Seznam změn a nových funkcí

INISOFT UPDATE - SLUŽBA AUTOMATICKÝCH AKTUALIZACÍ Uživatelská příručka

ezkouška požadavky na IT

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

Zotavení z chyb. Databázové systémy

Michal Andrejčák, Seminář Energetika v průmyslu, Hotel Vista Dolní Morava, Možnosti monitorování a ovládání Zpracování dat z rozvoden

Bolesti a přínosy. Ing. J. Skorkovský, CSc. pro ESF MU

Odbor informatiky a provozu informačních technologií

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21

Novinky pro prodej vozů. Hana Dolejšová,

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

Popis logování v aplikačním serveru

Aplikace na čipových kartách

Knot DNS Resolver. Modulární rekurzivní resolver. Karel Slaný

Databázové a informační systémy Informační systém prodejny nábytku. Jakub Kamrla, KAM087

1 Uživatelská dokumentace

Společnost MEFISTO SOFTWARE, a.s. uvádí na trh nový produkt Mefisto CAMPUS.

ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE

Administrační systém ústředen MD-110

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

Pokladní systém PD 2002 v1.00 Servisní manuál

nástroj pro jednoduchou správu a vedení agendy studentských počítačových sítí na kolejích SU OPF Karviná Ing.

Allegro release 2.01 ( do )

vlastnosti Výsledkem sledování je: a) Využití aplikací b) Používání internetu c) Vytížení počítačů d) Operační systém e) Sledování tisků

PRODEJ Prodej je pochopitelně základní funkcí pokladního systému. Systému MERCATOR umožňuje prodej realizovat ve 3 režimech:

klíčová aktivita: Nastavení vnitřního řídícího a kontrolního systému na městském úřadě

Testovací protokol čipová karta ACOS5

SUPERPOČÍTAČE DANIEL LANGR ČVUT FIT / VZLÚ

Transakce a zamykání Jiří Tomeš

7.6 Další diagramy UML

přes webový prohlížeč pomocí Ing. Tomáš Petránek

Management sítí OSI management framework SNMP Komerční diagnostické nástroje Opensource diagnostické nástroje

OBJEDNÁVÁNÍ DÁRCŮ KRVE PŘES INTERNET Naděžda Kalužová, Zdeněk Slanina

Obsah. Předmluva KAPITOLA 1 Úvod do programu Microsoft Dynamics NAV KAPITOLA 2 Základy ovládání...33

Fides Software Storage Client

7.6 Další diagramy UML

ČÁST 1. Základy 32bitového programování ve Windows

PALSTAT s.r.o. systémy řízení jakosti PALSTAT CAQ verze Mezioperační kontrola 07.1/ Obsah

UAI/612 - Cloudová Řešení. Technologie

Klinický informační systém Porodní kniha - případová studie -

Systémová administrace portálu Liferay

Přizpůsobení Layoutu aplikace. Základní moduly a funkčnost aplikace

Internetový obchod ES Pohoda Web Revolution

WD FileAgent. Manuál

FRED & PostgreSQL. CZ.NIC, z.s.p.o. Jaromír Talíř <jaromir.talir@nic.cz>

Katalog školení QAD. Školení probíhají na adrese: Minerva ČR, Skálova 2490, Tábor začátek 9:00 hod do cca 16 hod

FIREBIRD relační databázový systém. Tomáš Svoboda

Konference economia - outsourcing

Reliance. Komunikační driver Johnson Controls verze 1.5.4

Testovací protokol USB Token Cryptomate

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:

SW podpora projektového řízení

Allegro release ( do )

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

Infrastruktura služby IBM PureApplication Service

Použití informačního systému Helios Orange Automatická kontrola spolehlivosti plátce DPH a registrovaného bankovního účtu

Centrální elektronické služby resortu životního prostředí. Jan Nepimach (CENIA, česká informační agentura životního prostředí)

spolehlivé partnerství

Prezentace CRMplus. Téma: CRMplus jako nástroj pro kontrolu a vyhodnocení rozpracovanosti dílů na zakázkách

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D.

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

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK

QAD CRM. Vladimír Bartoš. konzultant

Specifikace. Odevzdání do

IBM Master Data Management on Cloud

P R E Z E N T A C E Max Communicator 9

Softwarový projekt - Smrad

Paralení programování pro vícejádrové stroje s použitím OpenMP. B4B36PDV Paralelní a distribuované výpočty

Služba ve Windows. Služba (service) je program

Úvod. Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne.

Jalapeño: pekelně ostrá Java persistence v Caché. Daniel Kutáč Senior Sales Engineer

OPS Paralelní systémy, seznam pojmů, klasifikace

Struktura programu v době běhu

Katalog školení QAD. Školení probíhají na adrese: Minerva ČR, Skálova 2490, Tábor začátek 9:00 hod do cca 16 hod

Produktové informace. Sesam-e.

XENGO. nová definice mobility VIRTUÁLNÍ OBCHOD UŽIVATELSKÁ PŘÍRUČKA

E-NABÍDKA PARTNER.REDA.CZ

Příloha č. 2 ke smlouvě. Rozsah a podmínky provozní podpory

Bc. David Gešvindr MSP MCSA MCTS MCITP MCPD

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

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

Transkript:

Implementace dávkových operací Petr Steckovič 12. 5. 2011 Hradec Králové 1

Dávkové zpracování dat Procesy běžící na pozadí Spouštěné Časem Stavem (např. dochází místo) Ručně Obvykle se jedná o podpůrné funkce systému exspirace, mazání, archivace, zálohování, synchronizace, párování, generování reportů, výpočty, grupování, rozesílání emailů, vyhledávání, stahování, aktualizace 2

Specifika dávkových operací Zpracovávají velké množství dat Nezanedbatelná doba běhu Nezanedbatelná zátěž systému Krátkodobý výpadek obvykle nevadí Zanedbávají se při testování Zanedbává se logování / monitoring 3

Fáze dávkové operace Získání dat pro zpracování validace!!!! Vlastní zpracování Persistence zpracovaných dat 4

Úryvek ze specifikace.. pokud zákazník nepotvrdí platbu do 10 minut, pošle se do skladového systému příkaz ke zrušení rezervace zboží a po té se objednávka automaticky stornuje 5

Zadání pro programátora 6

Anketa Za jak dlouhou naprogramujete tuto funkcionalitu ve vašem frameworku? 7

Spouštění časem Implementace časovačem (Quartz, EJB Timer, JDK Timer) JavaEE5 velmi špatná podpora JavaEE6 Rozšíření o cyklické timery Daný čas / časový interval @Schedules, @Schedule Možnosti vytvořit programově 8

Problémy Spouštění do sebe - @Singleton Změna konfigurace za běhu @Schedule Pád časovače runtime výjimkou JavaEE5 časovače přeplánování Redelivery / Persistence Spuštění ihned po startu serveru Lokální / globální časovač přes cluster 9

Ruční spouštění Vhodné vždy i když není v zadání Dlouhotrvající operace = timeouty rozhraní Vhodná implementace start operace sledování běhu (alespoň běží-neběží) Pozor na vícenásobné spuštění interakce s timerem dvojité spuštění přes rozhraní 10

Načítání dat Vždy limitovat počet objektů, kterése načítají Pozor na výpočty vzniká 10 záznamů za minutu => nepotřebuji limit Problém načítacího okna validační chyba umět automaticky vyřadit záznam ze zpracování umožnit návrat záznamu do zpracování 11

Transakční schéma 1 BEGIN TRANS WHILE (moredataexists) { data<d> = load(1); x = process (data); store (x); } END TRANS 12

Transakční schéma 2 WHILE (moredataexists) { BEGIN TRANS data<d> = load(1); x = process (data); store (x); END TRANS } 13

Transakční schéma 3 WHILE (moredataexists) { BEGIN TRANS data<d> = load(max_items); END TRANS for (D d : data) { BEGIN TRANS x = process (d); store (x); END TRANS // commit interval? > 1 }} 14

Chybové stavy Permanentní - chyba nastává vždy znovu Dočasné - po zopakování nenastane Transakční / netransakční zdroje Řešení Restart při dočasné chybě Čítače špatných pokusů ( po n neúspěšných pokusech je to permanentní chyba) Při permanentní chybě vyřadit (záznam) z dalšího zpracování Netransakční zdroje jako poslední 15

Paralelní dávkové operace Některé operace se musí provést právě jednou Distribuce práce Mutex Partisioning Problém řídících příkazů v clusteru Abort musí zrušit všechny instance DO apod. 16

Mutex Mutex = vzájemné vyloučení Jednoduché Obvyklá implementace = DB zámky na úrovni typu dávkové operace Nevyužívá výkon všech strojů v clusteru V případě, že délka operace je srovnatelná s intervalem spuštění = jede pouze jeden Sklony k divergenci při přetížení 17

Partišnování Rozdělit data do disjunktních částí (např. where podmínkou) Není potřeba zámkování Problém statistické distribuce Nevázat natvrdo se strojem!!! (např. nodeid) Nedodržuje pořadí mezi partition 18

Zámkování jednotek práce Implementace rozděl a panuj Zámkování na úrovni záznamu Dynamické vytvoření partition (registrace partition) Problém statistické distribuce obvykle nevýznamný Lze dosáhnout velké úrovně paralelizmu paralelizmus na úrovni vláken paralelizmus na úrovni strojů 19

Implementace zámků Paměťové rychlé, nejsou vhodné do clusteru zámkování vláken na jednom stroji Databázové vhodné do clusteru,pomalejší!!! persistentní!!!! Expirace (expirace >> maximální doba běhu) Vlastní transakce, pesimistický přístup 20

Monitoring Vhodná technologie JMX / Web Čas posledního spuštění Čas příštího spuštění Status poslední operace (success / failed) Doba trvání výkonné operace Metriky zpracovaných dat Metody pro ruční řízení 21

Logování Log by měl obsahovat Začátek dávky (spuštěno ručně / timerem) Pro každý zpracovaný záznam primární klíč Délka zpracování pro každý záznam Při výjimka musí jednoznačně identifikovat záznam, který se nepovedl spolu s důvodem Konec dávky (statistiku) Celkový čas běhu Počet success / failed / (popřípadě počet vyřazených) 22

Vyhodnocení odhadů Komu se jeho původní odhad nezměnil?.. pokud zákazník nepotvrdí platbu do 10 minut, pošle se do skladového systému příkaz ke zrušení rezervace zboží a po té se objednávka automaticky stornuje 23

Implicitní požadavky aneb co ve specifikaci nebylo: Vždy mít možnost operaci vyřadit Vždy mít možnost operaci monitorovat Vždy mít možnost operaci přeplánovat Vždy mít možnost operaci ovládat 24

Q&A 25