{"id":6007,"date":"2024-06-17T08:31:36","date_gmt":"2024-06-17T06:31:36","guid":{"rendered":"https:\/\/launix.de\/launix\/?p=6007"},"modified":"2024-06-17T08:31:37","modified_gmt":"2024-06-17T06:31:37","slug":"wie-datenbank-performance-den-bueroalltag-einschraenkt","status":"publish","type":"post","link":"https:\/\/launix.de\/launix\/en\/wie-datenbank-performance-den-bueroalltag-einschraenkt\/","title":{"rendered":"Wie Datenbank-Performance den B\u00fcroalltag einschr\u00e4nkt"},"content":{"rendered":"<p>Viele kennen es &#8211; wenn man gerade Montag fr\u00fch im Telefonat mit dem Kunden ist, schnell etwas im System nachschauen will und dann dieser Ladebalken aufploppt. Jede Sekunde kommt einem ab jetzt wie eine Ewigkeit vor.<\/p>\n\n\n\n<!--more-->\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignright size-medium\"><a href=\"https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/launix-db.jpeg\"><img loading=\"lazy\" decoding=\"async\" width=\"236\" height=\"300\" src=\"https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/launix-db-236x300.jpeg\" alt=\"\" class=\"wp-image-6011\" srcset=\"https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/launix-db-236x300.jpeg 236w, https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/launix-db-806x1024.jpeg 806w, https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/launix-db-768x975.jpeg 768w, https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/launix-db-1210x1536.jpeg 1210w, https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/launix-db-9x12.jpeg 9w, https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/launix-db.jpeg 1260w\" sizes=\"auto, (max-width: 236px) 100vw, 236px\" \/><\/a><\/figure><\/div>\n\n\n<p>Datenbanken sind eigentlich eine geniale Erfindung. Sie trennen die Datenhaltung von der Anwendungslogik, sodass ein Datenbank-Hersteller die perfekte ausfallsichere Datenhaltung mit der besten Anfrage-Performance entwickeln kann und ein Software-Hersteller eine Anwendungslogik wie z.B. ein ERP-System oder eine Kundendatenbank bauen kann.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wie Festplatten Datenbanken ausbremsen<\/h2>\n\n\n\n<p>Um sicherzugehen, dass keine Daten durch einen Computerabsturz verloren gehen, legen Datenbankmanagementsysteme (DBMS) ihre Daten nicht im Arbeitsspeicher (RAM) ab, sondern auf der Festplatte (HDD oder SSD).<\/p>\n\n\n\n<p>Das Problem dabei: RAM ist ca. 100x schneller als HDD und SSD-Speicher. Aus diesem Grund behalten die meisten DBMS ihre Daten auch im RAM zwischengespeichert. Und jetzt kommt das Problem:<\/p>\n\n\n\n<p>Am Montag Morgen sind die Daten eben noch nicht im RAM zwischengespeichert, sondern liegen noch auf der HDD. Erst nach dem ersten Datenzugriff werden die Daten wirklisch schnell vorgehalten werden k\u00f6nnen.<\/p>\n\n\n\n<p>Die L\u00f6sung hierzu sind <strong>In-Memory-Datenbanken<\/strong>. Bei diesen ist garantiert, dass die Daten, obwohl auf Festplatte gesichert, auch jederzeit im RAM vorgehalten werden. Da RAM-Speicher um ein vielfaches teurer ist als Festplatten-Platz, muss hier besonders gut komprimiert werden.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wie Industrieanwendungen durch Datenbank-Logik ausgebremst werden<\/h2>\n\n\n\n<p>Datenbanksysteme sind darauf ausgelegt, eine absolute Sichereit der Daten zu garantieren &#8211; zum Preis von Performance.<\/p>\n\n\n\n<p>Bei jeder Schreib-Operation (z.B. Einf\u00fcgen neuer Daten) wartet die Datenbank darauf, dass die Daten sicher auf der Festplatte geschrieben sind. Diese Verz\u00f6gerung ist sp\u00fcrbar und erlaubt es Anwendungen nicht, mit dem Programm fortzufahren, bis die Daten auch auf der Festplatte liegen.<\/p>\n\n\n\n<p>Bei Echtzeit-Anwendungen wie z.B. industriellen Steuersystemen ist das ein Problem. Um nicht in Zeitverzug zu kommen, sammeln hier die Anwendungen gen\u00fcgend Daten, um diese in gr\u00f6\u00dferen Einheiten in die Datenbank zu senden. Dabei gibt es auch Datenbanken, bei denen man die Datensicherheits-Einstellungen pro Tabelle einstellen kann.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wie man Statistiken schneller ausrechnet<\/h2>\n\n\n\n<p>Gro\u00dfe Datensammlungen sind f\u00fcr Datenbanken \u00fcblicherweise kein Problem. Geeignete Datenstrukturen wie z.B. Indizes sorgen daf\u00fcr, dass die Datenbank nicht alle Daten anfassen muss, wenn auch nicht alle Daten auf den Bildschirm passen.<\/p>\n\n\n\n<p>Ein anderes Ding ist es, wenn tats\u00e4chlich alle Daten angefasst werden <em>m\u00fcssen<\/em>, z.B. beim Ausrechnen einer Statistik.<\/p>\n\n\n\n<p>Wir haben bereits In-Memory-Datenbanken angesprochen, die her schon mal den Faktor x10-x100 an Geschwindigkeit herausholen. Das n\u00e4chste Level sind <strong>Spaltenbasierte Datenbanken<\/strong>.<\/p>\n\n\n\n<p>Die meisten Statistiken beziehen sich nur auf 2-3 von potenziell hunderten Spalten, die die Datens\u00e4tze haben k\u00f6nnen. Will man nur die Summe aller Verk\u00e4ufe wissen, interessiert einen der Name des K\u00e4ufers wenig. Das kann man sich zunutze machen, indem man die Daten so anordnet, dass man die relevanten Daten nah beieinander im Speicher liegen hat und somit die Geschwindigkeit des RAM, der immer ganze Bl\u00f6cke zusammenh\u00e4ngender Daten liest, besser ausnutzen kann.<\/p>\n\n\n\n<p>Das h\u00f6chste Level im Bereich Analytics ist dann <strong>Parallelisierung<\/strong>: Anstatt wie traditionelle DBMS je Anfrage einen CPU-Kern zu &#8220;spendieren&#8221;, setzen analytische Datenbanken darauf, die Rechenaufgabe in viele kleine Portionen aufzuteilen und alle CPU-Kerne (oder sogar mehrere Server) an der Aufgabe mitrechnen zu lassen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Launix beteiligt sich an der Entwicklung der MemCP<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignright size-full\"><a href=\"https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/memcp-logo.png\"><img loading=\"lazy\" decoding=\"async\" width=\"256\" height=\"216\" src=\"https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/memcp-logo.png\" alt=\"\" class=\"wp-image-6010\" srcset=\"https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/memcp-logo.png 256w, https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/memcp-logo-14x12.png 14w\" sizes=\"auto, (max-width: 256px) 100vw, 256px\" \/><\/a><\/figure><\/div>\n\n\n<p>MemCP ist eine OpenSource-Datenbank, die genau diese Punkte besser macht als bisherige Datenbanksysteme:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In-Memory<\/li>\n\n\n\n<li>Spaltenbasiert<\/li>\n\n\n\n<li>Parallelisiert<\/li>\n\n\n\n<li>Einstellbar, ob man mehr Performance oder absolute Datensicherheit will<\/li>\n<\/ul>\n\n\n\n<p>Launix beteiligt sich ma\u00dfgeblich an der Entwicklung dieses St\u00fccks freier Software, um seinen Kunden bestm\u00f6gliche Performance beim Benutzen der ERP-Software bieten zu k\u00f6nnen.<\/p>\n\n\n\n<p>Mehr Infos zu MemCP unter: <a href=\"https:\/\/memcp.org\" class=\"ek-link\">https:\/\/memcp.org<\/a><\/p>\n\n\n\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Viele kennen es &#8211; wenn man gerade Montag fr\u00fch im Telefonat mit dem Kunden ist, schnell etwas im System nachschauen will und dann dieser Ladebalken aufploppt. Jede Sekunde kommt einem ab jetzt wie eine Ewigkeit vor.<\/p>","protected":false},"author":2,"featured_media":6008,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-6007","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-allgemein","single-item"],"featured_image_urls_v2":{"full":["https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/powerboat-2784250_1280.jpg",1280,720,false],"thumbnail":["https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/powerboat-2784250_1280-150x150.jpg",150,150,true],"medium":["https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/powerboat-2784250_1280-300x169.jpg",300,169,true],"medium_large":["https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/powerboat-2784250_1280-768x432.jpg",751,422,true],"large":["https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/powerboat-2784250_1280-1024x576.jpg",751,422,true],"1536x1536":["https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/powerboat-2784250_1280.jpg",1280,720,false],"2048x2048":["https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/powerboat-2784250_1280.jpg",1280,720,false],"trp-custom-language-flag":["https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/powerboat-2784250_1280-18x10.jpg",18,10,true],"xs-thumb":["https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/powerboat-2784250_1280-64x64.jpg",64,64,true],"appku-shop-single":["https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/powerboat-2784250_1280.jpg",620,349,false]},"post_excerpt_stackable_v2":"<p>Viele kennen es &#8211; wenn man gerade Montag fr\u00fch im Telefonat mit dem Kunden ist, schnell etwas im System nachschauen will und dann dieser Ladebalken aufploppt. Jede Sekunde kommt einem ab jetzt wie eine Ewigkeit vor. Datenbanken sind eigentlich eine geniale Erfindung. Sie trennen die Datenhaltung von der Anwendungslogik, sodass ein Datenbank-Hersteller die perfekte ausfallsichere Datenhaltung mit der besten Anfrage-Performance entwickeln kann und ein Software-Hersteller eine Anwendungslogik wie z.B. ein ERP-System oder eine Kundendatenbank bauen kann. Wie Festplatten Datenbanken ausbremsen Um sicherzugehen, dass keine Daten durch einen Computerabsturz verloren gehen, legen Datenbankmanagementsysteme (DBMS) ihre Daten nicht im Arbeitsspeicher (RAM) ab,&hellip;<\/p>\n","category_list_v2":"<a href=\"https:\/\/launix.de\/launix\/en\/category\/allgemein\/\" rel=\"category tag\">Allgemein<\/a>","author_info_v2":{"name":"Carl-Philip H\u00e4nsch","url":"https:\/\/launix.de\/launix\/en\/author\/carli\/"},"comments_num_v2":"0 comments","uagb_featured_image_src":{"full":["https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/powerboat-2784250_1280.jpg",1280,720,false],"thumbnail":["https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/powerboat-2784250_1280-150x150.jpg",150,150,true],"medium":["https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/powerboat-2784250_1280-300x169.jpg",300,169,true],"medium_large":["https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/powerboat-2784250_1280-768x432.jpg",751,422,true],"large":["https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/powerboat-2784250_1280-1024x576.jpg",751,422,true],"1536x1536":["https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/powerboat-2784250_1280.jpg",1280,720,false],"2048x2048":["https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/powerboat-2784250_1280.jpg",1280,720,false],"trp-custom-language-flag":["https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/powerboat-2784250_1280-18x10.jpg",18,10,true],"xs-thumb":["https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/powerboat-2784250_1280-64x64.jpg",64,64,true],"appku-shop-single":["https:\/\/launix.de\/launix\/wp-content\/uploads\/2024\/06\/powerboat-2784250_1280.jpg",620,349,false]},"uagb_author_info":{"display_name":"Carl-Philip H\u00e4nsch","author_link":"https:\/\/launix.de\/launix\/en\/author\/carli\/"},"uagb_comment_info":0,"uagb_excerpt":"Viele kennen es &#8211; wenn man gerade Montag fr\u00fch im Telefonat mit dem Kunden ist, schnell etwas im System nachschauen will und dann dieser Ladebalken aufploppt. Jede Sekunde kommt einem ab jetzt wie eine Ewigkeit vor.","_links":{"self":[{"href":"https:\/\/launix.de\/launix\/en\/wp-json\/wp\/v2\/posts\/6007","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/launix.de\/launix\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/launix.de\/launix\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/launix.de\/launix\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/launix.de\/launix\/en\/wp-json\/wp\/v2\/comments?post=6007"}],"version-history":[{"count":2,"href":"https:\/\/launix.de\/launix\/en\/wp-json\/wp\/v2\/posts\/6007\/revisions"}],"predecessor-version":[{"id":6012,"href":"https:\/\/launix.de\/launix\/en\/wp-json\/wp\/v2\/posts\/6007\/revisions\/6012"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/launix.de\/launix\/en\/wp-json\/wp\/v2\/media\/6008"}],"wp:attachment":[{"href":"https:\/\/launix.de\/launix\/en\/wp-json\/wp\/v2\/media?parent=6007"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/launix.de\/launix\/en\/wp-json\/wp\/v2\/categories?post=6007"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/launix.de\/launix\/en\/wp-json\/wp\/v2\/tags?post=6007"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}