{"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\/de\/blog\/administrirovanie\/globaly-mechi-kladentsy-dlya-hraneniya-dannyh-derevya-chast-1","title":{"rendered":"Globals sind Datenspeicher-Merge, B\u00e4ume. Teil 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=\"Globals sind Datenspeicher-Merge, B\u00e4ume. Teil 1\" src=\"\/wp-content\/uploads\/2019\/07\/83b8e36bff66516e2c331d75d8434e13.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex> Echte Datenbank-Merge, Globals, sind schon lange bekannt, aber bisher k\u00f6nnen nur wenige sie effektiv nutzen oder besitzen dieses Superwerkzeug \u00fcberhaupt nicht.<\/p>\n<p>Wenn Sie Globals f\u00fcr die Aufgaben verwenden, bei denen sie wirklich gut sind, k\u00f6nnen Sie herausragende Ergebnisse erzielen. Entweder in der Leistung oder in der Vereinfachung der L\u00f6sung der Aufgabe (<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>Globals sind eine spezielle Methode zur Speicherung und Verarbeitung von Daten, ganz anders als Tabellen in SQL. Sie erschienen 1966 in der Sprache <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/MUMPS\">M(UMPS)<\/a><\/noindex> (evolution\u00e4re Entwicklung - <noindex><a rel=\"nofollow\" href=\"http:\/\/www.intersystems.com\/our-products\/cache\/tech-guide\/chapter-3\/#cache-objectscript\">Cach\u00e9 ObjectScript<\/a><\/noindex>, auch bekannt als COS) in medizinischen Datenbanken und werden bis heute dort <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/VistA\">aktiv verwendet<\/a><\/noindex>, haben sich aber auch in andere Bereiche verbreitet, in denen Zuverl\u00e4ssigkeit und hohe Leistung gefordert sind: Finanzen, Trading usw.<\/p>\n<p>Globals in modernen DBMS unterst\u00fctzen Transaktionen, Protokollierung, Replikation, Partitionierung. Das hei\u00dft, auf ihnen k\u00f6nnen moderne, zuverl\u00e4ssige, verteilte und schnelle Systeme aufgebaut werden.<\/p>\n<p>Globals schr\u00e4nken Sie nicht auf die Grenzen des relationalen Modells ein. Sie geben Freiraum f\u00fcr die Entwicklung von Datenstrukturen, die auf spezifische Aufgaben optimiert sind. F\u00fcr viele Anwendungen kann die sinnvolle Nutzung von Globals wirklich eine geheime Waffe sein, die eine Leistung bietet, von der Entwickler relationaler Anwendungen nur tr\u00e4umen k\u00f6nnen.<\/p>\n<p>Globals als Methode zur Datenspeicherung k\u00f6nnen in vielen modernen Programmiersprachen verwendet werden, sowohl in Hoch- als auch in Niedrigsprachen. Daher werde ich mich in diesem Artikel genau auf Globals konzentrieren und nicht auf die Sprache, aus der sie einst hervorgingen.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>2. Wie Globals funktionieren<\/h2>\n<p>\nLassen Sie uns zun\u00e4chst verstehen, wie Globals funktionieren und wo ihre St\u00e4rken liegen. Globals k\u00f6nnen aus verschiedenen Perspektiven betrachtet werden. In diesem Teil des Artikels werden wir sie als B\u00e4ume betrachten. Oder als hierarchische Datenspeicher.<\/p>\n<p>Einfach ausgedr\u00fcckt ist ein Global ein persistentes Array. Ein Array, das automatisch auf der Festplatte gespeichert wird.<br \/>\nEs ist schwer, sich etwas Einfacheres zur Speicherung von Daten vorzustellen. Im Code (in den Sprachen COS\/M) unterscheidet es sich nur durch das Symbol <b>^<\/b> vor dem Namen.<\/p>\n<p>Um Daten im Globalen zu speichern, muss man keine SQL-Abfragesprache lernen; die Befehle zu ihrer Handhabung sind sehr einfach. Man kann sie in einer Stunde lernen. <\/p>\n<p>Lass uns mit dem einfachsten Beispiel beginnen. Ein einstufiger Baum mit 2 \u00c4sten. Die Beispiele sind in COS geschrieben.<\/p>\n<p><img decoding=\"async\" alt=\"Globals sind Datenspeicher-Merge, B\u00e4ume. Teil 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 \/>\nBeim Einf\u00fcgen von Informationen in das Globale (Befehl Set) passieren automatisch 3 Dinge:<\/p>\n<ol>\n<li><b>Speichern der Daten auf der Festplatte.<\/b>\n<\/li>\n<li><b>Indizierung.<\/b> Das, was in der Klammer steht, fungiert als Schl\u00fcssel (in der englischen Literatur \u2013 \u201esubscript\u201c), und rechts vom Gleichheitszeichen steht der Wert (\u201enode value\u201c).\n<\/li>\n<li><b>Sortierung.<\/b> Die Daten werden nach dem Schl\u00fcssel sortiert. Bei einer Traversierung des Arrays wird das erste Element \"Sergey Smith\" und das zweite \"John Sidorov\" sein. Beim Abrufen der Benutzerliste aus dem Globalen ben\u00f6tigt die Datenbank keine Zeit f\u00fcr die Sortierung. Au\u00dferdem kann man eine sortierte Liste abgerufen werden, beginnend mit jedem Schl\u00fcssel, selbst mit nicht existierenden (die Ausgabe beginnt mit dem ersten tats\u00e4chlichen Schl\u00fcssel, der nach dem nicht existierenden kommt).\n<\/li>\n<\/ol>\n<p>\nAll diese Operationen geschehen unglaublich schnell. An meinem Heimcomputer erreichte ich Werte von bis zu 750.000 Einf\u00fcgungen\/Sekunde in einem einzigen Prozess. Auf Mehrkernprozessoren k\u00f6nnen die Werte sogar erreichen <noindex><a rel=\"nofollow\" href=\"http:\/\/habrahabr.ru\/company\/intersystems\/blog\/257501\/\">Zehntausende Millionen<\/a><\/noindex> Einf\u00fcgungen\/Sekunde.<\/p>\n<p>Nat\u00fcrlich sagt die Geschwindigkeit des Einf\u00fcgens alleine wenig aus. Man kann zum Beispiel sehr schnell Informationen in Textdateien schreiben \u2013 so <noindex><a rel=\"nofollow\" href=\"http:\/\/habrahabr.ru\/post\/176345\/#comment_6220633\">soll es angeblich<\/a><\/noindex> bei der Verarbeitung von Visa funktionieren. Aber im Fall der Globals erhalten wir ein strukturiertes, indiziertes Speicherformat, mit dem man anschlie\u00dfend einfach und schnell arbeiten kann.<\/p>\n<p><img decoding=\"async\" alt=\"Globals sind Datenspeicher-Merge, B\u00e4ume. Teil 1\" src=\"\/wp-content\/uploads\/2019\/07\/ce447c81cf3a7d570518711c7103dbf0.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<ul>\n<li><b>Die gr\u00f6\u00dfte St\u00e4rke der Globals ist die Geschwindigkeit des Einf\u00fcgens neuer Knoten.<\/b>\n<\/li>\n<li><b>Die Daten im Globalen sind immer indiziert. Ihre Traversierung sowohl auf einer Ebene als auch in die Tiefe des Baumes erfolgt immer schnell.<\/b><\/li>\n<\/ul>\n<p>\nLass uns dem Globalen noch einige Zweige der zweiten und dritten Ebene hinzuf\u00fcgen.<\/p>\n<pre><code class=\"bash\">Set ^a(\"+7926X\", \"city\") = \"Moskau\"\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=\"Globals sind Datenspeicher-Merge, B\u00e4ume. Teil 1\" src=\"\/wp-content\/uploads\/2019\/07\/47244a6d96b589ada53ba9f53b2b3a2f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEs ist offensichtlich, dass auf der Basis von Globals mehrstufige B\u00e4ume aufgebaut werden k\u00f6nnen. Der Zugriff auf jeden Knoten erfolgt nahezu augenblicklich aufgrund der automatischen Indizierung beim Einf\u00fcgen. Und auf jeder Ebene des Baumes sind alle \u00c4ste nach dem Schl\u00fcssel sortiert.<\/p>\n<p>Wie man sieht, kann die Information sowohl im Schl\u00fcssel als auch im Wert gespeichert werden. Die gesamte L\u00e4nge des Schl\u00fcssels (Summe der L\u00e4ngen aller Indizes) kann bis zu <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>, und die Werte <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\u00fcr Cach\u00e9. Die Anzahl der Ebenen im Baum (Anzahl der Dimensionen) \u2013 31.<\/p>\n<p>Ein weiterer interessanter Punkt. Es ist m\u00f6glich, einen Baum zu erstellen, ohne Werte f\u00fcr die Knoten der oberen Ebenen festzulegen.<\/p>\n<p><img decoding=\"async\" alt=\"Globals sind Datenspeicher-Merge, B\u00e4ume. Teil 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>\nLeere Kreise sind Knoten, denen kein Wert zugewiesen ist.<br clear=\"left\"\/><br \/>\nUm Globals besser zu verstehen, vergleichen wir sie mit anderen B\u00e4umen: mit Gartenb\u00e4umen und mit den B\u00e4umen von Dateisystemen.<\/p>\n<p>Vergleichen wir die B\u00e4ume in Globals mit den uns am vertrautesten hierarchischen Strukturen: mit normalen B\u00e4umen, die in G\u00e4rten und Feldern wachsen, sowie mit Dateisystemen.<\/p>\n<p><img decoding=\"async\" alt=\"Globals sind Datenspeicher-Merge, B\u00e4ume. Teil 1\" src=\"\/wp-content\/uploads\/2019\/07\/c6b00c70867c3eb2e2d8233e0fc6b6c6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWie wir bei Gartenb\u00e4umen sehen, befinden sich die Bl\u00e4tter und Fr\u00fcchte nur an den Enden der \u00c4ste.<br \/>\nIn Dateisystemen wird die Information nur an den Enden der \u00c4ste gespeichert, die die vollst\u00e4ndigen Dateinamen sind.<\/p>\n<p>Hier ist die Datenstruktur eines Globals.<\/p>\n<p><img decoding=\"async\" alt=\"Globals sind Datenspeicher-Merge, B\u00e4ume. Teil 1\" src=\"\/wp-content\/uploads\/2019\/07\/288a5d964b4bf859944c0a0ecd000bc7.jpg\" style=\"display:block;margin: 0 auto;\" \/>Unterschiede:<\/p>\n<ol>\n<li><b>Innere Knoten:<\/b> Informationen in Globals k\u00f6nnen in jedem Knoten gespeichert werden, nicht nur an den Enden der \u00c4ste.<\/li>\n<li><b>\u00c4u\u00dfere Knoten:<\/b> In Globals m\u00fcssen an den Enden der \u00c4ste Werte definiert sein, in FS-B\u00e4umen und Gartenb\u00e4umen hingegen nicht.<\/li>\n<\/ol>\n<p><br clear=\"left\"\/><br \/>\nIn Bezug auf einige innere Knoten kann man sagen, dass die Struktur eines Globals eine \u00dcbermenge der Struktur von Namensb\u00e4umen in Dateisystemen und Gartenb\u00e4umen ist. Das hei\u00dft, sie ist flexibler.<\/p>\n<p>Im Allgemeinen stellt ein Global dar <b>einen geordneten Baum mit der M\u00f6glichkeit, Daten in jedem Knoten zu speichern.<\/b>.<\/p>\n<p>Um die Funktionsweise von Globals besser zu verstehen, stellen wir uns vor, was w\u00e4re, wenn die Ersteller von Dateisystemen einen Ansatz \u00e4hnlich dem der Globals zur Speicherung von Informationen verwendet h\u00e4tten?<\/p>\n<ol>\n<li>Beim L\u00f6schen einer einzelnen Datei im Verzeichnis w\u00fcrde automatisch das Verzeichnis sowie alle \u00fcbergeordneten Verzeichnisse gel\u00f6scht werden, die nur dieses k\u00fcrzlich gel\u00f6schte Verzeichnis enthalten.\n<\/li>\n<li>Die Notwendigkeit f\u00fcr Verzeichnisse w\u00e4re entfallen. Es w\u00e4ren einfach Dateien mit Unterdateien und Dateien ohne Unterdateien vorhanden. Im Vergleich zu einem normalen Baum w\u00fcrde jeder Ast zu einer Frucht werden.\n<p><img decoding=\"async\" alt=\"Globals sind Datenspeicher-Merge, B\u00e4ume. Teil 1\" src=\"\/wp-content\/uploads\/2019\/07\/8e5e5681c191869da23c32da6e6d8d7b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n\n<\/li>\n<li>Sowas wie die Datei README.txt w\u00e4re m\u00f6glicherweise entfallen. Alles, was man \u00fcber den Inhalt eines Verzeichnisses sagen m\u00fcsste, k\u00f6nnte in die Datei des Verzeichnisses selbst geschrieben werden. Im Pfadraum w\u00e4re der Dateiname nicht von dem Verzeichnisnamen zu unterscheiden, daher k\u00f6nnte man sich mit nur Dateien begn\u00fcgen.\n<\/li>\n<li>Die Geschwindigkeit beim L\u00f6schen von Verzeichnissen mit verschachtelten Unterverzeichnissen und Dateien w\u00fcrde erheblich steigen. In der Vergangenheit gab es viele Artikel \u00fcber die lange und schwierige Aufgabe, Millionen kleiner Dateien zu l\u00f6schen.<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>). Allerdings w\u00fcrden ein Pseudo-Dateisystem auf Globalen Sekunden oder deren Bruchteile ben\u00f6tigen. Als ich das Entfernen von Teilb\u00e4umen auf meinem Heimcomputer testete, wurden in einer Sekunde 96-341 Millionen Knoten aus einem zweistufigen Baum auf einer HDD (nicht SSD) gel\u00f6scht. Dabei geht es um das Entfernen eines Teils des Baums und nicht einfach um die gesamte Datei mit den Globalen.<\/li>\n<\/ol>\n<p>\n<img decoding=\"async\" alt=\"Globals sind Datenspeicher-Merge, B\u00e4ume. Teil 1\" src=\"\/wp-content\/uploads\/2019\/07\/7f700eeafb3e552923139024f38c6661.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<b>Das Entfernen von Teilb\u00e4umen ist eine weitere St\u00e4rke von Globalen. Daf\u00fcr ist keine Rekursion erforderlich.<\/b> Dies geschieht unglaublich schnell.<\/p>\n<p>In unserem Baum k\u00f6nnte dies mit dem Befehl <b>Kill<\/b>.<\/p>\n<pre><code class=\"bash\">Kill ^a(\"+7926X\")<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Globals sind Datenspeicher-Merge, B\u00e4ume. Teil 1\" src=\"\/wp-content\/uploads\/2019\/07\/89d5b69c6e80832c6865824782d9754d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUm besser zu verstehen, welche Aktionen uns mit den Globalen zur Verf\u00fcgung stehen, gebe ich eine kurze Tabelle an.<\/p>\n<p>Hauptbefehle und Funktionen zur Arbeit mit Globalen in 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 \/>\nSetzen von Zweigen bis zum Knoten (wenn sie noch nicht definiert sind) und den Wert des Knotens<\/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 \/>\nKopieren eines Teilbaums<\/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 \/>\nL\u00f6schen eines Teilbaums<\/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 \/>\nL\u00f6schen des Wertes eines bestimmten Knotens. Der Teilbaum, der aus dem Knoten hervorgeht, bleibt unber\u00fchrt<\/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 \/>\nVollst\u00e4ndige Durchquerung des Baumes mit Vertiefung<\/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 \/>\nDurchqueren der \u00c4ste eines bestimmten Knotens<\/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 \/>\n\u00dcberpr\u00fcfen, ob der Knoten definiert ist<\/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 \/>\nAtomares Inkrementieren des Wertes eines Knotens. Um Lese- und Schreibvorg\u00e4nge zu vermeiden, f\u00fcr ACID. In letzter Zeit wird empfohlen, zu wechseln zu <noindex><a rel=\"nofollow\" href=\"http:\/\/habrahabr.ru\/company\/intersystems\/blog\/263793\/\">$Sequence<\/a><\/noindex><\/p>\n<p>Vielen Dank f\u00fcr Ihre Aufmerksamkeit, wir sind bereit, Ihre Fragen zu beantworten.<\/p>\n<p><b>Haftungsausschluss<\/b>: <i>Dieser Artikel und meine Kommentare dazu sind meine pers\u00f6nliche Meinung und stehen nicht im Zusammenhang mit der offiziellen Position der InterSystems Corporation.<\/i><\/p>\n<p><i><b>Fortsetzung<\/b> <noindex><a rel=\"nofollow\" href=\"http:\/\/habrahabr.ru\/company\/intersystems\/blog\/264173\/\">Globals \u2013 Sch\u00e4tze zur Datenspeicherung. B\u00e4ume. Teil 2<\/a><\/noindex>. Sie erfahren, welche Datentypen auf Globalen dargestellt werden k\u00f6nnen und bei welchen Aufgaben sie den gr\u00f6\u00dften Gewinn bringen.<\/i><br \/>\n<br \/>Quelle: <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.1.1 - 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\/de\/blog\/administrirovanie\/globaly-mechi-kladentsy-dlya-hraneniya-dannyh-derevya-chast-1\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\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\/de\/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\udd47Globale \u2013 Schwert des Wissens zum Speichern von Daten. B\u00e4ume. Teil 1 | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/globaly-mechi-kladentsy-dlya-hraneniya-dannyh-derevya-chast-1","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/36634","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=36634"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/36634\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/27434"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=36634"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=36634"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=36634"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}