já jsem honza horáka
neska bych vám chtěl ve stručnosti a to se změnilo schválně protože to mám
na řadě tolik že asi nestihneme vůbec se zajít do hloubky tak ve stručnosti představit
co vlastně za poslední dva možná tři roky je vtom hezké znát v relačním světě
databázi
novýho a to že bez nějakýho novýho úvodu asi poďme rovnou na to možná teda
si dovolím jednu malou odbočku jasný nedá mezi ste celé znamená rozvodným konec to hraje
příkaz je se s tím musíme podělit
aha
a případě že někdo teďka hraje náhodou bezvadný můžete na ty přednášce protože se to
normálně hraje na přednášce nebo na mítinku kde se používaj nějakých dva zvolit výrazy a
případě že někdo
a najde sloupec řádek zakřičí bazar nebo bingo nebo porsche nebo něco takovýho
tak ten další jsme tam asi dá radost
já tady plný takovejch těch vaz word výrazu dnešní svět
těch databázi obecně aplikaci
a můžeme víc považovat spíše takový
tady je to trošku
lepších tradičně je to kdybych řek dobytek tak to asi nebude znít úplně správně
zkrátka ten server na ten aplikaci muset čas taková tak jako
pokud se rozbije pokud
něco tam nefunguje dobře hlásí chyby
a raději to vyměníme za nový kus
místo aby jsme se o mě starali jako naše mazlíčky a snažili se to opravit
no tak jasně nastavena celá ta technologie okolo cloudu
to znamená musíme řešit fail over když je něco spadne abyste měli se znova zotavit
co nejrychleji ideálně automaticky
a musíme umět replikovat muset podporovat reversibility abychom dokázali dobře
a rychle odpovídat všem klientům který
můžou vlastně růst časem a třeba i rapidně růst ten počet těch klientů připojí se
k aplikaci musí dobře škálovat a tak dále se týká vývoje těch aplikací
patře je a byl ně
těžkou krizí nebude dneska nasazovat prváku aplikaci klasický vodopád spíš
se bude snažit vyvinout první prototyp co nejdřív pomoc nějakýho frame horko
a kdes tak snažit snížit mtime to market
to znamená čas ne se dostane ten
produkt na trh
nějaký aspoň základní formě
protože o tom to neska všechno je ten byznys aby tam byl ten produkt co
nejdřív dřív než konkurence
a
to sem byl teďka obecně o do o aplikacích ale samozřejmě to samý ty samý
vlastnosti musí mít i databáze který jsou vlastně u těch aplikaci
a potřeba pro uloženy nějakých perzistentních dat
takže
a tady to sou vlastně
tím a tím asi sady jsem chtěl naznačit kam se ty databáze poslední dobou jakoby
ubíraj aspoň z mýho pohledu je to právě řešení replikování fail over hele bity a
podobně to není o tom že máme nějakou databázi relační a chceme ji mít rychlejší
na tom jednom koukli muselo
a že to vo tom že potřebujeme mít rychlý a kvalitní ten se lístek těch
databázi vyseru takže například na minulý rok na no vlastně letos zpočátku roku na
po zda mu štyry přednášky databázi vůbec nebude o tom vo těch featurách který zvýšit
výkonnost je mě jednoho konkrétního server jedna
procesu ale bylo to o tom jak zvýšit a zlepšit celkový ten klastr
a jak řešit replikace a podobně
no a ještě jedna
taková odbočka do mnou haskell světa
a
nejslavnější nebo dekom nejpoužívanější podle jistých statistika na listo databáze mobilní vy když bych možná
krátkosti uveď čem je rozdíl naproti mladší databázím
neřešené tam ve strukturu
ukládáme tam zkrátka že jsem dokumenty
libovolném formátu
a
replikování a škálování ten databáze nabízím šli od začátku on je to vlastně celkem logický
prostě ty požadavky tady push a hned nato replikování škálování sou a dyž začali autoři
vám líbí psát databázový systém
na zelený louce tak samozřejmě
push to tam rovnou
už tam rovnou implementovali ty potřeby který ty uživatele dneska mají
a
to samý vlastně back vidíme u těch dalších norsko databázi
no a
tak nemůže tak třeba vypadat nějak a stanovisko klasická byly minimální jaká ta aplikace nejdříve
si nadefinuju nějaký dokument jako json a konstruktoru tomletom přibyly vlastně to pěkný struktura
tam dojede tam to pak převedete to vlastně že jsem jako mentor
a nemusím se a dělaný esko dotazy ani na se aktuální ani na vytváření tabulek
a podobně takže dá se s tím daleko rychleji zase to odpovídá tomu že chceme
té aplikaci věta byl nějak podobně
procento tady vlastně zmínil je že tady ty featury který by to vidíme u těch
nesho databázi se postupně občas dyž to dává smysl dostávají do těch relační databázi
a možná teďka je vhodná chvíle upozornit na následující přednášku tomášem andreje která se bude
hodně týkat aspoň jsem pochopil s popisu právě json ukládání dokumentů
postgres o takže určitě doporučil zajít
no abych trošku
upozornila ty vychytávky na ty featury nebo z novinky který sou možná inspirování nebo nejspíš
inspirovaný tím neliskl se tam tak
při slajdy budou označeny těm paragraf
proč paragraf to sám nevím
takže
doufám že už poslední odbočka před
ponořením se do světa relací
a když sem ní dostal otázky
jestli pro aplikaci použít
relační databázi nebo norsko databáze tak
dycky to je takový trošku na hraně ale
nejvíce mi líbila ta myšlenka že vůbec nemusím odpovídat jako jednoznačně
nemusíme vůbec zvolit jedna aplikaci jedno databázi pro celou aplikaci pokud máme
tu aplikaci nějakou komplexnější
spíš je rozumnější dívat se
na konkrétní problém ne zvolit jedno databázi do který budem zvládat všechny naprostý aplikace
a zvolit pro každý ten problém konkrétní databázi která
odpovídá těm našim potřebám
no to je to vlastně ta myšlenka toho kolik letní rezistence to zkusím přeložit do
češtiny ani není čeština vlastně
takže můžete na to myslíš vede příště návrat jako komplexní aplikaci
že nemusí to bejt nutně na pozadí jenom jedna databázi můžete mi klidně víc
uvidíme za chvilku že
propojit víc aplikací vyvodit z databází různých typů potom nemusí být tak složitý jaks na
první pohled zdá
no a pojďme na ty relace teda
poslední dobu se tady objevily
posledních pár letech kdy to není posledních dvou letech že to trošku
takže časový úsek ale kdyby někdo se neorientoval těch názvech tak bych to teda trošku
vtom udělal pořádek
postgres apozdra haskell boj vlastně označující stejný projekt to je jednodušší tam prostě kuš docela
dávno zníkl projekt
původně s tím dresu postupně roste a přicházejí noví a noví featury a ten projekt
se
poslední dobou stává
čím dál silnějším konkurentem a řek bych push
docela na dobrý úrovni konkurentem je to třeba rakoviny
řek bych si mýho pohledu že už předčil to mysqlku minimálně některých konkrétních
ohledech jako že už to neni jako tom to byl stav co bylo třeba před
ten deseti patnácti lety kdy
tam měl dost jako by nám
problémy některých ohledech a uživatele nechtěli používá tak tušil dávno pryč
a
nemusel tam zvyknout žádný foto s toho důvodu že ta komunita je
perfektní open source
projekt takže není potřeba jakoby for kovat něco takže dyž sem byl postgres lidsky
dycky mysim ten jedem projekt takže to asi není problém
si tykáme skoro tak tam vše to komplikovanější
kuš v roce dva tisíce šest ikon jeden známý for
a krom těch fotku který všude dneška nepřežili tušení nezměnil
tak aper koná kdyby
tenhle dodneška pořád funguje zastřešeny společností pérko na která se zabývá právě podporou šel se
týká mé skoro databází
a ten forkem drop in repre jsme to znamená že můžeme vzít
masku aplikaci dobyl zpět aplikaci která podporuje to používá mysqlka
nahradí mého erko nelíbí
a
měl by nám všechno fungovat dost problém
v roce dva tisíce o sem přišel
na
no přišel jsem s tím že koupí mysql projekt
se stalo a jelikož víš to vypadalo
nám chtěli se senem a bylo zřejmý že ho koupí or a kol tak tu
chvilku
původní autor odešel stalo s ano ještě
a založil nový projekt mariadb
a
takže to možná bych se zeptal kdo zná mariadb jako pojem jako ten projekt
jako
super
takže to je super že tady dvakrát vidíme to je tak vznikla
a době kdy to koupil takovej skok a tak
hodně komentáře takových kam jsem se to podobně že ten projekt začal postupně umírat
a teprva shrnuty někde na
dalším slajdu
co je problém s momentálně s mysqlkem jako
tím originálním je že
a proto nevydává cédéčka tak jak sme zvyklí že by dodal
že by že byste k elitní dvě sekundy zranitelnosti dostali nějaký bližší informace například čem
se to opravil
nebo jaký jsou jaký jsou důsledky je to případně lze zneužít
a
dostaneme pouze informaci
ta takové krku konkrétní zranitelnost označená tak
byla opravená ve verzi pět tři osum třeba
a zabýval se to protokolem ssl
a
důležitosti je střední
s tohodle nejsme schopný zjistit jakej ten patch vlastně byla pro
třeba nás ve fedoře nebo
a pro ty tak ničme jde tedy není vůbec cesta jak s tyhle ty zprávy
dostat patch abysme ho mohli bejt portovat případně
do jiných verzi
protože na to vlastním byste ulehčili
a trošku se cítíme
když zlá macecha nainstaloval
nainstaloval a mají ve windows dělej sám suma windows external adresáře a řekla voperace aby
do rána byly ty
systémy vy z nich každý ve sem adresáři já je to prostě něco co prostě
nejde udělat
mají s tím problémy
vývojáři mariadb
a snaží se jako reverzní inženýr enkem zjišťovat informace ale
je to trošku
znemožnil další problémy si tykat open source volání toho
respektive spíš sto let musíme klousci lisováním teda mysqlka že
ten call tušení jen odpo kličkou a pouze při vydání tý back fix verze ve
command žlutý na počkat
no a samozřejmě tam nejsou vše ani open source k dispozici všechny ty
featury který si vlastně onak
vyvíjí
přeber a
dávají dispozici pouze do enterprise s verze toho mysqlka
takže abych to shrnul že prostě mé skoro koš pro mě neska není open source
projekt ale vše to jenom open source produkt
to se právě snaží zlepšit půlení autora a ta firma kterou si vlastně kolem sebe
posledních několika letech vybudoval
a chvilku semene otázka jestli pět nedá nazvat přejmenována zpátky a maria lidi
takže scan je skvělá si postupně zmizí se asi nechytlo
a
do verze pět byla mariadb drop in replacement jak sem tady se tu a předtím
stačili vyměnit měl by to fungovat nebo potřeba nic řešit
jenže
vývojáři mariadb si řekli hele
a jako tam dělal nějaký věci který mi tam nebo takle dyž budu mluvit
moc víc korektně tak mysqlka stream tam dělá nějaký věci který se na nelíbily chceme
to dělat jinak
a asp neuděláme kompatibilně nebo tady taky čas tam nelíbí nebude mít tam vůbec dávat
do toho našel nelíbí
a zdrojáků
já takže
aby upozornil na to že nějaký takovýhle věci se budou dít až už to nebude
úplně drop in replacement
tak místo verze pět šest
a začali
verzovat deset nula a dál takže poslední verze která vyšla březno tohodle roku už měla
označení deset nula takže není zatím že by rallye vývojáři neměli počítat
je to proto aby upozornil na to že ne všechno už musí být kompatibilní s
tým skok
na druhou stranu si dovolím tvrdit že devadesát devět procent všech aplikací mentálně
se ty změny pokud si nainstalují deset nula vůbec nevšiml
že letech nekompatibilní změny momentálně relativně málo
a
pokud se vyloženě ne zaměříme na ty
úplně nejnovější featury tak by to snad fakt nemusel být ani znát
ten client server protokol určitě bude ponechán kompatibilní tam
není důvod jakoby měnit cokoli na tom protokolu to že
například to jen s mysqlka databáze s mariadb nastaven bylo dal komunikovat to bych se
nebál
no a teďka kdo uslyšel pan galera nebo dokonce používá ten galera produkt galera patch
jo tak to je dobrý takže bych to měl možná když ještě vysvětlit
firma codership vytvořila patch a plug in k běžnýmu mysqlku a samozřejmě to dá aplikovat
i na mariadb
který
toto do týhle databáze přidává synchronní multimaster replikaci
klasická replikace master slave duše najez conf nějakou dobu
ale
a master aplikace to znamená že
a mám k dispozici klastru třeba tři servery všechny sou to mástři takže vlastně plnohodnotný
a na stejný úrovni servery
a chci ke všem přistupovat takže budou něj zapisovat i číst
a
todleto s klasickým mysqlkem nejde pokud nepoužiju nějaký
proxi
programy nějaký vrstvy navíc
a tady ten galera patch
a ten pak jim když se aplikují a použijí
tak to dovoluje a
mariadb upstreamu se to líbilo natolik že to za zahrnuly byla svých zdrojáků
ne úplně do těch původních naše od verze deset jedna to budeš těch původních
takže bude mít jeden tar ball
momentálně ještě ve verzi deset nula samozřejmě pět jsou dispozici dva tar ball jeden s
tím aplikovaným pečem druhý pes takže dyž si chceme zbuildit tady ten master
replikující se server potřebujeme zvolit ten správný tar ball
no a to jak jsem říkal ten postgres tam asi neni
co vytknout to v aspoň z hlediska toho a projektovýho řízení je to čistý opensource
projekt není problém se tam zapojit pokud člověk má dost času a
a ochoty se hodně naučit protože přece jenom neni to malý projekt je potřeba tom
hodně znát
a
ale jinak jako
jo ráda
no a je skvělej tady tomu sem tady věnoval jenom jeden slajd
je není to z důvodu že by ho bral jako
tak nějak na okraji když zase oproti těm klasickým server klient aplikacím velkým řešením je
to chcete trpaslík
a na dostanu zase často využívaný právě pro ten prototyping
ale nevěnoval sní o moc víc místa kuli tomu že jsem poslední verzi neviděl
nějaký featury který by stálo za to změnit
například a kousíček jako byla říct tři sedmičce right ahead lock
to tam už ty poslední verzi tři osum jsem nenašel takže na ministrem a oni
mají zkušenosti kdo třeba skle používáte a nějaká featura sám líbí že by stálo za
ty tady zmínit klidně zkuste
se podělit s ostatníma
jinak to je to samozřejmě platí i nadále možná že
tím že já se orientuju spíš do šířky těch znalosti
a nebudu znát detaily některých featur až vás někdo něco zajímalo já jsem neuměl odpovědět
věřím tomu že to je třeba někdo
místnosti kdo tomu je vidět víc takže klidně stavu může udělat takovou spíš diskuzi nevšimneš
abych byl
a
o
featurách který vás nezajímá může se klidně zaměřit na nějaký featury který se vám líbí
o kterých se jsem po víc pobavit a
uvidíme
tak a jelikož čas kvapí tak je možný že některý feature budu muset přeskočit takže
kdyby vás něco s tou slajdu zaujalo já sem se k tomu nevyjádřil tak klidně
se ozvěte
a takže mysqlka
pět pětka přinesla
defaultní engine innodb líbí on už tam byl stvořen předtím ale holt verze pět je
defaultní
zlepšení semi synchronního replikování to znamená když master čeká že mu aspoň jeden slave server
potvrdí že přijal nějakou tu změnu
a s tím taky souvisí trošku
a být a ty si to nepleťte s heart hlídce šel open ssl
zranitelnost tady téhle být
a ten slouží na to že
slajd server dostává od nás to nějaký
zprávy
a o tom že má ste živý a teďka když přestane dejme tomu že tam
chodit a jednou za
sto milisekund dejme tomu nějaká zpráva
a pokud nedojde nějakým časem úseku
slave si řekne aha master má problém
poďme zahájit fail over takže tady tím se dá zrychlit ten fail over tím že
se to o tom o tom problému na mástru dozvíme daleko dřív
a performer shrábl
hodně zajímá mě velká featura jak může vypadat takový performance schéma takový mnou level přístup
k údajům s toho maji skladem ona může vidět
tady
mně se s tím pracuje tady to vlasy člověku tolik neřekne ale když bysme postupně
vypínali různý reportování a
zapínali různou granularitu
můžeme jít do hloubky a šašky nějakýmu řádku který nám řekne aha tak tady dat
tady ten démon
zůstal strašně dlouho poďme se podívat čím to bylo můžeme začít tu ně ty parametry
ty aplikace
ty databáze nějaký si buffery zvedat snižovat a podobně
a
můžeme se dopátrat jakoby nějakýmu lepšímu řešení
zároveň můžeme se na to podívat i z hlediska toho
vyloženě kódu toho démona když vidím že se někde zasekla
můžeme začít
a optimalizovat přímo ten kolek pokud se do toho pustíme takže tady to pomáhá
týmu pravdu řek bych že kuš
buďto tunelu databázi a nebo přímo případně případě macro co programu ten démon
analyzovat co se tam děje na tu snad straně to budeme
no
performance taky se může přispět asynchronní a jo operace linuxu
a ta škálovatelnost
a byla zlepšena je
použití to líbí nové verze takle oproti předchozí verzi mysqlka
tak ve verzi pět šest rádi šla voš před rokem a půl
zase
nastalo zlepšení výkonu a to zejména
díky
tak a mimo jiné díky tady těm třem
a featura index kodlík o tom dyšen už dál je featura která dokáže
to co máme r
části toho dotazu
přenést do toho dovnitř toho g no
když to fungovalo takže jsme o ten že dostal nějaký data pak se démon filtrovat
ty řádky pomocí pod podle toho co bylo vmware příkazu
momentálně to funguje tak šenonův tý verzi pět šest funguje tak že přímo ten engine
ušlo to je ty řádky a tím pádem
to má pozitivní vliv a performance
mu trit ranče je feature která se hodně projeví na
klasický ziscích protože to sdružuje ty čtení ze stejných sektoru a tím pádem dokážeme protože
čtení ze
posloupnosti sektoru je na tom klasickým a disku rychlejší než když se státě z místa
na místo tak ti můžeme zlepšit performance
a
no a ta jsou to ty mi zajištěný je využitých pro dotazy kdy máme on
to byla je a limit a celkově se to celý ten dotaz ta věc vejde
do našeho source bufferu
nevím jak je to zlepšení ale vtom tom případě na to mělo pomoci
a
tak že definovat explicitně partitioning k nám umožní že můžeme s nějakýho
tady participujme tom označena kope jet
už věřím exportovat ty data můžeme jí takle pojmenovat
a
nebo naopak do ní s nějakými tabulky ty data přímo nahrát takže
jo takle explicitně můžeme stě a pak je cena pracovat
a multithreaded slajd s
tak feautred ram zase
zlepší bref mens při replikaci
protože dříve byli
tak vždycky vlastně a to mástru ty
ty dotazy probíhají paralelně to jasný
ta dostanou co možná si
našich měl jenom ale žena slave o našli verze pět je byli
všechny ty replikování data aplikovány jenom v jednom vlákně
a to znamená že pokud na to mástru chodilo spousta dat
pro zápis ten slajd neměla šanci to stihnout tom jednom nějaký
jo takže to je ta featura pět šest umožňuje
ty
a na dotazy do provádět nejvíc vláknech rekons ta má možnost zvolit si jestli chceme
pro provádět inorder nebo out of order
tak ještě změní možná cvika replikace
pro automatický fail over
nám umožní
nebo pro
vem budem potřebovat globální transakční id je to featura která byla hodně a nemusela na
jako hodně se o ní mluvil
a právě to pomáhá při tom filtru
každý je
démon který můžeme spustit
v rámci toho databáze měl vzteku je to
vlastně no aplikaci běžící na importu než klasický náskok a
a umožňuje nám to
způsobem jako je tady ukázaný
a s klienta každý přistupovat přímo k datům skinu líbí ten že jo
no je to je to zajímavý způsobem se jak propojit
různý aplikaci dyž nechceme ten borec toho
jste mi prostě přišlo ke konkrétní datum
jen způsobem nedokážu si predikát bavit jak by to mohl praxi jako proč bysme toupper
používali ale
určitě se najdou
ve světě jist casy kde se to dá využít
smyslu tady
a manýry pět
vlastně zase
obsahuje jako defaultní i no líbí plug in ovšem vtom tom případě je to vpodstatě
převlečení extra líbí
co eště
není gene vyvinutý pérko nelíbí právě
oproti klasickým mi nelíbí
jenže no a má na jednom serveru daleko lepší škálování pokud má ten proces report
pokud na ten server
teď sem nepamatuju přesně si více třicet dva jede
tak
tam to škálování mysqlka u špalku dál neprobíhá to je dobře ten jisté líbí
škáluje daleko líp
problém mají sám jenže nula si
většina lidí zná
když nám databáze spadne tak to mají jsem tabulky mají často problém
u mariadb je ničím
který je zase drop in apple jsme pro ten mají sami nese maria
a ten by tedy ty problémy mít neměl měl by být právě crash se jich
nové inžený který mariadb zavádí verzi pět
například konec nám umožní pracovat s různými daty na disku to je příklad jak může
probíhat práce s textem souborem který ani nemá oddělovače
takže to jednotlivý data
a ty data se oddělený po ty sloupce soudělný pouze formátováním a
na definováním ty tabulky pomocí většinou konektor můžeme přistupovat je desku velkém pomocí jo k
tomu letu souboru lorda a pracoval s tím jako by to byla databáze obětovat tabulka
v databázi
tak to kudy by to je
a inženýři ne tý společnosti toku tech
nebo jiné líbí i nížin pro
vám líbí
a ten se
když to řeknu ošklivě chvástá tím že
dokáže být až dvacet krát rychlejší než někdo líbí
přednější mně se to teda já to tady s napsaný
oni se vyvinuly nějaký vlastní index který nazývají fraktál který
a
pomocí něho by právě měl dosáhnout takovýdle výsledku
emisní kdo má zkušenosti s to kudy v jediném
já ho zkušenosti no takový že na nový fedoře znají věc se čem jede přeložit
a
tady kolega to zavedete řešit jinak praxi nevím jestli to má opravdu dvaceti násobí zlepšení
výkonu
pokud ano tak super pro vývojáře pokud tech
sfinx je vyhledávací sem changing
nebo démon
a zase tedy tímto se
může připojovat k tomu
sfinx démonovi
a dá se s tím pracovat zase
hodný třeba pro kontext vyhledávání
neblokující a pí u klienta nám umožní
pracovat vlastně s těma do to za má takže
jedno vlákno si pustim
mezitím si dělal svoje dáš se nevrátí data tak sme co dělám je to trošku
takovým
příjemnější zpracování nešel bych se dělá ten tváře sám sebe že je to všude udělat
u a strana
tady máme k tomu přímo nějaký funkce
tak já zbytek asi vzhledem k tomu že je čas kováč čímž nechám pokud nikoho
nezajímá něco konkrétního zpět pětky
přijdu k tý kde sice
ano walter se vše ladím jsem zmiňoval mají skoro pět kilo prže změnil znova je
že
tady to jedna ste chytil která je implementovaná jiné nekompatibilní oproti mysqlku
a takže
a kde to je zase nechám stranou místo id s tam jednoduše používá
jde domény jde seru
a potom teprve
a čísla nebo tu pozice vtom binární dobu
kdyby jsme se chtěli podívat vůbec co
se nabízí srovnání
pět šest mariadb deset je tam těch featur asi třicet nebo čtyřicet uvedených na tom
odkazu dole takže
pokud někdo zajímá jako více toho těch rozdílech tak klidně podívejte se
a
já bych tady akorát zmínil možná se nové engine i tý mariadb deset
je to k a sandra není to teda takže
a by mariadb obsahoval z vlastních semestru kasal to je to zase jenom konektor pro
tu databázi k a sandra znamená někde na mě život vazek a sandra a já
se stala
a s toho
sto mysqlka dokážou sto mladé lidi
demo nedokážu
připojit na to kam jsem byl jsem sem že to mám
ste mám ukázku nemám vám tam krásně čelního
a spajdrmen ti nám dovolí
a škálovat
servery
respektive
no škálovat tím stylem že ukládáme různá data na různých server znamená však ding však
vynulováním registrů na ty český ekvivalent
zkrátka řekneme že jí déčka klidně tisíce bude to maso o tisíce dvou tisíc na
tom laseru a podobně takže k tomu ten s
spajdrmen že
jenže někde ten statistik se si hovoří
samy za sebe
a jak vypadají takové dynamické sloupce
to je právě dnes těch featur která jen tak pravděpodobně
a inspirována dneska se ten
můžeme vytvořit sloupec tedy je
čistě
proud mají tu
a do něj pomocí funkci kolen krizi tak ale pět
můžeme pracovat vlastně s tím obsahem jako by to bylo další strukturovaná
a další strana data tady vidíme ukázku jak může fungovat
ukládá nějakých atributů
o produktech timletim stylem
no a pak taky mariadb nacházíme některé
pluginy a nějaký vychytávky který máme k dispozici pouze neska enterprise s
máme k dispozici vole
docela sem se divil jakto že mysql to mariadb neměli ten do tý doby
role
pro přístup
a
audit pluginy
tak
já si může sama sebe
a
lagy byl autentizuješ
módu si správně pamatuji co znamená a plug in
zase pro přístup
ty databázi
no a dostává se postgres o
a
možná ještě se teda
teďka zeptám asi vhodná doba zeptat se jestli k tomu mysqlka případně mariadb
a má nějaký konkrétní dotazy
když uplně opustíme
tydlecty databáze
si ne
tak si může podívat co nám nabízí postgres já jsem slíbil že to budou novinky
za poslední roky a vona vlastně veze devět nula voš není to je tak žhavá
novinka
ta mě zajímalo jak sme tam tady
praxí někdo používá postgres teda používá ještě osmičku osm osum něco dobro koncem starší
někde někoho viděj
a naopak rouškou živá devět tříd nejnovější g a zatím
dobry
a my
zbytek teda kdo používá postgres abych viděl kdo vůbec tady vás postgres zkušenosti
jo takže
ale stejně jsem si říkal že to bude v jednu asi změním protože
a
tam byly takový featury který právě
upstream donutil šlo
motivoval je k tomu vydat je tu
verzi pod označením devět nula ne osum pět
a je to zánět a ta replikace ste moc ten daný
a
obojí vlastně do podporuje to replikaci
do tý doby bylo možný detekovat pouze
jako bonus ten bye
momentálně můžeme mít ty s ten bye server nebo jinak označen jako slajd vlastně může
není připojený
tak
asi tunelem a jako a tak veškerý změny co se provádí na mástru v neposlední
samozřejmě byly vylepšeny perform ends kvality
a
a store jako první taková vlaštovka těch know sql featuru
jestli ta chatu ostatní nevím já jsem to tak a pažoutem shiftu byla taková první
featura která
dávala strukturovaná data do klasických
tech relačních tabulek
jednička se taky projdu jenom rychle
a
writable
common table expression nic
do tomu takle země když se to
řekne jen tak
bez vysvětlení
když fm
já teda si
a tady
příklad
když se to strašně líbilo jsem to já to prej je vlastně pracuje se daty
a dejme tomu vymažu sloupec no a teďka když a že sloupec často chci s
tím
ještě něco udělat co zalogovat že jsem mazal sloupec
a právě tady tohleto lokomotivové své šance
nám dovolí s tím vymazaný jsou zveš něco udělat třeba na vložit do
ty logovací tabulky
doufám že to vy se tu správně
a aspoň trochu srozumitelně
zkrátka s těmi daty se kterými pracuju v jednom dotazu ještě může v rámci to
jedno dotazu
udělat něco jinýho
no selinux a postgres
dohromady vytvoří jasné postgres modul který nám dovolí v rámci tý databáze používat
a selinux
a vajgly a omezovat přístup ke mně se jim databázi objektu a je to aspoň
co sem se dočet to tak momentálně
je postgres jediná databázi která umožňuje tady to dělat vlastně pomocí selinuxu omezovat přístup
no a tady ten ta nejbližší sousedi to je tady ukazují na prach na praktický
ukázce
a nemusím
pokud použiju or doba jako
limit
nutně rovna všechna data pomocí tydlety featury
je jde zvýšit parfém s tím že
budu pracovat jenom s těmi
opravdu nejbližšími sousedy
je čtvrtek no
zkrátka zvýší to rychlost tyhle typu dotazů
no a kde vy dva to už bych řek že a ty mě
nová věc
a
performer zase dokáže zlepšit
index tady sterling
dobře zkus i něco víc českýho
zkrátka když procházím
tabulku a chci zní brát jenom data která jsou uložena u špek lidských těch indexy
tak nám vlastně důvody vůbec šahat na ta data která nejsou indexované
může vůbec vlastního bratra to po pouze s těch indexu tam vlastně jsi
kdybych si představil jednoduchý dotaz select id strom něco
kde id s menší než tisíc
tady proto vás nebo co přes boky na tom
ty tabulce samotný takže
timletim zcela se zase lze
dost urychlete dotazy
bohužel
nefunguje to dycky ty
indexy musíš určitý kritéria
a ale to už a sem je dost tak do hloubky ale byste to chtěli
použít a
masem takle prostor za mořem používá když to lze tak automaticky ale
a pokud byste se divili proč se nám
proč vám to nejde použít tak budete muset hostovat jaký jsou ty podmínky aby to
šlo použít
kasta dva replikace to je něco co sem se snažil naznačit
kina jiným diagramem
zkrátka jde o to že slajd nemusí je jako a ty nám z mástru ale
může detekovat i zimního stejná
že jsem na to jít i
můžeme
o to verze devět dva ukládat a
načítat ale vpodstatě musím zmínit že verzi devět vás i ten že jsem něco k
nepoužitelný
ta databáze a neudělá nic mládež že nám ozvali takže jsme že
to rozumný že jsem dokument a že to není nějaký paskvil
no a datový typ ranch nám umožní udělá stýho postavou postgres u podstatě času databázi
pokud použijeme ranch na
časový údaj
a nebo naopak může po užitečná třeba čísla
a pokud
anebo jenom vlastně datový typ je
a ukládat si tam
a pracovat s těmi rozsahy používat otevřený uzavřený rozsah je všechno ok obojí tam kde
to tady mám
vlastně ukázaný
jak to může fungovat vidíte tady
různé druhy závorek
a tou a tou
tím definujme různě
a právě to uzavření otevření to intervalu
no a jste list číst
jak by se teda číst tak nějak pole české
a neni to
index pro prostorová data jak jsem na první pohled myslel že to je
je to nový
co to nové rodiny indexu obecná indexy čest
který
je možný využít pro neuniformní distribuovaná data
jestli někdo nedávno prošel kurzem databází ne na fitu tak si možná bude pamatovat že
máme různý typy indexu například k a ta nejbližší
to úžasné jinak quadtree
a
se tam ještě bylo zařazení typ indexu který je
no a tady ty typy indexovat právě umožněte je ten stack jist využít a
a může to zlepšit tady u těch dat
jejich krev konec proč se zmínil že
zástavy zmizí operátor no mizí operátor násilí čítka
přes eště naznačit že
u upstreamu postgres o
můžeme očekávat i takovýdle
takovýdle změny že
když uznají že něco je lepší vztahovat ty databáze dát pryč
tak se nebojí to z jedný mají nevleze na druhou není verzi udělat
když je to změna samozřejmě kompatibilní tak když uznají že to má smysl tak to
zkrátka udělají a proč ne aspoň se ta databáze a celkově ten projekt udržuje tak
trochu čistý
no a tady touž poslední slajd ten budu mluvit protože
povídání o devět čtyřce u všech ano
na kole vyleje na příští přednášku
a
ty devět trojici jemuž ten že jsem jak se říká že ve dvojce devět leoš
ještě není moc použitelný tak tady užší je dobře použitelný
může s tím že jsem datovým typem pracovat tak jak byste čekali můžeme pracovat s
jednotlivými
klíči vtom že jsem dokumentu s nějakou podčásti dokumentu a podobně co může je tam
daleko víc těch funkcí
a celkově rušíš vše to co ta celkem dobrý úrovni takže vlastně s tou postgres
už to tak řeknu uděláme takový malý kdy
tím že nadefinujeme ty tabulky
aničko a jeden datový typ že jsem
no a pak se to může chovat hodně podobně
jeden tejden a data
definition není pryč
praxi třeba při nám sloupec chci províst nějakou akci vtom případě
tak tady co nám to umožní
a to je za materializované pohledy byly údajně
a
nějaké anketě
označeny jako
featurách kterou uživatelé chtějí nejvíc
minimálně v jisté době bluetooth a ne zpátky
a verzi děje při se jich konečně dočkali
no a proto aby to a ten pohledy
co tak jedna svítil teda možný
push vytvořené pohledy
updatovat
tak trochu automaticky když ono to neproběhlo bude automaticky ještě z té věci
ale nemusí jehož to updatovat pomocí trigrů jako sme to dobrý to museli dělat
samozřejmě zase tam je tony
updatovat plný pohledy musí splňovat určitý
určitý
podmínky jako například že
vše musí pracovat s jednou tabulkou
no je tam celkem striktní omezení ale minimálně pro určitý hezké jestli to bude určitě
dobrý přínos
a von interval s se znamená to že
možnost propojit právě víc databázi
budu mít jeden server a jenom nevyjde jedno za vars puštěnou seru
nad den sedm spuštěno dvou databázi abych nemusel
ty databázi propojovat na aplikační úrovni může se nadefinovat že tato tabulka bude přistupovat k
datům s toho druhýho sem
od verze tři
tak a už od verze devět jedna tuším
tato možnost tam funguje pro čtení dat
pro zápis
to funguje a šli od verze devět tři
no a poslední asi traktoru zmíním jednu přeskočím negramot workery
a vpodstatě moduly do jádra postgres u toho samotnýho deamona je možný si to funkce
rozšířit samozřejmě s velkou
s velkejma možnost na využití zároveň přichází velká zodpovědnost
tím že ten
modul má přístup víceméně ke všemu co má
ten databázový server
můžeme si tam napáchat strašnou školy takže s tím a tím prosím vás opatrně
no a jak se říká devět čtyřkou fakt nechám na příští přednášku
jenom ukázka jak se pracuje třeba s tím že jsem
a jsou si že
čas
pro dotazy
tak máme tři dotazy
tak kdo bude první
tak já začal soud koncem ten kdo by tam určitě
jezd začal někdo horákovou upřímně nevím já se o to raka tolik nezajímá
já abych řek pravdu tak se zajímavé no ty open se databáze
nestíhám taky a ostatní ale může se tak ostatních s někdo má zkušenosti s jinýma
komerční databázová
jestli tam se tak je například práci jezděj snem nebo jestli už to tam nějakou
dobu standardem nebo
jak to funguje s ní kdo ví tak klidně je to zodpovědět za mě
asi zatím
určitě zatím se to dělá minimálně pokaždý na a ve standardu esku já bych to
asi ani nehledal a je to mi tam příde že by tam asi mělo být
spíš
možná jste časem dostane ale nemyslím že tam nebyl
že to je druhým směrem zase
nikdo další
tak já se zeptám
když si právě přednášel o mnou hezký a potom o tom čisté mysql do kterého
se dostávají vlivy
právě jak se to nezobrazí jste
jako vlastně bylo vidět
když to tam vlastně strkáme takže tam strkáme v rámci toho standardu tam vlastně bylo
vidět se používaj nějakých funkce
nějaký vlastně ty
takže jsem je se používá jako nový datový typ ženy vlastně
jako zase to bylo dělaný pomocí funkcí takže jde jednak o ten standard skvěle nebo
jako určeny jako resp neznali detail jsem si že
že to nebylo úplně proti spíš to byl jako využití
těch funkcí deset neškodně směrem dnešní se do teďka byli zvyklí
já jsem se právě chtěl zeptat
no to
my sme se dostali k zajímavý myšlence že nevím životem jednu databázi
obecně
máme specializovat to
vy si pane tomuhle vidíš budoucnost že teda pokud někdo bude chtít dělat databáze tak
už mu nebude stačit hezký well
nebo různou si znovu hezky jo ale bude to potřebovat kombinovat
a skutečně tou využívat
řekněme taky loni
no že no to je jedna velká databáze
je
semi poznal a nebudou to trochu menší celky které buzz pizzou z nepřímo neví to
a obsažené třeba tě kontejnerů pokud tady někdo byl na těch přednáškách o dockeru
jak to vidíš
no určitě už davidem příklad jak to funguje v praxi které asi všichni známe case
bohužel
a máš prsty mariadb používá
ho používá minimálně nevím jestli pořád že
ukládala data do maria lidí
a zároveň
stál u zrodu k a sandra databáze to že vlastně týhle databáze
nakonec jí opustil ale to byl přesně klasický byla to klasická ukázka toho jak jeden
projekt
velký projekt se nespokojil prostě se na databázi tam dokládal všechno
například pro ty komentáře u těch zpráv asi těžko bude
potřeba replikovat ty data
a hnedka synchronně mezi všechny servisy je ta mu stačí nějaká eventuální replikace
a na to bohatě stačí přál potomka sandra tak nebo jestli jako je takle sto
představu že vlastně na určitá data budou používat pořád relace
a na například nějaký byznys data o prodejích a podobně
a potom nějaký
a
například ty komentáře a různí
meta data návrh
tam klidně může nastoupit doplnění ty aplikace
proto báze
jdeme pánové zpět kdy
to bylo jasně rozdělené hezkýho neujezdil
tak asi končí
amen
já styď se zeptat
jak se tam budou hezkýho podání ondřej bratr
no jdou