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

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

TimescaleDB. Pavel Stěhule 2018

Zápisování dat do databáze

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

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

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

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

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ů

SQL - trigger, Databázové modelování

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

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

INDEXY JSOU GRUNT. Pavel Stěhule

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

cstore_fdw column store pro PostgreSQL Prague PostgreSQL Developer Day 2015 Jan Holčapek

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

Migrace CIDUG. Ing. Pavel Krutina

PostgreSQL. Podpora dědičnosti Rozšiřitelnost vlastní datové typy. Univerzální nasazení ve vědecké sféře

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

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

ZÁLOHA A OBNOVA ABRA GEN

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

Audit DB. Referát. Vypracoval: Zdeněk Doležal MFF UK Praha 11/5/06

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

Průvodce převodem dat z programu Medicus 2 do programu Medicus Komfort

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

Použití databází na Webu

PG 9.5 novinky ve vývoji aplikací

Monitoring výkonu PostgreSQL

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

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

DATABÁZOVÉ A INFORMAČNÍ SYSTÉMY

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

Informační systémy 2008/2009. Radim Farana. Obsah. Základní principy XML

Oracle XML DB. Tomáš Nykodým

Administrace Oracle. Práva a role, audit

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

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

Optimalizace dotazů a databázové transakce v Oracle

Tabulka fotbalové ligy

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Práce s datumem a časem v PostgreSQL. Pavel Stěhule P2D2 2019

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

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

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

MS Excel makra a VBA

[Zadejte název společnosti.] Instalace. SOFTWARE 5P pro správu bytového fondu Oldřich Florian

PostgreSQL jako platforma pro datové sklady

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

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

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

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

Verzování a publikace dat na webu za pomoci PostgreSQL

13. blok Práce s XML dokumenty v databázi Oracle

Macromedia Flash 8. Druhy animace: Snímek po snímku. F5 vložit snímek (insert frame) F6 vložit klíčový snímek (insert key frame)

ZÁLOHA A OBNOVA ABRA GEN

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

Operátory ROLLUP a CUBE

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS

Databázové systémy a SQL

Obsah. 1.1 Práce se záznamy Stránka Dnes Kontakt se zákazníkem... 5

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

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

Nastavení propojení s eshopem

PHP a Large Objecty v PostgreSQL

6K ÚČETNICTVÍ pro AŠSK. METODICKÝ ZPRAVODAJ č.9 pro hospodáře AŠSK ČR. Změny pro rok 2016

Databázové systémy a SQL

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

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA HORNICKO GEOLOGICKÁ FAKULTA INSTITUT GEOINFORMATIKY. Prostorové databáze

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

Databázové systémy úvod

17. července :51 z moravec@yahoo.com

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

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Uložené procedury Úvod ulehčit správu zabezpečení rychleji

Instalace. Návod na instalaci a licencování ESI[tronic] Spuštění instalace z DVD ESI[tronic] 2.0 DVD 1 - soubor Setup.exe. 4.

Jazyk SQL 3 - DML, DDL, TCL, DCL

Semestrální práce z DAS2 a WWW

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

Základní popis Toolboxu MPSV nástroje

Informační systémy 2008/2009. Radim Farana. Obsah. Skripty a dávky. Nastavení aktuální databáze. USE DatabaseName

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

SOFTWARE 5P. Instalace. SOFTWARE 5P pro advokátní praxi Oldřich Florian

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

Synchronizace kontaktů z ESO9 do MS Outlook

Text úlohy. Systémový katalog (DICTIONARY):

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

Měřící systém se vzdáleným přístupem. Databáze

NOVÁ STROMOVÁ STRUKTURA VE VÝROBĚ

Popis souboru pro generování reportů *.report

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

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

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

3 Makra Příklad 4 Access Ve vytvořené databázi potřebuje sekretářka společnosti Naše zahrada zautomatizovat některé úkony pomocí maker.

Práva a role. Martin Polák. NDBI013 Administrace Oracle

Export dat Evidence smluv (KEO ---> KEO-X)

Databázové systémy I

Datové modelování II

Virtual private database. Antonín Steinhauser

Transkript:

Jak ušetřit místo a zároveň mít data snadno dostupná David Turoň david.turon@linuxbox.cz 16.2.2017

