0:00:15takže dobrý den je mě slyšet
0:00:19výborně
0:00:20push tady bylo změnovému se to máš ondra pracuje společnosti data
0:00:25kde budeme vlastně
0:00:28ku byznys intelligence platformu kde velkou část
0:00:33moc ne
0:00:34těch výpočtů a tak dále děláme o stresu takže proto
0:00:38tady budu mluvit o stresu kromě toho se podílel nějakým způsobem
0:00:43na vývoj postgres u
0:00:45posílal patch a podobně
0:00:48potil se na organizaci konferencí evropské chci českej
0:00:53a pokud byste měli jako taky dotaz který se to týká
0:00:58a když práce fu data nebo
0:01:01interakce s komunitou tak klidně se na mě obraťte
0:01:08to je ta přednáška je primárně o novinkách ve verzi byly čtyři která by měla
0:01:13s nevím během každý
0:01:15několika málo dní
0:01:17maximálně řekněme měsíce bych tak očekával
0:01:21s toho důvodu vlastně čerpáte řízení zdrojů počínaje který sou dvě čtyřky který sou že
0:01:29s dostupný na internetu
0:01:33před pár článků pavlas ty vole
0:01:35kterýho možná taky znáte je to vlastně současnej kolega zvu data
0:01:40a takový store český pozdě se call komunity
0:01:44ten článek vyšel z květnu dva tisíce patnác takže sou tam některý jako na aktuální
0:01:49informace na který upozorněn
0:01:53a současně čerpá z nebo ta moje přednáška čerpá
0:01:58z prezentace kterou měl matný zaveden trest že prezident evropský
0:02:04je ze grupy postgres u
0:02:07na evropských konference
0:02:09já jsem si na evropský konferenci která se konala
0:02:13čtrnáct dní zpátky tak bylo spousta přednášek o těch novejch featurách který sou vlastně dycky
0:02:19pro tu komunitou nejzajímavější
0:02:22takže ty přednášky jsou dostupný většinou na věky
0:02:26ta holka se nula
0:02:28no když jsem se zmínil o ty evropský von francie tak
0:02:32netradičně brzo byla znamená
0:02:34vlastně lokace toho dalšího
0:02:38tu
0:02:39co šije velmi blízko vlastně za rohem
0:02:41vídeň
0:02:43takže pokud vás zaujímá
0:02:46znamená postgres nebo
0:02:48vy ste se chtěli zúčastnit velmi příjemný akce tak si dejte do kalendáře dvacátýho sedmýho
0:02:55až třicátýho října
0:02:57na příští rok
0:03:00kdyby jako je to pro vás bylo to moc daleko nebo ste měli problém s
0:03:03jazykem
0:03:04protože všechny ty přednášky tam by wifi dyšně tak vlastně za
0:03:11krásný
0:03:13se koná české mít a
0:03:17český lze dupy
0:03:19tradičně
0:03:21o s tím cestu bliká vpravo ze takže pokud razíte
0:03:25bude to velmi levná se rádi tam uvidíme začínat osumnáct třicet ale na začátku je
0:03:32nějaký organizační povídání který se týká se resp kubu takže dyž zobrazíte pozdějc tak určitě
0:03:39pivo jako nebude eště vyčerpaný
0:03:41a můžeme se tam popovídat o
0:03:43postgres
0:03:45tak
0:03:49s je sestavena ty předchozí přednášce kromě honza horách tak já bych si dovolil jednu
0:03:55drobnou opravu tam bylo opakovaně zmiňoval můžem meinl verze vychází
0:04:02po roce a tak dál jako
0:04:05to vychází tak jo trošku je to zmatený ho verzováním postgres úterý to dělá jako
0:04:10jinak
0:04:11protože tam se za miner verzi označuje než ta poslední tak devět tři pět pojem
0:04:16a jiné verze a ty vychází zhruba co měsíc nebo dva měsíce podle toho jak
0:04:22se opraví barvy a podobně
0:04:24to co vychází po roce
0:04:26tomu se říká major verze pauzu ty první dvě čísla
0:04:30takže aktuální major verze je devět tři
0:04:35a to první číslo
0:04:36se zvyšuje jenom kdyžtak objeví nějaká super bomba featura na kterou všichni čekáme
0:04:42no takže prostě dyž se objevila replikace zabudovaná postgres u
0:04:47vstoupil se řeklo nýbrž to nebude osum pět ale bude to devět nula
0:04:52to až se objeví další super bomba
0:04:55ta příšera na kterou všichni čekáme
0:04:58multimaster aplikace barvy partition i o cokoliv tam prostě bude prvního
0:05:03tak se tomu
0:05:04povýším na deset nula
0:05:08tak
0:05:09hele bysme asi trošku sjednotili se v neděli názvosloví
0:05:15co se týká trade věštecké což je ta verze natolik to všichni čekáme
0:05:19akorát to já doufám že vy
0:05:22tak
0:05:24tam je kousek oříznu tajidle tam je dvojka lidské na začátku samozřejmě
0:05:29a
0:05:30to začalo ten vývoj začali by zhruba
0:05:32v červnu
0:05:33dva tisíce předáci jsem oprašovala devět tolika
0:05:37začalo se pracoval jako na releasů na beta verzích a podobně
0:05:41no
0:05:41pak probíhá něco čemu se říká komise si to že takový jako
0:05:46hurá akce kdy se vezmou peče který se pošlu
0:05:49do
0:05:49konference
0:05:52ale tam se dělat review začal se to fixovat
0:05:55začne se
0:05:57to komentovat do databáze nebo do repozitář a podobně
0:06:03ty probereš dva čtyři
0:06:05každý ten komické stereo dvouměsíční plus mínus
0:06:09no a to probíhalo až někdy do ledna do
0:06:12dobu na
0:06:13dva tisíce čtrnáct jsou další čistý s
0:06:16řekl osa
0:06:17tydle verzi
0:06:18provoz tomhle stavu jak to je ty featury který se tam dostali tak budoucí devět
0:06:23čtyřce a budem jenom fixovat bagy který objevíme během beta verzi
0:06:28ty betaverze byly tři
0:06:30ta třetí nebyla myslim deklarovaná ale girls nějakej problém co
0:06:35von implementaci toho nových ho datovýho
0:06:38typu že jsem od že jsem ví
0:06:42takže toto trošku pozdrželo a ta poslední betaverze vyšla
0:06:48na začátku října
0:06:50antikleri v listopadu se očekává vydání
0:06:55tý finální verze
0:06:58tak takže uzavře tak si tudle chvíli vlastně aktuální beta trojka pokud máte aplikaci nebo
0:07:04pokud máte dost nějaký
0:07:08nástroj který pracujou s postgres řekl tak je to ideální způsob jak to otestovat praxi
0:07:14jednak sylvestre to působí aplikaci
0:07:16z hlediska kompatibility ale tam bych jako neočekával
0:07:20nějaký problémy spíš jako je setřást postgres u nějaký featury ne byla zavlečena chyba která
0:07:27se no neobjevil vtom dosavadním testování
0:07:30a když automatizovaný nebo uživatelském
0:07:33tak trocha statistiky
0:07:36bylo změnil jejich já ti dva tisíce dvě stě dvacet dva souborů
0:07:41sto třicet
0:07:42tisíc nový řádek
0:07:44šedesát tisíc řádek zhruba bylo vymazanejch
0:07:47tohle to je zase statistika stará
0:07:49taky dva měsíce
0:07:51a
0:07:53ty fixy který se posílal ještě do tý beta trojky tam teda jako nejsou
0:07:58je to o trošku míň dyž devět tolika a
0:08:02jako
0:08:03bukem si to všichni víme
0:08:05ne lines of dvou je super
0:08:06jako metrika podle kterých se dá velmi spolehlivě měřit produktivita
0:08:10tu ta týmu takže
0:08:13to je celkem jedno
0:08:15se podíváte na ňákej
0:08:18a ho
0:08:19jak se tomu původně menovalo
0:08:21dneska se to přejmenovalo na openhub se
0:08:23dále kolik let eště měl
0:08:25tak tam je vidět že tě keksů je zhruba za posledních pět let
0:08:29plus mínus stejně takže ta aktivita ta komunita jako funguje velice slušně
0:08:33a víceméně
0:08:37to sem se pošle za nový featury
0:08:38to se dá koupit no
0:08:41tak
0:08:44co se týká ty vlastnosti taky hrozně moc tedy dyž přepnu na chvilku
0:08:50do waylandu rostu do
0:08:52jsou který sou ty dost nám chybí kousek nějakýho důvodu
0:08:57no a
0:08:59když bude prosperovat dle to sou všechno
0:09:01nový featury a nebo opravy nebo vylepšení a tak dál takže není šance
0:09:07tady během pět a štyryceti minut
0:09:10všechno projde to je do detailů takže já jsem si vybral to co se myslím
0:09:13že nejzajímavější
0:09:14rozjel jsem to tady nějakej čtyř kategorií
0:09:18vývojářský s vlastnosti jsou ty první samé podívejme
0:09:23tak první co se vám jako vylepšilo tak sou různý
0:09:27věci ohledně agregační funkce
0:09:30a
0:09:34zde trojice směr do ty dvě čtyřky když ste chtěli dělat podmíněný součty nebo podmíněný
0:09:41agregace teďka mám tady prostě sumou
0:09:46tady tabulku splátka má
0:09:48a zajímá mě prostě
0:09:51suma lidí který jsou pod pětadvacet let suma platů který jsou na pětadvacet let
0:09:57tak ste museli desetkrát nějaký takovýdle podmíněný casy
0:10:01zanoření a ve chvíli kdy ty podmínky byly složitý tak jako
0:10:07sláva
0:10:09to co je devět čtyřce tak je
0:10:12zpocené jako jednoduchej
0:10:15formát
0:10:16dva se tu podmínku píšete
0:10:18do klauzule filtr
0:10:20a mělo by to bejt jako rychlejší to není to jenom jako
0:10:25pro zvýšení
0:10:26čitelnosti toho kódu
0:10:28ale výkon
0:10:31no takže
0:10:32velice užitečný tam je který dělaj jako analytický aplikace který dělaj právě spoustu validaci tohodle
0:10:38typu
0:10:39tak se to nemůže vynachválit
0:10:43druhá věc je
0:10:46liberce tady de s znamená agregační funkce který pracujou na setříděny vstupu
0:10:53no
0:10:54u spousty aplikací novou spousty agregaci to jako nedává smysl no tak když máte sumu
0:11:01takže ten první zvýrazněny případ tak vy si teda můžete napsat takové podrbané se a
0:11:07vono vám to sečte to béčko ale ten s to setříděně a to nemá jako
0:11:11žádnej vliv že to prostě
0:11:13je pěkný že to umíme
0:11:16k ničemu to moc není
0:11:18kde to dává větší smysl také agregace
0:11:21typu
0:11:25se změny to do pole jahod to prvky tak tam už jako na tom pořadí
0:11:29může nějakým sme s jakým stylem záležet
0:11:33to je ten druhý případ
0:11:35nicméně tohle to prostě neni toto je něco co sme měli jako dycky i před
0:11:39tou devět čtyřkou to tohleto nejsou rubrice tady věc
0:11:43jsou standardní agregační funkce kterým prostě
0:11:46já to setřídí ten
0:11:47pak ten sloupec se zahodíte a pošlete tomu jenom
0:11:52ten sloupec ve
0:11:53setříděné je podle toho c
0:11:56před jako
0:11:58je celkem pochopitelný
0:12:01no předělejte od srdce tady věc to je situace kdy
0:12:06a
0:12:08třeba delším funkce který jinak než nesetříděném vstupů si nedávaj smysl
0:12:14když potřebujete spočítat třeba percentil
0:12:17typicky media
0:12:19tak potřebujete ten s tou před řídit
0:12:21a
0:12:22teprve poté slovo můžete vzít prostřední prvek že takže to je ten medián
0:12:28nula
0:12:29to je přesně to co dělejte porce tady věc
0:12:31který dostává jednak nějakej příjmy a kde přímej
0:12:35parametr začátek nula celá pět protože chci media
0:12:40jo
0:12:41a potom dostávají nějakou
0:12:46setříděnou
0:12:48setříděny
0:12:49sloupec nebo setřídění hodnoty toho bene
0:12:54podle mne
0:12:56tady s tomhletom případě jako je chtěl se to liší je že to béčko se
0:13:00nezahojí se to setřídí podle toho b
0:13:03a pak se to ty hodnoty pošlu
0:13:05do
0:13:06redakční funkce
0:13:08sami nebo
0:13:10pracuje věc indukcím na v rámci té grupy
0:13:13jaké to teda sekané
0:13:16podle toho a takže
0:13:20co umí postgres jako takový
0:13:22tohle to samozřejmě prosím vás součástí standa porsche jo
0:13:26to co je to trošku proprietární rozšíření postgres u je že je tam můžete těch
0:13:33těch hodnot
0:13:36poslat víc tomhle případě
0:13:38tam můžete poslat prostě
0:13:40tři hodnoty třeba
0:13:41a vám to spočítá kvartily
0:13:44stě hodnotu znamená
0:13:47první čtvrtinu polovinu
0:13:50tři čtvrtě
0:13:52kvapil
0:13:53a
0:13:54šetří to
0:13:55paměť je to výkonnější protože se ty hodnoty nemusí schraňoval několika kopií
0:14:03no
0:14:04máte tam nějaký dotazy
0:14:06jako
0:14:07když sem to nedočet dokumentace jak jsem řekl prostě musel číst asi pětkrát než jako
0:14:11došlo je tak to funguje
0:14:13no
0:14:14těch radši funkcí
0:14:17který tam sou
0:14:19tak je
0:14:21a taky několik je tam percentil diskrétní nebo prostě
0:14:27souvisle jedna
0:14:28průměrovaly a podobně
0:14:31a
0:14:32dají se vám dopisovat samozřejmě jak je dobrým zvykem s postgres uvede tar šiřitelný o
0:14:37uživatelský
0:14:39funkce
0:14:42tak
0:14:43to co je to asi nikdo to nečeká tak jsou hypotetický radiačním funkce
0:14:49no
0:14:53co proti rozumět
0:14:55je tam pošlete hodnotu
0:14:58a dva to řekne na jakou pozici
0:15:01vtom setříděný slovu by se to zařadil
0:15:04takže prospěšná nějaký stringy
0:15:09to je ta ho ty ten sloupec ve
0:15:11jsou stringy
0:15:13a vy tam pošlete nějakej string tak vám to řekne
0:15:16to by se zařadilo na pozici sto padesát osum
0:15:20no
0:15:22cože celá ten
0:15:24případně ten sen k
0:15:26nebo na jakou pozici procentuálně mezi nula jedna
0:15:31kam to spadne což jako výhodný pokud potřebujete dělat zase nějakou analytiků typu kolik procent
0:15:38zaměstnanců má plat vyšší neřeš tak osm nějakých hodnot
0:15:44samozřejmě to můžete udělat samostatným a dotazem a ale tohle to je jako efektivnější
0:15:51do jistý míry se to podobá
0:15:54do jistý míry se to podobá analytickým funkcí jako
0:15:58pokud znát anglický funkce tak
0:16:01funkce jako rank
0:16:03jensen k podobně
0:16:04tak vám musí jako přívod se
0:16:07povědomí
0:16:08akorát že tomhletom případě se to jako počítá v rámci tý tlupy která je daná
0:16:13tou klauzulí dubaje
0:16:15toho celýho dotaz
0:16:22veš nějaký další je menší vylepšení ty frekvenční funkcí
0:16:28tomhle případě se to týká
0:16:30příkazu explain
0:16:32kterej doplňuje vlastně explicitně
0:16:35výstup
0:16:38těch ho v těch soudců podle kterých se du pojem
0:16:41takže byste měli a ty složitější dotazy by byla po těch agregací několik třeba potřeboval
0:16:46podobně
0:16:48takhle
0:16:48ne úplně jednoduchý dycky zjistit krát a agregace která
0:16:52vtom výstupu next time
0:16:58no
0:17:07předchozí přednášce vlastně tom měl honza horách takhle taky změny
0:17:11automaticky aktualizovatelný pohledy a
0:17:15předpokládám že všichni víme že otce pohled jste jaké alias pro skládal dotaz
0:17:22situaci kdy ten dotaz je dostatečně jednoduchej tak vlastně jde propagovat změny když uděláte update
0:17:31toho view takto jde zpropagovat na ty tabulky pak ti
0:17:35co
0:17:36co znamená dostatečně jednoduchej
0:17:39tomhle kontextu znamená že tam jedna tabulka vtom from listu si že dycky jednoznačný která
0:17:45ta tabulka se má updatovat a jak nejsou tam nějaký joiny který tak strašně komplikujou
0:17:51nesmí tam bejt samozřejmě žádný agregace prostě kdybych jako potom aby to ten
0:17:56pohled tak asi nevim na který
0:17:58ty řádky to mám jak zpropagovat
0:18:01a to co bylo ještě před devět čtyřkou
0:18:05tak to znamenalo že tam musí bejt pouze jednoduchý odkazy na sloupce tabulky ztratili vy
0:18:09ste tam udělali
0:18:10místo přímo jednoduchýho sloupce nějakou prostě část formátovací funkci
0:18:15nebo ste vy sloupce nějak třeba
0:18:17spojili dohromady
0:18:19jako řetězce a podobně tak tu chvíli jako to přestalo fungovat
0:18:23může
0:18:24postgres nevěděla to jako přeložit
0:18:27na ten update
0:18:28to dneska neplatí
0:18:31tyhlety sloupce nejsou aktualizovatelný ale všechno ostatní aktualizovat můžete
0:18:38druhá věc bylo že tam nesmí by to
0:18:41žádný funkce nebo žádný ty podmínky
0:18:44označeny jako security barier
0:18:47co
0:18:49to tady nebudu vysvětlovat ale znamená toto
0:18:53je ochrana proti leakování informací z toho view
0:18:57který ty pohledy se vlastně používají
0:19:00jak to nějaká vrstva
0:19:02omezení přístupu k těm tabulkám na úrovni řádek prostě řeknu tenleten uživatel smí vidět jenom
0:19:09řádky který máj prostě jiné oddělení
0:19:13toho k do kterýho on patří
0:19:18to s tím souvisí byl ještě ste to ještě není úplně dotažený dokonce ale do
0:19:23devět pětky
0:19:24která se aktuálně vyvíjí uši je commitnutý něco čemu se říká row level security který
0:19:29právě ten přístup na úrovni řádek
0:19:33umožňuje řídit
0:19:39no
0:19:39co se samozřejmě může stát
0:19:41tak je že když já budu takle vydefinovanej pohled to znamená budu tam mít to
0:19:47nějakej sloupec pár sloupců a budu tam mít ve id oddělení
0:19:53je deset nebo dvacet tak se může stát že až to updatnu
0:19:58tak ten řádek
0:20:01řádek pistole to vyskočí toho prostě já udělám update
0:20:06aby toho řádku na třicet
0:20:09a pak už ten uživatel nikdy ten řádek neuvidí jo přes tenhleten pohled to nevyhovuje
0:20:15tý podmínce
0:20:17no
0:20:18existuje tam
0:20:20nějaká volba
0:20:21with check option která prostě tohletomu brání
0:20:25a tedy šlo budu updatovat přes view
0:20:27přes ten pohled
0:20:28tak ten uživatel tohleto nebude moct udělat
0:20:32je to zase způsob jak jako vytvářet vlastně
0:20:36v rituál private database
0:20:38na úrovni řádek aniž by se to museli dělit do víc databázi a podobně
0:20:48a jak říkám je to další krok na cestě k tý raw level se kryty
0:20:52která
0:20:53což je vlastnost krajně některých kruzích jako dost poptávaná
0:21:00slyšel jste někdy někdo o funkci unnest
0:21:08tak schválně jestli vy dva kteří ste se přihlásili se budete znát jako odpověď jako
0:21:12na ty otázky
0:21:14a
0:21:15já když udělám tohle tak
0:21:18to znamená vlastně že vy to s
0:21:20toho pole
0:21:22vygeneruje řádky s těma hodnota ano prostě
0:21:25tady to unnest
0:21:27no ale o tři
0:21:28prvcích tak je to vrátí tři řádky s těma hodnota
0:21:33kolik řádek vrátí tohle
0:21:37no tam prostě dvě
0:21:39funkce každá o třech řádcích
0:21:44tak kdo si myslí že tři
0:21:47kdo si myslí že tak co je třeba další možnost
0:21:50devět že
0:21:56kolek kolega má pravdu no
0:21:58ono to prostě vezmete hodnoty a dá je to vedle sebe
0:22:02otázka číslo dva
0:22:06je tam tři hodnoty a dvě hodnoty
0:22:09tak kdo si myslí že to udělá tři
0:22:13a kdo si myslí že to dá šest
0:22:17a kolega práva opět ta
0:22:20takže
0:22:22to je prostě něco co je to
0:22:24strašně způsobem komplikovalo využití vejlet jako chytrý funkce protože to co to vrací a ty
0:22:31pravidla jak to
0:22:32podle který s taková
0:22:34strašně závisí na tom jaký sou tam vstupy nedá že když jako nevíte přesně jaký
0:22:39vstupy vám tam do
0:22:40když třeba tu
0:22:42plyne zimní aplikace a neuděláte si takovýhle jako ten to uvažování a tydlety pravidla tak
0:22:49vás to prostě jednou kousne hrozným způsobem do zadku a tedy se vám to spadne
0:22:59tak
0:23:01ta věc kterou vlastně je teďko devět čtyřce tak s toho dělá může tomu vlastnost
0:23:06je možný udělat více s vícehodnotové vy
0:23:10unnest
0:23:11tady ale de použít jenom
0:23:13do
0:23:14když jsem klauzule
0:23:16a ten se chová jako se mi ten kdo prostě to rozdělí
0:23:19a vygeneruje s toho tabulku zkombinuje ty
0:23:23ty hodnoty který padají
0:23:25ze set returning tam všem susu fofrem funkce který vrací
0:23:31množiny řádek
0:23:32a takovýdle způsobem jednoduchej
0:23:35triviální pochopitelně
0:23:38je zkombinuje dohromady
0:23:41dokonce možný tam říci je to že museli trávit ordinality urážet tomu doplní jako jeden
0:23:45řádek neříká jako tohle první hodnota sníst
0:23:49spíš funkce a tak dál
0:23:51tohle to de použít potom třeba proč linování
0:23:55mezi víc tabulka
0:24:00no a celý tohleto jenom je to takovej
0:24:02speciální případ
0:24:04ale já s víceméně to
0:24:06klauzuli která se který říká row strom
0:24:10která umožňuje kombinovat obecně funkce nebo výstupy funkcí který vrací řádky
0:24:16no takže má moje oblíbená funkce sme generate cílí skrá prostě generuje řádky nebo hodnoty
0:24:24v daném rozsahu
0:24:26výborná věc pro generování testovací data setů a podobně
0:24:30no a
0:24:30tady je použitá prostě pro
0:24:34proto
0:24:35ukázku právě tady ty slušnosti
0:24:37takže pokud máte
0:24:39messy aplikaci nějaký funkce který generujou řádky konečně způsobem
0:24:44tohle to je výbornej způsob jak je schopno
0:24:48taková drobnost ale to potěší tak je kostek provede se to
0:24:55používá tady někdo klepe dosedl
0:25:00tohle ne způsobem získá vlastně aktuální kostek
0:25:05proceduře tady je prostě ukázka to triviální volání dvou funkcí
0:25:10a
0:25:12dělá se to těm standardní kde diagnostics
0:25:15a
0:25:16je to víceméně
0:25:18rozšíření toho co sme měli už odejde trojky pro dvě dvojky
0:25:23opět jako se na tom podíl pavel stě vole
0:25:27kde jsme mohli
0:25:28moc nezíská ten které
0:25:31kostek
0:25:34když neošetřovali výjimku
0:25:37ve funkci
0:25:42tak
0:25:43dev administrace
0:25:46už tady bylo zmiňovaný nebo na ty předchozí přednášce byly zmiňovaný models ale pohledy
0:25:51který některý aplikace jsou velice užiteční
0:26:00to co ste mohli udělat vlastně ušli předchozí verzí rétorice
0:26:04tak bylo vytvořit na trezory pohled jako prostě
0:26:09alias pro
0:26:10dotaz
0:26:12mohli sto marek strašnou často naplnili ale to mělo jako tu nepříjemnou vlastnost že na
0:26:16tu dobu toho rešerše se zamknul a ta tabulka takže prostě na tom neběžely ani
0:26:20se lek ty inzeráty ne a tak dál což jako velice nepříjemný
0:26:26a tím způsobem jako fungujou funguje zamykání
0:26:29jako obecně nenos postgres u
0:26:31tak to generovalo u nepříjemnej s tou ty aplikace s prostě zastavilo pak ty dotazy
0:26:37prostě na tom
0:26:38na tom na tyranizovaném pohledu
0:26:40byli rychlí ale tohle takle
0:26:43proč nasazení často
0:26:45často
0:26:46nepříjemný zejména pokud jako nasazením
0:26:50těch materializování pohledů sledujete
0:26:53snížení těhletěch
0:26:55výkyvů responds na ní pro uživatele
0:27:00a to co vy můžete udělat prostě devět čtyřce
0:27:02tak je tady přidat nějaký klíčový slovo conquer and play
0:27:05do toho reflection
0:27:07a případě že tam máte nějakej unikátní index což jako podmínka tohodletoho použití
0:27:12ta k
0:27:14tohle to funguje víceméně podobně jako index konkurenty
0:27:19takže přece to běží vo trošku dýl
0:27:22ale
0:27:23ty dotazy to nějak jako nebo
0:27:26tak
0:27:27další věc která je to užitečná zejména pro devel áčka oko
0:27:31administrátory tak je
0:27:35možnost přesunů všech objektů nebo prostě jenom vybranýho typu objektu třeba tabulek případně eště filtrovaných
0:27:42podle vlastníka
0:27:45přibyly nevotivnostech
0:27:47no
0:27:52takže toto je ta první věc kterou bych tě upozornit že s tom článku je
0:27:55to trošku jinak protože ta syntaxe byla jako autor tejdnu space
0:28:01což ale nakonec byla jako rozhodnuto jako ne intuitivní protože ono to vlastně ne manipuluje
0:28:07s tím peklo ste jsem ona nebo je to s těma objektová no proto je
0:28:11to dycky u těch objektů pane u té
0:28:13neeruptivnost nejsou
0:28:19taková věc která to asi nejvíc potěšilo mě tak je vylepšení indexu
0:28:24co sou indexu indexy na nestárne hodnota čtvrtek
0:28:34to znamená pokud máte sloupec
0:28:36kterej nějakým způsobem složený z malejch části je potřeba
0:28:41full textový
0:28:42futex to je vektor
0:28:44slova který sou dokumentu
0:28:46nějakým způsobem stokem vyzváni tam
0:28:49převedený na základní tvary
0:28:51nebo třeba poletí děvče chtěl musí který se uložíte do sloupce
0:28:55tak
0:28:56pro tohleto
0:28:57ten index je
0:28:59užitečné
0:29:00pokud používáte futex takto
0:29:02pravděpodobně
0:29:04používáte
0:29:06ten index nemá strukturu
0:29:08nemá strukturu stromu jako ty defaultní by vítr indexy
0:29:14ale rozkládá se na něco čemu se říká plus tento jestli
0:29:17na lidské tam dostřel slovo
0:29:20a odkazy na boky déčka těch dokumentů
0:29:23nebo adresy vlastně těch dokumentů
0:29:26ve kterých se to slovo výskytu případně ještě s nějakýma
0:29:29rozšiřujícím a informace o ten svůj text
0:29:32a
0:29:34můžete se to přece tak zjednodušeně
0:29:37podstatě to de chápat jako bitmapový indexy
0:29:41s trošku jinou ne vyloženě pomocí bitmapy ale kódovaný pomocí té do těch
0:29:47pozic
0:29:50kde to použité na skalární typ je takže pokud máte aplikaci kde se říkat jako
0:29:54bitmapový index by se mi hodily
0:29:57tohle to je možná zajímavý
0:29:59no a v devět čtyřce sou dvě výrazný zlepšení
0:30:02za prvý je tam komprese těch postech do listů
0:30:05znamená
0:30:06těch odkazů na ty dokumenty taky se ukládají nějakým delta kódování a tak dál což
0:30:10výrazně snižují vlastně i velikost
0:30:14a za druhý je tam výrazný zlepšení
0:30:19logiky
0:30:20jak se kombinuje víc těch plus minus tu dohromady jste dyž máte dotazy typu dej
0:30:24mi s dokumenty
0:30:27který obsahu tyhlety dvě slova
0:30:29tak to je kombinovat různýma způsobama
0:30:33a
0:30:33já vám ukážu prostě
0:30:36jak velký zrychlení
0:30:38ty změny devět čtyřce můžou způsobit
0:30:42další věc kterou
0:30:45třeba lidi který přechází iso deklu
0:30:47často jako chtěli
0:30:48tak je zjednodušení administrace databáze aby nemuseli fyzické editovat textový soubor s konfiguraci dělá by
0:30:55se to dalo dělat skrze skládal
0:30:58no prostě aby bylo možný místo
0:31:01u
0:31:02já tě upatlaný se s textovým souborem
0:31:05seš nevyhovuje ale jim evidentně ne
0:31:08tak aby bylo možný udělat něco jako autor systém
0:31:11a nastavit tu hodnotu
0:31:13což teda jako dneska ne
0:31:15needituje se ten mastr textový soubor
0:31:19udělá se vedle toho
0:31:20stě soubor s těmadle těma hodnota na změně name a
0:31:24pomocí autor systém
0:31:26a do toho se to uloží se dalo se ty změny oproti defaultní
0:31:33kopne zahrnuje to bohužel nebo pořád to vyžaduje pře načtení do souboru vesnici protože vy
0:31:39děláte autor systém tak to neznamená že by se to je to začalo hnedka používat
0:31:45musíte udělat nějakej lump conf
0:31:48jako volání funkce
0:31:50a samozřejmě sou pořád eště
0:31:54parametry který je nutný načíst
0:31:58tím že restartuje zatímco v databázi no třeba velikosti četba fades
0:32:03ty databázový keše tak prostě nejde měnit akademické jsem si že tohle tak jako nepude
0:32:09o současně to je to věc kterou je to nemění teď každej den
0:32:13tak
0:32:15je tam spousta novejch nebo spousta je tam
0:32:18několik nově konfigura těch parametrů
0:32:21jednak je oddělená autovlaky walkman
0:32:24stý
0:32:27paměti která se používá třeba pro
0:32:30proto vytváření indexu a podobně
0:32:34bye default je to prosím vás jako stejný to je to stejná hodnota jste teď
0:32:38jedí se to
0:32:40no linuxových systémech můžete používat něco jako víš page s
0:32:44pokud je tam máte pokud máte velkej objem paměti
0:32:49pokud používáte sdílený knihovny pro implementaci no pro nějaký vlastní
0:32:54věci napsaný třeba v céčku
0:32:58tak je tam další možnost jaké načítat
0:33:02je možný logová ty byty ví někdo co sou tady bity
0:33:09a
0:33:10velice rychle ukradení řádky je uložený možná informace
0:33:16ve který transakci vznikla aut tebe který transakci byla smazána pokud byla smazána
0:33:22o to za postgres musí dělat je kontrolovat podle toho proti transakčnímu
0:33:26a prostě jestli se podívat tak což není úplně zadarmo
0:33:31a existuje něco čemu se říká někdy
0:33:33kterej ve chvíli kdy všechny transakce ten řádek jako viď
0:33:37tam prostě není tam žádná transakce
0:33:40která
0:33:41ten řádek nemůže vidět
0:33:45tak se vám udělá jako všechny transakce to vidí jako není bit
0:33:49k tý řádce tato výhoda je že tohleto se nemusí lomeno transakčního
0:33:53no prostě
0:33:54mu tam ten by jim to není nastavené udělá se vše a nebo tam je
0:33:58nastavené
0:33:59a tu chvíli jako
0:34:01no to je to spolehlivý
0:34:05vám
0:34:05to samé tomu čas nehodí je to nepříjemný když uděláte třeba fail over
0:34:10tím že jsou to nemohli do transakčního mobile toto nepřenáší ani na tu repliku a
0:34:15tu chvíli na replika musí dělat všechny tyhle ty kontroly který se na to mástru
0:34:18udělali třeba za měsíc
0:34:20tak to musí dělat pro každou tu
0:34:22operace
0:34:23takže
0:34:25je možný zapnout logování těch bitů bylo transakčního
0:34:30no a pak tam došlo k nějakým zvýšení
0:34:32default hodnota teda parametrů
0:34:35paměti
0:34:36aby to respektovalo prostě aktuální realitu hardvéru kde ty objemy paměti výrazně naroste
0:34:44tak
0:34:46další zajímavá věc je pravá no
0:34:49seš je
0:34:51modul která umožňuje zahřívat
0:34:54paměť
0:34:56ve chvíli kdy vy ste restartuje databázi nebo co list roli tak prostě nakešovány to
0:35:00není nic
0:35:01tohleto vám umožňuje
0:35:03je to velice triviální která jako možnost
0:35:06ale lze toho skriptová
0:35:08von kombinaci s jako další má
0:35:11mode extenze máte potřebovat buffer cache na ty statistiky a můžeme získat
0:35:17pak to pořád a inteligentně
0:35:19nebo s nějakým externím a šíření má jako
0:35:22vyčíslím core
0:35:23který interaguje s o
0:35:26s patch keší
0:35:28linuxu
0:35:32to přeskočím tak
0:35:33replikace kamery
0:35:38nemyslím si že tu standardní replikaci ty steaming prvek asi by došlo k nějakým jako
0:35:43zásadním změnám
0:35:45jo
0:35:45je to pořád jako stejný došlo tam k nějakým drobným vylepšením typu
0:35:49když inicializuju nebo dělám
0:35:51ve jsme k a vám to iniciální kupy repliky tak je možný přemapovávat
0:35:58tak dost peněz
0:36:00jako úplně nejlepší je když máte ty mašiny úplně stejný
0:36:04včetně rozdělení disku myslím bych tipl spisů
0:36:08ale
0:36:09pokud už to prostě musíte zálohovat na jinou mašinu
0:36:12tak
0:36:14tohle asi dobrý způsob
0:36:18další možnost je prostě explicitně nastavit delay reka velikosti když chci aby se mi vo
0:36:24hodinu zpožďovat replika oproti mástru tak do teďka s to vlastně neměli možnosti jak udělat
0:36:31a
0:36:34teď je tam ještě možnost která sice přijmete
0:36:38ty transakční logy ale její aplikaci ti databáze pozdrží o daný počet milisekund
0:36:46takže tady toto je dost nějakých
0:36:49přesto šedesát
0:36:50nebo tři tisíce šest set vteřin
0:36:52hodin
0:36:54no a jako je přibyl tam další
0:36:57pohled systému vy pohled který vám umožňuje přímo jako sledovat který ty transakčního kdy už
0:37:02byly zálohovaný na do archivu
0:37:06pokud teda archivace používáte
0:37:12no
0:37:13co se týká infrastruktury tak jenom jako velice rychle držet jsou většinou věci který uživatele
0:37:19pokud jako ne implementuju nějaký
0:37:21no vlevo extenze podle su
0:37:24nebo ne
0:37:25nepotřebujou
0:37:27byl tam commitnutý základ logický replikace
0:37:30prostě replikace která ne nereplikuje přímo ty transakční logy ale nějakým způsobem s těch transakčních
0:37:36logů zpětně extrahuje to logický změny přeměnit to binární bys
0:37:42ale nemáte možno třídě tomu a tomu dělá to nějaký prostě
0:37:49ukládá se to
0:37:50za základ to takových replikační řešení
0:37:53jako je slony
0:37:55vám byste
0:37:57a případně mu carlo
0:37:59pro
0:37:59nějaký multimaster aplikační systém
0:38:02jako základ takovýho jedeš na systém
0:38:06přebalit ale běda číslo ty který vám už neublíží řídit
0:38:10zachovává těch transakčních logů
0:38:15já si to nebudu víc jako rozepisovat ale vo rozvádět ale
0:38:20dneska vlastně nemáte možnost jak přesně říct který to logy
0:38:24eště zachovat aby všechny repliky je třeba ty který ste na vypnuli údržbě tak aby
0:38:31jako
0:38:32jim neutekli ty transakční logy a nemuseli ste inicializovat znova
0:38:37a že teda číslo by vám tohleto umožňujou
0:38:41a umožňovala se vysledovat
0:38:43přes nějaký statistickému přes nějaké pohled systémovej
0:38:48jak daleko ty repliky jsou kolik už toho přijali kolik už toho aplikovaného podobně
0:38:57vida workery
0:38:59to je podobná situace jako ú
0:39:01ty logický replikace
0:39:04je to
0:39:05předseda můžete používá třebas textem zítra nějakej
0:39:08vlastní proces který bude startovali automaticky databází
0:39:14napadá mě třeba já však nule můžou
0:39:17spouštěný přímo z databáze
0:39:20ale
0:39:21komunitě to vyvíjený jako primárně
0:39:25základ pro dotazy
0:39:27no prosím něco co vám umožňuje spouštět jeden dotaz
0:39:32co sort
0:39:33ne nebo
0:39:34kousek toho dotazu
0:39:36navíc procesorech dodržet tuhle chvíli
0:39:39každej dotaz běží jenom v jednom procesu linuxové znovu
0:39:43jakémkoliv
0:39:44to víš ovázaný vlastně omezené jedním procesor
0:39:52to letadlo tam že spousta dalšího
0:39:56to já teda tom
0:39:57nemusim řikat
0:39:59tak
0:40:01co se týká
0:40:03ty druhý části nebo
0:40:04toho zbytku času to bych se rád podíval a
0:40:08takové hlavním tahákem velkej marketingovej
0:40:12marketingový lákadlo
0:40:13imidže jsem ví
0:40:17takže napadnul dotazy se o tom není pro změnu databáze
0:40:21samozřejmě je to o jakým se rozporu s takovou tou standardní
0:40:27relační teorii která říká se ty hodnoty který se ukládají do jedno sloupce
0:40:32tak by měli by atomicky
0:40:34to znamená že jako jestliže tam chci ukládat jako do jednoho sloupce nějaký složitý struktury
0:40:40tomhle případě json dokumenty který jsou
0:40:43nejsou to skalární hodnoty jsou to kolekce
0:40:46kýval a ještě ke všemu list hierarchický tak ano je to v rozporu s
0:40:53takovouto uridinech chápanou relační strukturu
0:40:58druhá věc ale je že pro svět není čistě relačních jako spoustu situací čisté dalším
0:41:06schématem nemůžete úplně jako postihnout nebo je to velice jako neefektivní tak jako přes ruku
0:41:11řešení
0:41:12a tam se vám tom
0:41:13u že jsem ví vo tohle ten přístup může
0:41:18může hodit druhá věc je že to prostě není popsaný žádný nadstandard a
0:41:23prostě
0:41:24jsme se s smiřte se s tím že tímhletím způsobem standarty nevznikat
0:41:29standarty nevznikaje tím způsobem že by se někdo se nula tak se
0:41:33potřebujeme prostě dostat stukturovaný data do
0:41:38do databáze
0:41:40ve formě že jsem ví tak na to uděláme standard
0:41:44a respektive standarty který vznikne takovýdle to
0:41:47způsobem tak většinou umřou
0:41:50takže tohle to je případ
0:41:52kdy
0:41:53uživatele jednu konkrétní databáze se řekl potřebovali bysme nějaký řešení tohodle toho problému
0:41:59máme tady zavedenej
0:42:01formát pro takovýhle ten typ dat tak to poďme na rungova prostě do relační databáze
0:42:07tak aby to dávalo smysl
0:42:10je to popsaný nějaký dokumentaci postgres u
0:42:14ta konkrétní implementace
0:42:16a na tý konferenci která se trochu před čtrnácti dny konala v madridu
0:42:21tak proběhlo moc pěkný školení
0:42:22na to jak to používáte na ty efektivní
0:42:25a neefektivní způsoby
0:42:28takže ty věci který já tady s nejvyšší pravděpodobností jako nestihnu které všechny
0:42:33tak tam najdete popsaný
0:42:37a to školení dělat dusno můžem
0:42:39s tomem braunem co všechno je za záruka kvality
0:42:44tak
0:42:47když se podíváme pokrývaný dokumentech postgres u
0:42:51tak první věc která jako se objevila v roce dva tisíce čtyři dva tisíce pět
0:42:57tušim
0:42:59dva tisíce šest byla commitnutý love osum police nebo vydaná tak store
0:43:04co všechno jakoby jednoduchá
0:43:06že kolekce kýval uhodnout
0:43:08jednoúrovňová nemůže na s tím že ty
0:43:11hodnoty i klíče jsou vlastně no řetězce
0:43:14no takže já osobně jsem tohleto používal třeba pro uložení hlaviček
0:43:19s týmem pustil co vše jako lehce kýval uhodnout
0:43:23tak dál
0:43:25je to jednoduchá definice efektivní a snadno se s tím pracuje no ale
0:43:32máte krátí nevýhody
0:43:34nemá tam typy že ho žádný takže když tam potřebujete vložit integer tak potřebujete takže
0:43:39tak dál
0:43:42ideální to je pro řídký kolekce
0:43:45hodnot
0:43:47jestliže nebo třeba když vy ani nevíte jaký klíče vám přídou takže proto nemůžete s
0:43:50tý tabulce vytvořit index ty sloupce odpovídající
0:43:54a takový ty
0:43:58jak se to standardně řeší další databázi je a ve schématu
0:44:02takže to standardně se překládá jako jídlo
0:44:05zlo
0:44:06takže
0:44:07druhá varianta je to uložený relační databáze je prostě mi tam nějaký generický sloupce adam
0:44:13jedna parabola
0:44:14to ještě horší
0:44:17jsou
0:44:19se ve srovnání s tím prostě ten že jsem jako je moc krásné
0:44:24no
0:44:26kde ve dvojce už bylo řečeno
0:44:29nebo změnu jistý předchozí přednášce
0:44:31tak se objevil ten že jsou ty auto šel vlastně jenom jako strašně triviální věc
0:44:37protože to vlastně no jako text
0:44:39s nějakou validaci na vstupu
0:44:41že prostě tedy stovek ukládali že jsem
0:44:44tak ste tomu přidal jako text vono to zvalidovat že to jako je validní že
0:44:47jsou
0:44:49a to bylo všechno
0:44:51no to uložený jako text
0:44:53všechno
0:44:55všechny
0:44:56problémy který s tím spojený jsou
0:44:58tak platili
0:45:01byly tam minimální množství funkcí nebo minimální rozsah musí který s to mohli použít pro
0:45:05manipulaci
0:45:08devět olizoval to bylo vylepšení nějaký jako další operátory extrakci hodnota tak
0:45:13to co ste neměli tak si můžete dopsat pomocí nějakýho uložený jo uložený procedury naimplementovat
0:45:20si tam
0:45:21třeba pomocí
0:45:23javascriptů spouštím databázi
0:45:26to co ste potřebovali
0:45:29no a teďka sem byl ještě jste přichází je to velká revoluce vtom že
0:45:34je tam optimalizovaný datový typ který se ukládá parsuje
0:45:38a ukládá ve binární podobě
0:45:42takže jako je velice jednoduchý přistupovat k těm klíčům a nemusí se to parsovat nebo
0:45:46k těm hodnota super dokumentům a podobně nemusí se to pak sou a dycky vod
0:45:50začátku
0:45:51umožňuje to vlastně jaký nějaký normalizace toho že jsem dokumentům není to prostě jedna k
0:45:56jedný jako ten text když uložíte že jsou a vytáhnete si ho zpátky tak ty
0:46:01klíče můžete mít v jiném pořadí odstraní to mají space i a tak dál
0:46:07z asi neni to neni to samý jako vajnarem že jsem
0:46:13který používá samo budete
0:46:15to jinak
0:46:16pojatý a je to přenosové vlastně protokol
0:46:19takže jsou
0:46:27no takže prostě já když udělám jako triviální tabulku s jedním soudcem které jako je
0:46:30ten že jsem
0:46:31to může vypadat zrovna takle kdy mám prostě sloupec kterým že tam data
0:46:36ten datových typů dat jo takže jsem ví
0:46:39a pak do toho prostě pošlu řetězec
0:46:42ne kterým je ten že jsem
0:46:45předpokládám že třeba drahý byly typu paritního psa jako p g
0:46:50tak dál podlezou mapovat na kdy všelijak podobně
0:46:53a jako negativní dopady
0:46:57tak
0:46:59todleto jako možno vazivo podle ilustruje možnost ukládat
0:47:02hierarchické dokument o tom
0:47:04to ho datovýho sloupce
0:47:06je to vlastně úplně to samý jenom je tam složitější že jsou
0:47:13když jsem říkal že týden ještě s to sou
0:47:16složitější
0:47:18nebo
0:47:19je tam širší paleta operátorů
0:47:21vy samozřejmě můžete
0:47:23používat
0:47:24jednoduchý operátory který extrahuj datový typ extrému ty hodnoty ať už ve formě tak čtu
0:47:29nebo
0:47:30jsou dokumentu
0:47:33případě můžete dělat různě kontroly typu obsahuje pod dokument nebo obsahuje klíč nebo obsahuje aspoň
0:47:39jeden klíč nebo obsahuje všechny klíče který tam půjdete školy
0:47:44jo takže potom můžete dělat takovýhle dotazy
0:47:48tohleto je příklad i
0:47:50extrakce kdy mám nějakej tvořej že jsou dokument nebo hierarchické dokument
0:47:56a papíře kam kdybys toho hodnotu pro klíč a jako že jsem vám to vrátí
0:48:01že jsi dokument
0:48:04neřiká tedy ne klíč a pak s toho dokumentu který nelze
0:48:08kdy když ne tak vám to vrátil ten stejný chce
0:48:11co
0:48:12tadydle vlastně
0:48:13tohle to je podoba
0:48:17alternativní způsob jak bylo to samý kdy používáte ten
0:48:22přístup přes pole
0:48:23těch klíčů
0:48:26prací to zase to céčko to říká a ne
0:48:34ty operátory který má možnou kontrolovat existenci
0:48:37tak prostě říkám
0:48:40obsahuje ten první dokumentů druhej
0:48:43tomu operátor je kapinku jen
0:48:46připomínám tak nějak a
0:48:48takže
0:48:49ano ten první dokument obsahuje prostě bendová
0:48:53ten druhej
0:48:54neobsahuje nepřibližujte
0:48:56hodnota je tam jiná že to je false
0:49:00obsahuje klíč a ano
0:49:03obsahuje všech a
0:49:05alespoň jeden s těch
0:49:06klíčů ano
0:49:08obsahuje oba dva
0:49:11takže způsobem jednoduchej můžete si vyhledává štyři jsou dokumentech který sou databázi uloženy
0:49:18kromě toho je tam hrozná spousta
0:49:20a
0:49:21funkcí který vám už jo jako manipulovat s nima že jsou dokumentovat
0:49:25takže ve chvíli kdy vy prostě máte třeba uloženou proceduru která
0:49:29nějakým způsobem zpracovává týče jsi
0:49:33ta to můžete použít tohleto
0:49:35tohleto sou prosím vás funkce pro ten původní datový ty json
0:49:40pokud budete používat že jsem víte používejte
0:49:43tu variantu která má na začátku že jsem by jinak jako
0:49:46eliminujete všechny benefity který to má
0:49:51takový příklad který já používám
0:49:53pro testování a tak dál adamse mailem vestách ais dva miliony
0:49:58skrá vezmeme městu postgres u
0:50:02jsou tam takový ty standardní sloupce jako sem když se to poslalo kdo
0:50:08se tím předmětem a tak dál letem
0:50:11ta položka která se strašně těžkou kanadu relační databáze
0:50:14to jsou hlavičky to jsou ve si variantu
0:50:17no
0:50:18každej jinej má jiný sněhu se do hlaviček
0:50:22spam po svém filtry
0:50:24tam přidáme nějaký vlastní hlavičky a podobně
0:50:27takže proto tam já mám ten datový typ že jsem ví
0:50:32když to namalujete
0:50:36tohle to je prosím vás když by dám polovinu té hlavičky s těch milion dokumentů
0:50:41obyčejnej tam má
0:50:43jedna ku nebo jedna celá šest lidovecké
0:50:47no
0:50:48když to náhodou do sloupce
0:50:51které je text
0:50:53se to trošku toho zkomprimujete že postgres transparentně komprimuje dlouhý hodnoty
0:50:57ale jako nic moc
0:50:59vidíte že ten že jsem to je ten druhej hospoda
0:51:03tak ten má jako zase
0:51:04úplně přesně tu stejnou hodnotu je to vlasy jako alias pro ten datový typ s
0:51:08validací
0:51:09není důvod aby se to řešilo
0:51:13když ste se kdybyste tohle to zkusili do toho že jsem by zde tě
0:51:17tý druhý
0:51:19tak to bude mít nějakejch jedna celá tři kilo bajtů
0:51:23cože to je vidět že tam je nějaký binární prostě uložení
0:51:27efektivnější komprese
0:51:28ale
0:51:29neodpovídalo to
0:51:31tomu
0:51:32co se očekávalo
0:51:34takže proto viz vznikla ta věta tři
0:51:37a ty současný už to mástři jenom jedna celá revidován tu
0:51:43jseš
0:51:43jako velice jako
0:51:48současně losuje
0:51:50jak velkej důraz se to řekla klade na kvalitu toho kolik to dresu
0:51:54protože
0:51:56já dybych popsal programátor mělo to ho
0:51:59sto megabajtů výsledný doba je tak bych kartě mávnu rukou možná
0:52:03ne tak všichni že oprav programátoři postgres
0:52:07tak
0:52:08dotazovat samozřejmě všechny operátory který jsem ukazoval tak je možný použít
0:52:13ať už tam se let listu prostě kdejakou mě zajímá třeba s těch hlaviček jenom
0:52:17nějakým si čaj jinak můžu takle
0:52:20vy extrahovat
0:52:22nebo můžu se dotazovat na dokumenty
0:52:25který obsahuje nějakou konkrétní hodnotu pro film hlavičku a podobně
0:52:31nepříjemný tady na tom je že vono samozřejmě ty podobě když tam neudělal žádný indexy
0:52:36a nic tak to dycky přečte celou tu tabulku musí to jako zkontrolovat pro každý
0:52:41dokument to je to ilustrovaný tím že to dělá sekvenční scan
0:52:45to je nepříjemný
0:52:48je možný používat nějaký
0:52:50bejt indexy který sou ale cílený dělo na konkrétní
0:52:55na konkrétní klíč a hodnotu
0:52:59takže jako aplikovat ty standardní být indexy na co je ten že jsou dokument leda
0:53:04ve smyslu
0:53:05pysky hledáte podle nějakého klíče
0:53:08tomhle případě
0:53:10todle na tu arku
0:53:11cíleně aplikovat tady se použije nějakej bitmap index cam seš pěkný
0:53:18no ale nejjednodušší a nejlepší co byste měli udělat tak je použít jiným jaksi co
0:53:22sou ty optimalizovaný indexy futex to jinde se vpodstatě
0:53:27a tohleto ještě jako rychlejší daleko
0:53:30než ten předchozí dotaz
0:53:32jo a současně vám to umožňuje dotazovat libovolný klíče libovolný hodnoty
0:53:40tak
0:53:42toto jsou sou dvě varianty teď indexů pro json
0:53:46a
0:53:47ten default
0:53:49umožňuje vlastně pracovat se všema těma operátora na který sou tady ukazoval prostě umožňuje dotazovat
0:53:54null
0:53:55od dokumenty existenci klíčová tak dál
0:53:58je tam
0:54:02je tam je to šanci naopak drog vás
0:54:04že jsem pípá o s
0:54:10jo
0:54:11trojka
0:54:12a
0:54:13ten má tu výhodu že vygeneruje menší rychlejší indexy ale umožňuje vlastně optimalizovat jenom ten
0:54:18operátor dopingu jen se na tom stejném dokumentu
0:54:23jak to použít je strašně jednoduchý
0:54:26a jeho co to pomůže vlastně
0:54:28tom klid indexu
0:54:30za
0:54:31tím seznamem sloupců
0:54:34no a
0:54:34samozřejmě bude dělat koho indexování port
0:54:38dokumentů
0:54:39tím že se to vhodným způsobem že extrahuje
0:54:42v tom klid indexu jako je to ukázaný tady
0:54:45no takže potom budete moct vyhledávat hlavičkách cc
0:54:50pomocí těch indexu
0:54:54tady je vidět nějaká jak je rozdíl velikosti těch indexů
0:55:00to co tam je to zajímavý taky je ten druhej a třetí řádek je tam
0:55:05begin index
0:55:06má pět set tři mega
0:55:09ta celá tabulka má nějaký prostě šest dní do bajtů
0:55:16ten třetí tak jim a na ty dvě stě sendesát megabajtů
0:55:20a když mít vezme ten ať takže indexu že ten poslední
0:55:24tak pětadvacet mega takže
0:55:26je tam velká flexibilita
0:55:28toho co můžete dělat
0:55:31etapa jízdy vyřešena s firem který se motají kolem postgres u takže a jak jako
0:55:35know vesmíru benchmark
0:55:37ve kterém samozřejmě na trhu je mokrý
0:55:42řekni otvor
0:55:43ale
0:55:45já také nechci přeceňovat jenom poukazuju že pokud nepotřebujete prostě takový ty automatické sean linka
0:55:52takovýhle nové school no hezky jo
0:55:55no z vody
0:55:57i ta relační databáze která má navíc poskytuje nějak jako
0:56:01benefity typu konzistence a podobně
0:56:04tak pro vás může bejt zajímavý
0:56:07ta poslední slajd
0:56:10syntaxe benchmark já jsem dělal jako pes
0:56:13jak moc ty jen indexy pomohli vlastně standardu futex u
0:56:18respektuje to zlepšení devět čtyřce
0:56:21a dospěl jsem k něčemu takovýhlemu
0:56:24kdy jsem z ale to prostě ten waylandu je s archiv udělal jsem na prostě
0:56:28přece při tisíc dotazů
0:56:29realistické posbírané jich skutečně z webovýho formuláře vektory uživatele dále
0:56:36a
0:56:37tohle prosím vás na ty ose x
0:56:39je trvání ve dvě trojce
0:56:42a na ose ypsilon je
0:56:44relativní čas
0:56:46devět čtyřce takže to co je pod jedničkou je rychlý no jde rychlejší než na
0:56:51devět velice a je to poměrně to devět čtyři lomeno devět tři
0:56:55takže to co tam vidíte taková ta
0:56:58ale to logaritmické často se s ještě ke všemu na ty osoby
0:57:01takže to co vidíte tajdle
0:57:04vy tam hyperbola tak tady spojencem zrychlení
0:57:10což jako myslím si že
0:57:12dyž dokáže někdo zrychlit algoritmus exponenciálně tak jako to asi stojí
0:57:17jako za potlesku
0:57:19tohleto dělaly mimochodem a alexander proskov
0:57:23a jak je jistě s finska
0:57:26takže ty já bych asi skončil
0:57:29nic dalšího tam mám
0:57:30tak já mu řeknu nanečisto složit poslanecký