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