Proč: šetří místo na disku automatické mazání starých nepotřebných dat nad staršími daty rychlejší čtení/agregace i nad pomalejšími disky Využívá moduly: pg_partman (automatický partitioning) cstore_fdw (přístup k sloupcovému úložišti CSTORE) Odkazy: https://github.com/keithf4/pg_partman https://github.com/citusdata/cstore_fdw https://github.com/dturon/partman_to_cstore 2

Kde je možno ji použít: tabulka s rotacemi (sloupec timestamp/timestamptz) senzorová data log událostí starší data beze změn (UPDATE/DELETE) ve většině případů bez zásahu v aplikaci 3

Architektura Postgres pg_partman 2017-02-16 Aplikace Hlavní tabulka 2017-02-15 CRON skript partman_to_cstore_fn() CRON CSTORE 2017-02-14 2017-02-13 4

Volby převzaté z CSTORE: compression - komprese pglz/vypnuta stripe_row_count block_row_count Volby: move_int (přesuň do CSTORE tabulky starší než x days ::interval) drop_int (odstraň - -) 5

Vlastnosti: konfigurační tabulka move_config přesun pomocí cron skriptu (nejlépe mimo prac. dobu) vytvoří se kopie tabulky table_pyyyymmdd jako table_pyyyymmdd_cstore převedou se data, práva, omezení nastaví se dědičnost z hlavní tabulky odstraní se zdrojová tabulka table_pyyyymmdd nekopírují se triggery pozor na zálohy - pg_dump nekopíruje data z FDW tabulek (COPY/pg_dump před přesunem tabulky) pozor na upgrade (dump/copy jinak změna OID v cestách k CSTORE) 6

Cron skript: 1x denně projde všechny databáze v databázích kde je nainstalovaná extenze partman_to_cstore na základě konfigurační tabulky spustí funkci pro přesun dat do CSTORE možno upravit dle libosti 7

DEMO 8

CREATE SCHEMA demo; -- modul pg_partman CREATE SCHEMA partman; CREATE EXTENSION pg_partman WITH SCHEMA partman; -- modul pro přístup k CSTORE CREATE EXTENSION cstore_fdw; -- modul pro automatický převod partitions do CSTORE CREATE SCHEMA partman_to_cstore; CREATE EXTENSION partman_to_cstore WITH SCHEMA partman_to_cstore; CREATE TABLE demo.test( ts timestamptz PRIMARY KEY, some_data text, magic_number int ); --naplníme daty INSERT INTO demo.test SELECT ts, repeat(ts::text,10), random()*100 FROM generate_series(now()-'5d'::interval,now(),'0.1s'::interval) AS x(ts); 9

--vytvoříme partitions SELECT * FROM partman.create_parent( p_parent_table:='demo.test', p_control:='ts', p_type:='time', p_interval:='daily', p_premake:=4, p_use_run_maintenance:=null::boolean, p_inherit_fk:=true, p_jobmon:=false, p_debug:=false ); -- přesuneme data do partitions SELECT partman.partition_data_time('demo.test',p_batch_count:=1,p_batch_interval:='1day'); \watch -- uložení nastavení migrace do CSTORE v konfigurační tabulce (pro cron skript) INSERT INTO partman_to_cstore.move_config(parent_table, move_int, drop_int) VALUES('demo.test','2days','15days'); --manuální spuštění přesunu (SET client_min_messages TO debug;) SELECT partman_to_cstore.part_to_cstore(p_parent_table:='demo.test', move_int:='2days', drop_int:='15days'); 10

--data v CSTORE EXPLAIN --(ANALYZE, BUFFERS) SELECT sum(magic_number) FROM demo.test WHERE ts>='2017-02-12' AND ts<'2017-02-13'; --data v PG EXPLAIN --(ANALYZE, BUFFERS) SELECT sum(magic_number) FROM demo.test WHERE ts>='2017-02-15' AND ts<'2017-02-16'; 11

Pro účely převedení libovolné partition(nemusí být spravovaná pg_partmanem) do CSTORE je vytvořena funkce: SELECT partman_to_cstore.move_singlepart_to_cstore( 'part_schema', 'part_table' ); -- měli jsme někde vlastní partitioning a nezávislá funkce se nám hodila 12

Dotazy? 13

Děkuji za pozornost a ať Vám chutná 14