{"id":36634,"date":"2019-10-31T22:12:47","date_gmt":"2019-10-31T19:12:47","guid":{"rendered":"https:\/\/prohoster.info\/blog\/globaly-mechi-kladentsy-dlya-hraneniya-dannyh-derevya-chast-1\/"},"modified":"2019-10-31T22:12:47","modified_gmt":"2019-10-31T19:12:47","slug":"globaly-mechi-kladentsy-dlya-hraneniya-dannyh-derevya-chast-1","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/globaly-mechi-kladentsy-dlya-hraneniya-dannyh-derevya-chast-1","title":{"rendered":"Glob\u00e1ly \u2014 me\u010de-kladivce pro skladov\u00e1n\u00ed dat. Stromy. \u010c\u00e1st 1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"http:\/\/habrahabr.ru\/company\/intersystems\/blog\/263791\/\"><img decoding=\"async\" alt=\"Glob\u00e1ly \u2014 me\u010de-kladivce pro skladov\u00e1n\u00ed dat. Stromy. \u010c\u00e1st 1\" src=\"\/wp-content\/uploads\/2019\/07\/83b8e36bff66516e2c331d75d8434e13.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex> Opravdov\u00e9 datab\u00e1zov\u00e9 glob\u00e1ly \u2014 zbran\u011b s hrozivou moc\u00ed \u2014 jsou ji\u017e dlouho zn\u00e1m\u00e9, ale st\u00e1le je jen m\u00e1lo t\u011bch, kte\u0159\u00ed je dok\u00e1\u017eou efektivn\u011b pou\u017e\u00edvat nebo tento superzbra\u0148 v\u016fbec ovl\u00e1daj\u00ed.<\/p>\n<p>Pokud glob\u00e1ly pou\u017eijete k \u0159e\u0161en\u00ed \u00fakol\u016f, v nich\u017e vynikaj\u00ed, m\u016f\u017eete dos\u00e1hnout vynikaj\u00edc\u00edch v\u00fdsledk\u016f. A\u0165 u\u017e v oblasti v\u00fdkonu, nebo p\u0159i zjednodu\u0161en\u00ed \u0159e\u0161en\u00ed \u00fakolu (<noindex><a rel=\"nofollow\" href=\"http:\/\/www.intersystems.ru\/press\/2013\/gaia-mission-1yr-later.html\">1<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"http:\/\/intersystems.ru\/cache\/technology\/techguide\/cache_tech-guide_01.html\">2<\/a><\/noindex>).<\/p>\n<p>Glob\u00e1ly jsou speci\u00e1ln\u00ed zp\u016fsob ukl\u00e1d\u00e1n\u00ed a zpracov\u00e1n\u00ed dat, zcela odli\u0161n\u00fd od tabulek v SQL. Objevily se v roce 1966 v jazyce <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/MUMPS\">M(UMPS)<\/a><\/noindex> (evolu\u010dn\u00ed rozvoj \u2014 <noindex><a rel=\"nofollow\" href=\"http:\/\/www.intersystems.com\/our-products\/cache\/tech-guide\/chapter-3\/#cache-objectscript\">Cach\u00e9 ObjectScript<\/a><\/noindex>, d\u00e1le COS) v l\u00e9ka\u0159sk\u00fdch datab\u00e1z\u00edch a dodnes se tam <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/VistA\">aktivn\u011b pou\u017e\u00edvaj\u00ed<\/a><\/noindex>, a tak\u00e9 pronikly do n\u011bkter\u00fdch dal\u0161\u00edch oblast\u00ed, kde je vy\u017eadov\u00e1na spolehlivost a vysok\u00fd v\u00fdkon: finance, obchodov\u00e1n\u00ed atd.<\/p>\n<p>Glob\u00e1ly v modern\u00edch DBMS podporuj\u00ed transakce, protokolov\u00e1n\u00ed, replikaci, partitioning. Tedy na nich lze budovat modern\u00ed, spolehliv\u00e9, distribuovan\u00e9 a rychl\u00e9 syst\u00e9my.<\/p>\n<p>Glob\u00e1ly v\u00e1s neomezuje hranicemi rela\u010dn\u00edho modelu. Poskytuj\u00ed svobodu pro v\u00fdvoj datov\u00fdch struktur optimalizovan\u00fdch pro konkr\u00e9tn\u00ed \u00fakoly. V mnoha aplikac\u00edch m\u016f\u017ee rozumn\u00e9 vyu\u017eit\u00ed glob\u00e1l\u016f p\u0159edstavovat skute\u010dn\u011b tajnou zbra\u0148, kter\u00e1 zaji\u0161\u0165uje v\u00fdkon, o n\u011bm\u017e mohou v\u00fdvoj\u00e1\u0159i rela\u010dn\u00edch aplikac\u00ed pouze sn\u00edt.<\/p>\n<p>Glob\u00e1ly jako zp\u016fsob ukl\u00e1d\u00e1n\u00ed dat lze pou\u017e\u00edt v mnoha modern\u00edch programovac\u00edch jazyc\u00edch, jak vysoce \u00farov\u0148ov\u00fdch, tak n\u00edzko\u00farov\u0148ov\u00fdch. Proto se v tomto \u010dl\u00e1nku zam\u011b\u0159\u00edm pr\u00e1v\u011b na glob\u00e1ly, nikoliv na jazyk, ze kter\u00e9ho se kdysi vyvinuly.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>2. Jak funguj\u00ed glob\u00e1ly<\/h2>\n<p>\nPoj\u010fme si nejprve objasnit, jak glob\u00e1ly funguj\u00ed, a v \u010dem spo\u010d\u00edvaj\u00ed jejich siln\u00e9 str\u00e1nky. Na glob\u00e1ly lze pohl\u00ed\u017eet z r\u016fzn\u00fdch \u00fahl\u016f pohledu. V t\u00e9to \u010d\u00e1sti \u010dl\u00e1nku se na n\u011b zam\u011b\u0159\u00edme jako na stromy. Nebo jako na hierarchick\u00e1 \u00falo\u017ei\u0161t\u011b dat.<\/p>\n<p>Zjednodu\u0161en\u011b \u0159e\u010deno, glob\u00e1l je trval\u00e9 pole. Pole, kter\u00e9 se automaticky ukl\u00e1d\u00e1 na disk.<br \/>\nT\u011b\u017eko si p\u0159edstavit n\u011bco jednodu\u0161\u0161\u00edho pro ukl\u00e1d\u00e1n\u00ed dat. V k\u00f3du (v jazyc\u00edch COS\/M) se od b\u011b\u017en\u00e9ho asociativn\u00edho pole li\u0161\u00ed pouze znakem <b>^<\/b> p\u0159ed n\u00e1zvem.<\/p>\n<p>Pro ukl\u00e1d\u00e1n\u00ed dat do glob\u00e1lu nen\u00ed nutn\u00e9 studovat jazyk SQL, p\u0159\u00edkazy pro pr\u00e1ci s nimi jsou velmi jednoduch\u00e9. Lze je nau\u010dit za hodinu. <\/p>\n<p>Za\u010dn\u011bme t\u00edm nejjednodu\u0161\u0161\u00edm p\u0159\u00edkladem. Jednoduch\u00e9 jedno\u00farov\u0148ov\u00e9 strom s 2 v\u011btvemi. P\u0159\u00edklady jsou naps\u00e1ny v COS.<\/p>\n<p><img decoding=\"async\" alt=\"Glob\u00e1ly \u2014 me\u010de-kladivce pro skladov\u00e1n\u00ed dat. Stromy. \u010c\u00e1st 1\" src=\"\/wp-content\/uploads\/2019\/07\/5e1503716eac1eaadf49fcf3651e7fbf.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<pre><code class=\"bash\">Nastavte ^a(\"+7926X\") = \"John Sidorov\"\nNastavte ^a(\"+7916Y\") = \"Sergey Smith\"<\/code><\/pre>\n<p><br clear=\"left\"\/><br \/>\nP\u0159i vlo\u017een\u00ed informac\u00ed do glob\u00e1l (p\u0159\u00edkaz Set) se automaticky d\u011bj\u00ed 3 v\u011bci:<\/p>\n<ol>\n<li><b>Ulo\u017een\u00ed dat na disk.<\/b>\n<\/li>\n<li><b>Indexace.<\/b> To, co je v z\u00e1vork\u00e1ch, je kl\u00ed\u010d (v anglick\u00e9 literatu\u0159e - \"subscript\"), a napravo od rovn\u00e1 se je hodnota (\"node value\").\n<\/li>\n<li><b>T\u0159\u00edd\u011bn\u00ed.<\/b> Data jsou t\u0159\u00edd\u011bna podle kl\u00ed\u010de. P\u0159i proch\u00e1zen\u00ed polem se prvn\u00edm prvkem stane \u201eSergey Smith\u201c a druh\u00fdm \u201eJohn Sidorov\u201c. P\u0159i z\u00edsk\u00e1v\u00e1n\u00ed seznamu u\u017eivatel\u016f z glob\u00e1l datab\u00e1ze neztr\u00e1c\u00ed \u010das t\u0159\u00edd\u011bn\u00edm. Nav\u00edc je mo\u017en\u00e9 po\u017e\u00e1dat o v\u00fdstup se\u0159azen\u00e9ho seznamu, po\u010d\u00ednaje jak\u00fdmkoli kl\u00ed\u010dem, dokonce i neexistuj\u00edc\u00edm (v\u00fdstup za\u010dne prvn\u00edm skute\u010dn\u00fdm kl\u00ed\u010dem, kter\u00fd n\u00e1sleduje po neexistuj\u00edc\u00edm).\n<\/li>\n<\/ol>\n<p>\nV\u0161echny tyto operace prob\u00edhaj\u00ed neuv\u011b\u0159iteln\u011b rychle. Na dom\u00e1c\u00edm po\u010d\u00edta\u010di jsem dosahoval hodnot a\u017e 750 000 vlo\u017een\u00ed\/s v jednom procesu. Na v\u00edcej\u00e1drov\u00fdch procesorech mohou hodnoty dosahovat <noindex><a rel=\"nofollow\" href=\"http:\/\/habrahabr.ru\/company\/intersystems\/blog\/257501\/\">des\u00edtek milion\u016f<\/a><\/noindex> vlo\u017een\u00edch\/s.<\/p>\n<p>Samoz\u0159ejm\u011b, samotn\u00e1 rychlost vlo\u017een\u00ed toho p\u0159\u00edli\u0161 ne\u0159\u00edk\u00e1. M\u016f\u017eete nap\u0159\u00edklad velmi rychle zapisovat informace do textov\u00fdch soubor\u016f \u2013 tak <noindex><a rel=\"nofollow\" href=\"http:\/\/habrahabr.ru\/post\/176345\/#comment_6220633\">podle zpr\u00e1v<\/a><\/noindex> funguje zpracov\u00e1n\u00ed Visa. Ale v p\u0159\u00edpad\u011b glob\u00e1l\u016f dost\u00e1v\u00e1me na v\u00fdstupu strukturovan\u00e9 indexovan\u00e9 \u00falo\u017ei\u0161t\u011b, se kter\u00fdm je mo\u017en\u00e9 pozd\u011bji jednodu\u0161e a rychle pracovat.<\/p>\n<p><img decoding=\"async\" alt=\"Glob\u00e1ly \u2014 me\u010de-kladivce pro skladov\u00e1n\u00ed dat. Stromy. \u010c\u00e1st 1\" src=\"\/wp-content\/uploads\/2019\/07\/ce447c81cf3a7d570518711c7103dbf0.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<ul>\n<li><b>Nejsiln\u011bj\u0161\u00ed str\u00e1nkou glob\u00e1l\u016f je rychlost vkl\u00e1d\u00e1n\u00ed nov\u00fdch uzl\u016f.<\/b>\n<\/li>\n<li><b>Data v glob\u00e1lu jsou v\u017edy indexov\u00e1na. Proch\u00e1zen\u00ed jak na jedn\u00e9 \u00farovni, tak do hloubky stromu je v\u017edy rychl\u00e9.<\/b><\/li>\n<\/ul>\n<p>\nP\u0159id\u00e1me do glob\u00e1lu je\u0161t\u011b n\u011bkolik v\u011btv\u00ed druh\u00e9 a t\u0159et\u00ed \u00farovn\u011b.<\/p>\n<pre><code class=\"bash\">Nastavte ^a(\"+7926X\", \"m\u011bsto\") = \"Moskva\"\nNastavte ^a(\"+7926X\", \"m\u011bsto\", \"ulice\") = \"Req Square\"\nNastavte ^a(\"+7926X\", \"v\u011bk\") = 25\nNastavte ^a(\"+7916Y\", \"m\u011bsto\") = \"Lond\u00fdn\"\nNastavte ^a(\"+7916Y\", \"m\u011bsto\", \"ulice\") = \"Baker Street\"\nNastavte ^a(\"+7916Y\", \"v\u011bk\") = 36<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Glob\u00e1ly \u2014 me\u010de-kladivce pro skladov\u00e1n\u00ed dat. Stromy. \u010c\u00e1st 1\" src=\"\/wp-content\/uploads\/2019\/07\/47244a6d96b589ada53ba9f53b2b3a2f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJe z\u0159ejm\u00e9, \u017ee na z\u00e1klad\u011b glob\u00e1l\u016f lze budovat v\u00edce\u00farov\u0148ov\u00e9 stromy. P\u0159\u00edstup k jak\u00e9mukoli uzlu je prakticky okam\u017eit\u00fd d\u00edky autoindexov\u00e1n\u00ed p\u0159i vkl\u00e1d\u00e1n\u00ed. A na jak\u00e9koliv \u00farovni stromu jsou v\u0161echny v\u011btve se\u0159azeny podle kl\u00ed\u010de.<\/p>\n<p>Jak je vid\u011bt, informace lze uchov\u00e1vat jak v kl\u00ed\u010di, tak v hodnot\u011b. Celkov\u00e1 d\u00e9lka kl\u00ed\u010de (sou\u010det d\u00e9lek v\u0161ech index\u016f) m\u016f\u017ee dosahovat <noindex><a rel=\"nofollow\" href=\"http:\/\/docs.intersystems.com\/ens20152\/csp\/docbook\/DocBook.UI.Page.cls?KEY=GGBL_structure#GGBL_structure_maxsubscrlen\">511 bajt\u016f<\/a><\/noindex>, a hodnoty <noindex><a rel=\"nofollow\" href=\"http:\/\/docs.intersystems.com\/cache20152\/csp\/docbook\/DocBook.UI.Page.cls?KEY=GORIENT_appx_limits_long_string\">3.6 MB<\/a><\/noindex> pro Cach\u00e9. Po\u010det \u00farovn\u00ed ve strom\u011b (po\u010det m\u011b\u0159en\u00ed) \u2013 31.<\/p>\n<p>Je\u0161t\u011b zaj\u00edmav\u00fd moment. Lze postavit strom, ani\u017e byste zad\u00e1vali hodnoty uzl\u016f horn\u00edch \u00farovn\u00ed.<\/p>\n<p><img decoding=\"async\" alt=\"Glob\u00e1ly \u2014 me\u010de-kladivce pro skladov\u00e1n\u00ed dat. Stromy. \u010c\u00e1st 1\" src=\"\/wp-content\/uploads\/2019\/07\/f37f81a87a13adb13bbd3583dda06928.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<pre><code class=\"bash\">Nastavte ^b(\"a\", \"b\", \"c\", \"d\") = 1\nNastavte ^b(\"a\", \"b\", \"c\", \"e\") = 2\nNastavte ^b(\"a\", \"b\", \"f\", \"g\") = 3<\/code><\/pre>\n<p>\nPr\u00e1zdn\u00e9 uzly jsou uzly, kter\u00fdm nebyla p\u0159i\u0159azena hodnota.<br clear=\"left\"\/><br \/>\nAbychom l\u00e9pe porozum\u011bli glob\u00e1l\u016fm, porovnejme je s jin\u00fdmi stromy: se zahradn\u00edmi a se stromy n\u00e1zv\u016f souborov\u00fdch syst\u00e9m\u016f.<\/p>\n<p>Porovnejme stromy v glob\u00e1lech s nejl\u00e9pe zn\u00e1m\u00fdmi hierarchick\u00fdmi strukturami: s b\u011b\u017en\u00fdmi stromy, kter\u00e9 rostou v zahrad\u00e1ch a na pol\u00edch, a tak\u00e9 se souborov\u00fdmi syst\u00e9my.<\/p>\n<p><img decoding=\"async\" alt=\"Glob\u00e1ly \u2014 me\u010de-kladivce pro skladov\u00e1n\u00ed dat. Stromy. \u010c\u00e1st 1\" src=\"\/wp-content\/uploads\/2019\/07\/c6b00c70867c3eb2e2d8233e0fc6b6c6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJak vid\u00edme u zahradn\u00edch strom\u016f, listy a plody se nach\u00e1zej\u00ed pouze na konc\u00edch v\u011btv\u00ed.<br \/>\nU souborov\u00fdch syst\u00e9m\u016f se informace uchov\u00e1vaj\u00ed pouze na konc\u00edch v\u011btv\u00ed, kter\u00fdmi jsou kompletn\u00ed n\u00e1zvy soubor\u016f.<\/p>\n<p>A tady je struktura dat glob\u00e1lu.<\/p>\n<p><img decoding=\"async\" alt=\"Glob\u00e1ly \u2014 me\u010de-kladivce pro skladov\u00e1n\u00ed dat. Stromy. \u010c\u00e1st 1\" src=\"\/wp-content\/uploads\/2019\/07\/288a5d964b4bf859944c0a0ecd000bc7.jpg\" style=\"display:block;margin: 0 auto;\" \/>Rozd\u00edly:<\/p>\n<ol>\n<li><b>Vnit\u0159n\u00ed uzly:<\/b> Informace v glob\u00e1lu m\u016f\u017ee b\u00fdt uchov\u00e1v\u00e1na v ka\u017ed\u00e9m uzlu, nikoli pouze na konc\u00edch v\u011btv\u00ed.<\/li>\n<li><b>Vn\u011bj\u0161\u00ed uzly:<\/b> Glob\u00e1l mus\u00ed m\u00edt ur\u010dena hodnoty na konc\u00edch v\u011btv\u00ed, u strom\u016f FS a zahradn\u00edch to nen\u00ed nutn\u00e9.<\/li>\n<\/ol>\n<p><br clear=\"left\"\/><br \/>\nPokud jde o n\u011bkter\u00e9 vnit\u0159n\u00ed uzly, lze \u0159\u00edci, \u017ee struktura glob\u00e1lu je nadmno\u017einou struktury strom\u016f n\u00e1zv\u016f ve \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 a zahradn\u00edch stromech. Tedy je flexibiln\u011bj\u0161\u00ed.<\/p>\n<p>Obecn\u011b glob\u00e1l p\u0159edstavuje <b>uspo\u0159\u00e1dan\u00fd strom s mo\u017enost\u00ed uchov\u00e1n\u00ed dat v ka\u017ed\u00e9m uzlu<\/b>.<\/p>\n<p>Abychom l\u00e9pe pochopili fungov\u00e1n\u00ed glob\u00e1l\u016f, p\u0159edstavme si, co by se stalo, kdyby tv\u016frci souborov\u00fdch syst\u00e9m\u016f pou\u017e\u00edvali k uchov\u00e1v\u00e1n\u00ed informac\u00ed p\u0159\u00edstup podobn\u00fd glob\u00e1l\u016fm?<\/p>\n<ol>\n<li>P\u0159i odstran\u011bn\u00ed jedin\u00e9ho souboru v adres\u00e1\u0159i by se automaticky odstranil adres\u00e1\u0159 i v\u0161echny nad\u0159azen\u00e9 adres\u00e1\u0159e, kter\u00e9 obsahovaly pouze pr\u00e1v\u011b odstran\u011bn\u00fd adres\u00e1\u0159.\n<\/li>\n<li>Pot\u0159eba adres\u00e1\u0159\u016f by vymizela. Prost\u011b by existovaly soubory s podsoubory a soubory bez podsoubor\u016f. Pokud bychom to porovnali s b\u011b\u017en\u00fdm stromem, ka\u017ed\u00e1 v\u011btev by se stala plodem.\n<p><img decoding=\"async\" alt=\"Glob\u00e1ly \u2014 me\u010de-kladivce pro skladov\u00e1n\u00ed dat. Stromy. \u010c\u00e1st 1\" src=\"\/wp-content\/uploads\/2019\/07\/8e5e5681c191869da23c32da6e6d8d7b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n\n<\/li>\n<li>Takov\u00e9 v\u011bci jako soubory README.txt by pravd\u011bpodobn\u011b vymizely. V\u0161echno, co bychom pot\u0159ebovali \u0159\u00edci o obsahu adres\u00e1\u0159e, bychom mohli zapsat do samotn\u00e9ho souboru adres\u00e1\u0159e. V prostoru cest nen\u00ed n\u00e1zev souboru od n\u00e1zvu adres\u00e1\u0159e k nerozezn\u00e1n\u00ed, a proto bychom se mohli obej\u00edt pouze soubory.\n<\/li>\n<li>Rychlost odstra\u0148ov\u00e1n\u00ed adres\u00e1\u0159\u016f s vlo\u017een\u00fdmi podslo\u017ekami a soubory by se prudce zv\u00fd\u0161ila. Mnohokr\u00e1t se na Habru objevily \u010dl\u00e1nky o tom, jak dlouho a obt\u00ed\u017en\u011b se odstra\u0148uj\u00ed miliony drobn\u00fdch soubor\u016f (<noindex><a rel=\"nofollow\" href=\"http:\/\/habrahabr.ru\/post\/152193\/\">1<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"http:\/\/habrahabr.ru\/post\/157613\/\">2<\/a><\/noindex>). Pokud vytvo\u0159\u00edte pseudo-soubrovou strukturu v glob\u00e1ln\u00edm m\u011b\u0159\u00edtku, zabere to sekundy nebo jejich zlomky. Kdy\u017e jsem testoval maz\u00e1n\u00ed podstrom\u016f na dom\u00e1c\u00edm po\u010d\u00edta\u010di, b\u011bhem jedn\u00e9 sekundy bylo odstran\u011bno 96-341 milion\u016f uzl\u016f ze dvou\u00farov\u0148ov\u00e9ho stromu na HDD (ne SSD). \u0158e\u010d je o maz\u00e1n\u00ed \u010d\u00e1sti stromu, nikoli o pouh\u00e9m odstran\u011bn\u00ed cel\u00e9ho souboru s glob\u00e1ly.<\/li>\n<\/ol>\n<p>\n<img decoding=\"async\" alt=\"Glob\u00e1ly \u2014 me\u010de-kladivce pro skladov\u00e1n\u00ed dat. Stromy. \u010c\u00e1st 1\" src=\"\/wp-content\/uploads\/2019\/07\/7f700eeafb3e552923139024f38c6661.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<b>Maz\u00e1n\u00ed podstrom\u016f je dal\u0161\u00edm siln\u00fdm bodem glob\u00e1l\u016f. Nepot\u0159ebuje k tomu rekurzi.<\/b> To prob\u00edh\u00e1 neuv\u011b\u0159iteln\u011b rychle.<\/p>\n<p>V na\u0161em strom\u011b by to bylo mo\u017en\u00e9 prov\u00e9st p\u0159\u00edkazem <b>Kill<\/b>.<\/p>\n<pre><code class=\"bash\">Zabijte ^a(\"+7926X\")<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Glob\u00e1ly \u2014 me\u010de-kladivce pro skladov\u00e1n\u00ed dat. Stromy. \u010c\u00e1st 1\" src=\"\/wp-content\/uploads\/2019\/07\/89d5b69c6e80832c6865824782d9754d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPro lep\u0161\u00ed pochopen\u00ed toho, jak\u00e9 akce m\u016f\u017eeme prov\u00e1d\u011bt s glob\u00e1ly, uv\u00e1d\u00edm stru\u010dnou tabulku.<\/p>\n<p>Hlavn\u00ed p\u0159\u00edkazy a funkce pro pr\u00e1ci s glob\u00e1ly v COS<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"http:\/\/docs.intersystems.com\/cache20152\/csp\/docbook\/DocBook.UI.Page.cls?KEY=RCOS_cset\">Set<\/a><\/noindex><br \/>\nNastaven\u00ed v\u011btv\u00ed a\u017e do uzlu (pokud nejsou dosud definov\u00e1ny) a hodnoty uzlu<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"http:\/\/docs.intersystems.com\/cache20152\/csp\/docbook\/DocBook.UI.Page.cls?KEY=RCOS_cmerge\">Merge<\/a><\/noindex><br \/>\nKop\u00edrov\u00e1n\u00ed podstromu<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"http:\/\/docs.intersystems.com\/cache20152\/csp\/docbook\/DocBook.UI.Page.cls?KEY=RCOS_ckill\">Kill<\/a><\/noindex><br \/>\nMaz\u00e1n\u00ed podstromu<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"http:\/\/docs.intersystems.com\/cache20152\/csp\/docbook\/DocBook.UI.Page.cls?KEY=RCOS_czkill\">ZKill<\/a><\/noindex><br \/>\nMaz\u00e1n\u00ed hodnoty konkr\u00e9tn\u00edho uzlu. Podstrom vych\u00e1zej\u00edc\u00ed z uzlu se nedot\u00fdk\u00e1<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"http:\/\/docs.intersystems.com\/cache20152\/csp\/docbook\/DocBook.UI.Page.cls?KEY=RCOS_fquery\">$Query<\/a><\/noindex><br \/>\n\u00dapln\u00fd pr\u016fchod stromem s vhledem do hloubky<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"http:\/\/docs.intersystems.com\/cache20152\/csp\/docbook\/DocBook.UI.Page.cls?KEY=RCOS_forder\">$Order<\/a><\/noindex><br \/>\nPr\u016fchod v\u011btvemi konkr\u00e9tn\u00edho uzlu<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"http:\/\/docs.intersystems.com\/cache20152\/csp\/docbook\/DocBook.UI.Page.cls?KEY=RCOS_fdata\">$Data<\/a><\/noindex><br \/>\nKontrola zda je uzel definov\u00e1n<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"http:\/\/docs.intersystems.com\/cache20152\/csp\/docbook\/DocBook.UI.Page.cls?KEY=RCOS_fincrement\">$Increment<\/a><\/noindex><br \/>\nAtomov\u00e9 inkrementov\u00e1n\u00ed hodnoty uzlu. Abychom se vyhnuli \u010dten\u00ed a z\u00e1pisu, pro ACID. V posledn\u00ed dob\u011b se doporu\u010duje m\u011bnit na <noindex><a rel=\"nofollow\" href=\"http:\/\/habrahabr.ru\/company\/intersystems\/blog\/263793\/\">$Sequence<\/a><\/noindex><\/p>\n<p>D\u011bkujeme za pozornost, jsme p\u0159ipraveni odpov\u011bd\u011bt na va\u0161e dotazy.<\/p>\n<p><b>Pozn\u00e1mka<\/b>: <i>Tento \u010dl\u00e1nek a m\u00e9 koment\u00e1\u0159e k n\u011bmu p\u0159edstavuj\u00ed m\u016fj n\u00e1zor a nemaj\u00ed nic spole\u010dn\u00e9ho s ofici\u00e1ln\u00edm postojem spole\u010dnosti InterSystems.<\/i><\/p>\n<p><i><b>Pokra\u010dov\u00e1n\u00ed<\/b> <noindex><a rel=\"nofollow\" href=\"http:\/\/habrahabr.ru\/company\/intersystems\/blog\/264173\/\">Glob\u00e1ly \u2013 me\u010dovac\u00ed n\u00e1stroje pro ukl\u00e1d\u00e1n\u00ed dat. Stromy. \u010c\u00e1st 2<\/a><\/noindex>. Zjist\u00edte, jak\u00e9 typy dat lze zobrazi na glob\u00e1lech a na jak\u00fdch \u00faloh\u00e1ch poskytuj\u00ed maxim\u00e1ln\u00ed v\u00fdhodu.<\/i><br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/intersystems\/blog\/263791\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u043c\u0435\u0447\u0438-\u043a\u043b\u0430\u0434\u0435\u043d\u0446\u044b \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u2014 \u0433\u043b\u043e\u0431\u0430\u043b\u044b \u2014 \u0434\u0430\u0432\u043d\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b, \u043d\u043e \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u043d\u0435\u043c\u043d\u043e\u0433\u0438\u0435 \u0443\u043c\u0435\u044e\u0442 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u043c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0438\u043b\u0438 \u0432\u043e\u0432\u0441\u0435 \u043d\u0435 \u0432\u043b\u0430\u0434\u0435\u044e\u0442 \u044d\u0442\u0438\u043c \u0441\u0443\u043f\u0435\u0440\u043e\u0440\u0443\u0436\u0438\u0435\u043c. \u0415\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0433\u043b\u043e\u0431\u0430\u043b\u044b \u0432 \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u0442\u0435\u0445 \u0437\u0430\u0434\u0430\u0447, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u043d\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0440\u043e\u0448\u0438, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0432\u044b\u0434\u0430\u044e\u0449\u0438\u0445\u0441\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432. \u041b\u0438\u0431\u043e \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u043b\u0438\u0431\u043e \u0432 \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u0447\u0438 (1, 2). \u0413\u043b\u043e\u0431\u0430\u043b\u044b \u2014 \u044d\u0442\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27434,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-36634","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/globaly-mechi-kladentsy-dlya-hraneniya-dannyh-derevya-chast-1\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0413\u043b\u043e\u0431\u0430\u043b\u044b \u2014 \u043c\u0435\u0447\u0438-\u043a\u043b\u0430\u0434\u0435\u043d\u0446\u044b \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445. \u0414\u0435\u0440\u0435\u0432\u044c\u044f. \u0427\u0430\u0441\u0442\u044c 1 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/globaly-mechi-kladentsy-dlya-hraneniya-dannyh-derevya-chast-1\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:12:47+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:12:47+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Glob\u00e1ly \u2013 me\u010de-kladenza pro ukl\u00e1d\u00e1n\u00ed dat. Stromy. \u010c\u00e1st 1 | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/globaly-mechi-kladentsy-dlya-hraneniya-dannyh-derevya-chast-1","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0413\u043b\u043e\u0431\u0430\u043b\u044b \u2014 \u043c\u0435\u0447\u0438-\u043a\u043b\u0430\u0434\u0435\u043d\u0446\u044b \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445. \u0414\u0435\u0440\u0435\u0432\u044c\u044f. \u0427\u0430\u0441\u0442\u044c 1 | ProHoster","og:url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/globaly-mechi-kladentsy-dlya-hraneniya-dannyh-derevya-chast-1","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:12:47+00:00","article:modified_time":"2019-10-31T19:12:47+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36634","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 04:13:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:41:52","updated":"2026-01-22 04:13:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/36634","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=36634"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/36634\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/27434"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=36634"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=36634"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=36634"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}