{"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\/sv\/blog\/administrirovanie\/globaly-mechi-kladentsy-dlya-hraneniya-dannyh-derevya-chast-1","title":{"rendered":"Globala variabler \u2014 sv\u00e4rd som kan lagra data. Tr\u00e4d. Del 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=\"Globala variabler \u2014 sv\u00e4rd som kan lagra data. Tr\u00e4d. Del 1\" src=\"\/wp-content\/uploads\/2019\/07\/83b8e36bff66516e2c331d75d8434e13.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex> Verkliga databaser med globala kluster har varit k\u00e4nda l\u00e4nge, men fortfarande \u00e4r det f\u00e5 som vet hur de effektivt anv\u00e4nder dessa supervapen.<\/p>\n<p>Om man anv\u00e4nder globala kluster f\u00f6r de uppgifter d\u00e4r de verkligen \u00e4r bra kan man uppn\u00e5 utm\u00e4rkta resultat. Antingen i prestanda eller genom att f\u00f6renkla l\u00f6sningen av uppgiften (<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>Globala kluster \u00e4r ett speciellt s\u00e4tt att lagra och bearbeta data, helt annorlunda \u00e4n tabeller i SQL. De introducerades 1966 i spr\u00e5ket <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/MUMPS\">M(UMPS)<\/a><\/noindex> (evolution\u00e4r utveckling \u2014 <noindex><a rel=\"nofollow\" href=\"http:\/\/www.intersystems.com\/our-products\/cache\/tech-guide\/chapter-3\/#cache-objectscript\">Cach\u00e9 ObjectScript<\/a><\/noindex>, senare COS) inom medicinska databaser och anv\u00e4nds fortfarande d\u00e4r <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/VistA\">aktivt<\/a><\/noindex>, samt har \u00e4ven tr\u00e4ngt in i andra omr\u00e5den d\u00e4r h\u00f6g tillf\u00f6rlitlighet och prestanda kr\u00e4vs: finans, handel etc.<\/p>\n<p>Globala kluster i moderna databasystem st\u00f6der transaktioner, loggning, replikering och partitionering. Det vill s\u00e4ga, de kan anv\u00e4ndas f\u00f6r att bygga moderna, p\u00e5litliga, distribuerade och snabba system.<\/p>\n<p>Globala kluster begr\u00e4nsar dig inte till gr\u00e4nserna f\u00f6r den relationella modellen. De ger frihet att utveckla datastrukturer som \u00e4r optimerade f\u00f6r specifika uppgifter. F\u00f6r m\u00e5nga applikationer kan rimlig anv\u00e4ndning av globala kluster vara ett verkligt hemligt vapen, som ger prestanda som utvecklare av relationella applikationer bara kan dr\u00f6mma om.<\/p>\n<p>Globala kluster som ett s\u00e4tt att lagra data kan anv\u00e4ndas i m\u00e5nga moderna programmeringsspr\u00e5k, b\u00e5de h\u00f6g- och l\u00e5gniv\u00e5spr\u00e5k. D\u00e4rf\u00f6r kommer jag i denna artikel att fokusera specifikt p\u00e5 globala kluster, snarare \u00e4n p\u00e5 spr\u00e5ket de en g\u00e5ng h\u00e4rr\u00f6rde fr\u00e5n.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>2. Hur globala kluster fungerar<\/h2>\n<p>\nL\u00e5t oss f\u00f6rst f\u00f6rst\u00e5 hur globala kluster fungerar och vad deras styrkor \u00e4r. Globala kluster kan ses fr\u00e5n olika perspektiv. I denna del av artikeln kommer vi att betrakta dem som tr\u00e4d. Eller som hierarkiska datalagringar.<\/p>\n<p>Ett f\u00f6renklat s\u00e4tt att se p\u00e5 globala kluster \u00e4r att de \u00e4r ett persistent array. Ett array som automatiskt sparas p\u00e5 disken.<br \/>\nDet \u00e4r sv\u00e5rt att f\u00f6rest\u00e4lla sig n\u00e5got enklare f\u00f6r datalagring. I kod (i spr\u00e5ken COS\/M) skiljer det sig fr\u00e5n en vanlig associativ array endast genom tecknet <b>^<\/b> f\u00f6re namnet.<\/p>\n<p>F\u00f6r att spara data i ett globalt kluster beh\u00f6ver du inte l\u00e4ra dig SQL-fr\u00e5gespr\u00e5ket, kommandona f\u00f6r att arbeta med dem \u00e4r mycket enkla. Du kan l\u00e4ra dig dem p\u00e5 en timme. <\/p>\n<p>L\u00e5t oss b\u00f6rja med det mest grundl\u00e4ggande exemplet. Ett enskiktstr\u00e4d med 2 grenar. Exemplet \u00e4r skrivet i COS.<\/p>\n<p><img decoding=\"async\" alt=\"Globala variabler \u2014 sv\u00e4rd som kan lagra data. Tr\u00e4d. Del 1\" src=\"\/wp-content\/uploads\/2019\/07\/5e1503716eac1eaadf49fcf3651e7fbf.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<pre><code class=\"bash\">Set ^a(\"+7926X\") = \"John Sidorov\"\nSet ^a(\"+7916Y\") = \"Sergey Smith\"<\/code><\/pre>\n<p><br clear=\"left\"\/><br \/>\nVid inmatning av information i globalen (kommandot Set) sker automatiskt 3 saker:<\/p>\n<ol>\n<li><b>Sparar data p\u00e5 disk.<\/b>\n<\/li>\n<li><b>Indeksering.<\/b> Det som st\u00e5r inom parentes fungerar som en nyckel (i den engelskspr\u00e5kiga litteraturen \u2014 \"subscript\"), medan v\u00e4rdet till h\u00f6ger om likhetstecknet \u00e4r \"node value\".\n<\/li>\n<li><b>Sortering.<\/b> Data sorteras efter nyckeln. Vid traversal av arrayen blir den f\u00f6rsta elementen \"Sergey Smith\" och den andra \"John Sidorov\". Vid h\u00e4mtning av anv\u00e4ndarlistan fr\u00e5n globalen \u00e4gnar databasen ingen tid \u00e5t sortering. Dessutom kan en sorterad lista beg\u00e4ras att visas, med start fr\u00e5n vilken nyckel som helst, \u00e4ven en icke-existerande (utskriften b\u00f6rjar med den f\u00f6rsta verkliga nyckeln efter den icke-existerande).\n<\/li>\n<\/ol>\n<p>\nAlla dessa operationer sker otroligt snabbt. P\u00e5 min hemmadator fick jag v\u00e4rden upp till 750 000 ins\u00e4ttningar\/s i en process. P\u00e5 flerk\u00e4rniga processorer kan v\u00e4rdena n\u00e5 <noindex><a rel=\"nofollow\" href=\"http:\/\/habrahabr.ru\/company\/intersystems\/blog\/257501\/\">tiotals miljoner<\/a><\/noindex> ins\u00e4ttningar\/s.<\/p>\n<p>Sj\u00e4lvklart s\u00e4ger hastigheten p\u00e5 ins\u00e4ttningar i sig inte mycket. Man kan till exempel v\u00e4ldigt snabbt skriva information till textfiler - s\u00e5 <noindex><a rel=\"nofollow\" href=\"http:\/\/habrahabr.ru\/post\/176345\/#comment_6220633\">s\u00e4ger ryktena<\/a><\/noindex> att Visa-processering fungerar. Men i fallet med globaler f\u00e5r vi en strukturerad indexerad lagring som kan hanteras enkelt och snabbt i framtiden.<\/p>\n<p><img decoding=\"async\" alt=\"Globala variabler \u2014 sv\u00e4rd som kan lagra data. Tr\u00e4d. Del 1\" src=\"\/wp-content\/uploads\/2019\/07\/ce447c81cf3a7d570518711c7103dbf0.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<ul>\n<li><b>Den starkaste sidan av globaler \u00e4r hastigheten p\u00e5 ins\u00e4ttning av nya noder.<\/b>\n<\/li>\n<li><b>Data i globalen \u00e4r alltid indexerade. Traversalen, b\u00e5de p\u00e5 en niv\u00e5 och djupt ner i tr\u00e4det, \u00e4r alltid snabb.<\/b><\/li>\n<\/ul>\n<p>\nL\u00e5t oss l\u00e4gga till n\u00e5gra fler grenar av andra och tredje niv\u00e5n i globalen.<\/p>\n<pre><code class=\"bash\">Set ^a(\"+7926X\", \"city\") = \"Moskva\"\nSet ^a(\"+7926X\", \"city\", \"street\") = \"Req Square\"\nSet ^a(\"+7926X\", \"age\") = 25\nSet ^a(\"+7916Y\", \"city\") = \"London\"\nSet ^a(\"+7916Y\", \"city\", \"street\") = \"Baker Street\"\nSet ^a(\"+7916Y\", \"age\") = 36<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Globala variabler \u2014 sv\u00e4rd som kan lagra data. Tr\u00e4d. Del 1\" src=\"\/wp-content\/uploads\/2019\/07\/47244a6d96b589ada53ba9f53b2b3a2f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDet \u00e4r tydligt att flerdimensionella tr\u00e4d kan byggas p\u00e5 grundval av globaler. Dessutom \u00e4r tillg\u00e5ngen till vilken nod som helst praktiskt taget omedelbar tack vare autoindexeringen vid ins\u00e4ttning. Och p\u00e5 vilken niv\u00e5 i tr\u00e4det som helst \u00e4r alla grenar sorterade efter nyckel.<\/p>\n<p>Som man kan se kan information lagras b\u00e5de i nyckeln och v\u00e4rdet. Den totala l\u00e4ngden p\u00e5 nyckeln (summan av l\u00e4ngderna p\u00e5 alla index) kan n\u00e5 <noindex><a rel=\"nofollow\" href=\"http:\/\/docs.intersystems.com\/ens20152\/csp\/docbook\/DocBook.UI.Page.cls?KEY=GGBL_structure#GGBL_structure_maxsubscrlen\">511 byte<\/a><\/noindex>, och v\u00e4rdena <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> f\u00f6r Cach\u00e9. Antalet niv\u00e5er i tr\u00e4det (antal dimensioner) \u00e4r 31.<\/p>\n<p>Ytterligare en intressant punkt. Ett tr\u00e4d kan byggas utan att ange v\u00e4rden f\u00f6r noderna p\u00e5 de \u00f6vre niv\u00e5erna.<\/p>\n<p><img decoding=\"async\" alt=\"Globala variabler \u2014 sv\u00e4rd som kan lagra data. Tr\u00e4d. Del 1\" src=\"\/wp-content\/uploads\/2019\/07\/f37f81a87a13adb13bbd3583dda06928.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<pre><code class=\"bash\">Set ^b(\"a\", \"b\", \"c\", \"d\") = 1\nSet ^b(\"a\", \"b\", \"c\", \"e\") = 2\nSet ^b(\"a\", \"b\", \"f\", \"g\") = 3<\/code><\/pre>\n<p>\nTomma noder \u00e4r de som inte har tilldelats n\u00e5got v\u00e4rde.<br clear=\"left\"\/><br \/>\nF\u00f6r att b\u00e4ttre f\u00f6rst\u00e5 globala variabler kan vi j\u00e4mf\u00f6ra dem med andra tr\u00e4d: med tr\u00e4dg\u00e5rdstr\u00e4d och med filsystemets tr\u00e4d.<\/p>\n<p>Vi j\u00e4mf\u00f6r de globala variablernas tr\u00e4d med de mest bekanta hierarkiska strukturerna: med vanliga tr\u00e4d som v\u00e4xer i tr\u00e4dg\u00e5rdar och f\u00e4lt, samt med filsystem.<\/p>\n<p><img decoding=\"async\" alt=\"Globala variabler \u2014 sv\u00e4rd som kan lagra data. Tr\u00e4d. Del 1\" src=\"\/wp-content\/uploads\/2019\/07\/c6b00c70867c3eb2e2d8233e0fc6b6c6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSom vi ser har tr\u00e4dg\u00e5rdstr\u00e4d blad och frukter bara p\u00e5 \u00e4ndarna av grenarna.<br \/>\nI filsystem lagras informationen endast i \u00e4ndarna av grenarna, som \u00e4r de fullst\u00e4ndiga filnamnen.<\/p>\n<p>Och h\u00e4r \u00e4r strukturen f\u00f6r en global variabel.<\/p>\n<p><img decoding=\"async\" alt=\"Globala variabler \u2014 sv\u00e4rd som kan lagra data. Tr\u00e4d. Del 1\" src=\"\/wp-content\/uploads\/2019\/07\/288a5d964b4bf859944c0a0ecd000bc7.jpg\" style=\"display:block;margin: 0 auto;\" \/>Skillnader:<\/p>\n<ol>\n<li><b>Internt noder:<\/b> Information i den globala variabeln kan lagras i varje nod, inte bara p\u00e5 \u00e4ndarna av grenarna.<\/li>\n<li><b>Externa noder:<\/b> Den globala variabeln m\u00e5ste ha definierade v\u00e4rden p\u00e5 \u00e4ndarna av grenarna, medan tr\u00e4d i filsystem och tr\u00e4dg\u00e5rdar inte beh\u00f6ver det.<\/li>\n<\/ol>\n<p><br clear=\"left\"\/><br \/>\nN\u00e4r det g\u00e4ller interna noder kan man s\u00e4ga att den globala variabelns struktur \u00e4r en superset av strukturen hos filsystemets namntr\u00e4d och tr\u00e4dg\u00e5rdstr\u00e4d. Dvs. mer flexibel.<\/p>\n<p>I allm\u00e4nhet representerar en global variabel <b>ett ordnat tr\u00e4d med m\u00f6jlighet att lagra data i varje nod.<\/b>.<\/p>\n<p>F\u00f6r att b\u00e4ttre f\u00f6rst\u00e5 hur globala variabler fungerar, f\u00f6rest\u00e4ll dig vad som skulle h\u00e4nda om skaparna av filsystem anv\u00e4nde en metod f\u00f6r att lagra information som liknar den f\u00f6r globala variabler?<\/p>\n<ol>\n<li>Vid radering av en enda fil i en katalog skulle katalogen samt alla \u00f6verordnade kataloger som endast inneh\u00e5ller just den nyligen raderade katalogen automatiskt raderas.\n<\/li>\n<li>Behovet av kataloger skulle f\u00f6rsvinna. Det skulle bara finnas filer med underfiler och filer utan underfiler. Om man j\u00e4mf\u00f6r med ett vanligt tr\u00e4d, skulle varje gren bli en frukt.\n<p><img decoding=\"async\" alt=\"Globala variabler \u2014 sv\u00e4rd som kan lagra data. Tr\u00e4d. Del 1\" src=\"\/wp-content\/uploads\/2019\/07\/8e5e5681c191869da23c32da6e6d8d7b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n\n<\/li>\n<li>Saker som filer som README.txt skulle kanske f\u00f6rsvinna. Allt som beh\u00f6vde s\u00e4gas om inneh\u00e5llet i katalogen skulle kunna skrivas direkt i filen f\u00f6r katalogen. I s\u00f6kv\u00e4gsrummet \u00e4r filnamnet inte \u00e5tskiljbart fr\u00e5n katalognamnet, s\u00e5 man skulle kunna klara sig med enbart filer.\n<\/li>\n<li>Hastigheten f\u00f6r att radera kataloger med inb\u00e4ddade underkataloger och filer skulle \u00f6ka kraftigt. M\u00e5nga g\u00e5nger har det cirkulerat artiklar p\u00e5 Habrahabr om hur l\u00e5ng tid och hur sv\u00e5rt det \u00e4r att radera miljoner sm\u00e5 filer.<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>). Men om man g\u00f6r ett pseudofilsystem p\u00e5 globalt plan, kommer det att ta sekunder eller delar av sekunder. N\u00e4r jag testade att ta bort undertr\u00e4d p\u00e5 min hemcomputer, raderades 96-341 miljoner noder fr\u00e5n ett tv\u00e5niv\u00e5tr\u00e4d p\u00e5 HDD (inte SSD) p\u00e5 1 sekund. Det handlar allts\u00e5 om att ta bort delar av tr\u00e4det, inte bara hela filen med globala variabler.<\/li>\n<\/ol>\n<p>\n<img decoding=\"async\" alt=\"Globala variabler \u2014 sv\u00e4rd som kan lagra data. Tr\u00e4d. Del 1\" src=\"\/wp-content\/uploads\/2019\/07\/7f700eeafb3e552923139024f38c6661.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<b>Att ta bort undertr\u00e4d \u00e4r ytterligare en styrka hos globala variabler. F\u00f6r detta beh\u00f6vs ingen rekursion.<\/b> Det g\u00e5r otroligt snabbt.<\/p>\n<p>I v\u00e5rt tr\u00e4d kan detta g\u00f6ras med kommandot <b>Kill<\/b>.<\/p>\n<pre><code class=\"bash\">Kill ^a(\"+7926X\")<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Globala variabler \u2014 sv\u00e4rd som kan lagra data. Tr\u00e4d. Del 1\" src=\"\/wp-content\/uploads\/2019\/07\/89d5b69c6e80832c6865824782d9754d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nF\u00f6r att b\u00e4ttre f\u00f6rst\u00e5 vilka \u00e5tg\u00e4rder som \u00e4r tillg\u00e4ngliga f\u00f6r oss \u00f6ver globala variabler, presenterar jag en kort tabell.<\/p>\n<p>Huvudkommandon och funktioner f\u00f6r att arbeta med globala variabler i COS<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"http:\/\/docs.intersystems.com\/cache20152\/csp\/docbook\/DocBook.UI.Page.cls?KEY=RCOS_cset\">St\u00e4ll in<\/a><\/noindex><br \/>\nSt\u00e4lla in grenar fram till noden (om de fortfarande \u00e4r obest\u00e4mda) och nodens v\u00e4rde<\/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 \/>\nKopiera undertr\u00e4d<\/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 \/>\nTa bort undertr\u00e4d<\/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 \/>\nTa bort v\u00e4rdet av en specifik nod. Undertr\u00e4det som g\u00e5r ut fr\u00e5n noden ber\u00f6rs inte.<\/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 \/>\nFullst\u00e4ndig genomg\u00e5ng av tr\u00e4det med djupdykning<\/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 \/>\nG\u00e5 igenom grenar av en specifik nod<\/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 \/>\nKontrollera om noden \u00e4r definierad<\/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 \/>\nAtom\u00e4r inkrementering av nodens v\u00e4rde. F\u00f6r att undvika l\u00e4sningar och skrivningar, f\u00f6r ACID. Nuf\u00f6rtiden rekommenderas det att byta till <noindex><a rel=\"nofollow\" href=\"http:\/\/habrahabr.ru\/company\/intersystems\/blog\/263793\/\">$Sequence<\/a><\/noindex><\/p>\n<p>Tack f\u00f6r er uppm\u00e4rksamhet, vi \u00e4r redo att svara p\u00e5 era fr\u00e5gor.<\/p>\n<p><b>Ansvarsfriskrivning<\/b>: <i>Denna artikel och mina kommentarer till den \u00e4r min \u00e5sikt och har ingen koppling till f\u00f6retagets officiella st\u00e4llning, InterSystems.<\/i><\/p>\n<p><i><b>Forts\u00e4ttning<\/b> <noindex><a rel=\"nofollow\" href=\"http:\/\/habrahabr.ru\/company\/intersystems\/blog\/264173\/\">Globala system \u2013 skattkistor f\u00f6r lagring av data. Tr\u00e4d. Del 2<\/a><\/noindex>. Du kommer att l\u00e4ra dig vilka datatyper som kan visas p\u00e5 globala och p\u00e5 vilka uppgifter de ger maximal vinning.<\/i><br \/>\n<br \/>K\u00e4lla: <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.4 - 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\/sv\/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.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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\udd47Globala variabler \u2013 dataf\u00f6rvaringens sv\u00e4rd. Tr\u00e4d. Del 1 | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/globaly-mechi-kladentsy-dlya-hraneniya-dannyh-derevya-chast-1","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/36634","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=36634"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/36634\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/27434"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=36634"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=36634"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=36634"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}