{"id":4048,"date":"2019-04-08T12:33:19","date_gmt":"2019-04-08T10:33:19","guid":{"rendered":"https:\/\/dev.wi-lex.de\/index.php\/in-memory-data-management\/"},"modified":"2022-03-02T14:32:09","modified_gmt":"2022-03-02T13:32:09","slug":"in-memory-data-management","status":"publish","type":"page","link":"https:\/\/wi-lex.de\/lexikon\/informations-daten-und-wissensmanagement\/datenmanagement\/datenbanksystem\/in-memory-data-management\/","title":{"rendered":"In-Memory Data Management"},"content":{"rendered":"<p><a title=\"Hasso Plattner\" href=\"https:\/\/www.wi-lex.de\/index.php\/autoren\/autorenverzeichnis\/plattner-prof-dr-hasso\/\">Hasso Plattner<\/a><\/p>\n<hr \/>\n<p align=\"JUSTIFY\"><em>In-Memory Data Management (IMDM) bezeichnet die prim\u00e4re Verwaltung von Daten im Hauptspeicher von einem oder mehreren Servern.<\/em><\/p>\n<h2>Zusammenfassung<\/h2>\n<p align=\"JUSTIFY\">Daten werden \u00fcblicherweise in Datenbanken gespeichert und verwaltet. Beim IMDM werden die Daten prim\u00e4r im Hauptspeicher abgelegt und &#8211; zur Absicherung vor St\u00f6rf\u00e4llen wie Stromausf\u00e4llen &#8211; parallel auf persistentem Speicher wie z.B. Solid-State-Disks gesichert. Der Zugriff auf den Hauptspeicher ist wesentlich schneller als die Verarbeitung von Daten in klassischen Systemen, welche die Daten prim\u00e4r auf der Festplatte ablegen und im Hauptspeicher lediglich tempor\u00e4re Arbeitskopien vorhalten. Dadurch ergeben sich fundamentale Verbesserungen f\u00fcr die Datenhaltung und -auswertung im Unternehmen.<\/p>\n<h2>Historie<\/h2>\n<p align=\"JUSTIFY\">Klassische Datenbanken speichern den Datenbestand auf Festplatten in Bl\u00f6cken ab. Die zuletzt benutzten Bl\u00f6cke werden nach M\u00f6glichkeit im Hauptspeicher vorgehalten, so dass auf diesen vorgehaltenen Daten schnelle Abfragen m\u00f6glich sind. Sollen Anfragen \u00fcber den gesamten Datenbestand durchgef\u00fchrt werden, muss dieser von der Festplatte gelesen werden, bevor er verarbeitet werden kann.<\/p>\n<h2>Entwicklung der Computertechnik<\/h2>\n<p align=\"JUSTIFY\">\u00dcber die letzten Jahrzehnte wurden Computer stetig schneller, was sich direkt auf die Ausf\u00fchrungsgeschwindigkeit auswirkte. Jedoch hat sich in den letzten Jahren gezeigt, dass sich einige Komponenten langsamer weiterentwickeln als andere. So ist die Rechenleistung moderner Prozessoren rasant gestiegen, w\u00e4hrend sich die Geschwindigkeit von Festplatten weitaus langsamer entwickelte. Somit wurde es immer aufw\u00e4ndiger, Daten von der Festplatte zu lesen und auszuwerten, was leicht zum Flaschenhals des Gesamtsystems wird.<\/p>\n<p align=\"JUSTIFY\">Daneben stehen heute Server mit Hauptspeicherkapazit\u00e4ten von bis zu 48 Terabyte zur Verf\u00fcgung. Verglichen mit dem Wachstum der Hauptspeicherkapazit\u00e4ten, haben sich allerdings die Latenz des Speicherzugriffes sowie die Speicherbandbreite nur geringf\u00fcgig verbessert. Um die Auslastung der Bandbreite zu optimieren, nutzen moderne Prozessoren mehrstufige Cache-Architekturen, wodurch die Latenz des Speicherzugriffes verringert werden kann. Durch solche Architekturen lassen sich Bandbreitenbeschr\u00e4nkungen beim Speicherzugriff umgehen oder zumindest einschr\u00e4nken. Diese sogenannten Speicherhierarchien nutzen den Fakt aus, dass kleinere aber daf\u00fcr wesentlich schnellere Speichertechnologien dichter an der CPU operieren. Dies f\u00fchrt jedoch dazu, dass die Geschwindigkeit der Zugriffe auf gespeicherte Daten von der Lokalit\u00e4t der Daten abh\u00e4ngig ist. Aufgrund dessen werden &#8211; insbesondere im In-Memory Data Management &#8211; Algorithmen und Datenstrukturen entsprechend optimiert, um Cache-Architekturen optimal auszunutzen.<\/p>\n<h2>Zeilen- und Spaltenorientierte Datenorganisation<\/h2>\n<p dir=\"ltr\" style=\"text-align: justify;\">Hauptspeicher wird im Englischen h\u00e4ufig mit dem Begriff DRAM bezeichnet, wobei diese Abk\u00fcrzung f\u00fcr Dynamic Random Access Memory steht. Dieser Begriff suggeriert, dass die Zugriffsperformance auf alle Dateneinheiten im Hauptspeicher wahlfrei ist, also unabh\u00e4ngig von der zuvor angefragten Dateneinheit. Wie im vorherigen Abschnitt erl\u00e4utert, ist dies bei heutigen Rechnern (die in der Mehrheit nach der Von-Neumann Architektur gebaut sind) nicht der Fall. Daher ist es erstrebenswert, h\u00e4ufig zusammen abgefragte Daten nah beieinander zu speichern. Dies kann durch eine spaltenorientierte Datenablage in vielen F\u00e4llen erreicht werden, da hier alle Eintr\u00e4ge einer Spalte bzw. eines Attributes gemeinsam gespeichert werden. Bei modernen Unternehmensanwendungen oder analytischen Anwendungen dominieren genau solche Anfragen, bei denen einzelne Attribute aller Datens\u00e4tze einer Tabelle gelesen werden (f\u00fcr eine ausf\u00fchrliche Erkl\u00e4rung siehe [Plattner 2014]). Diese Art der Datenablage steht im Gegensatz zu einer zeilenorientierten Datenorganisation, bei der die verschiedenen Attribute eines einzelnen Datensatzes zusammen abgelegt werden. Diese Art der Ablage ist besonders geeignet f\u00fcr schreibende Zugriffe kompletter Entit\u00e4ten. Einige moderne Datenbanksysteme kombinieren beide Ablagesysteme, um f\u00fcr eine gegebene Arbeitslast die optimale Datenorganisation zu erm\u00f6glichen.<\/p>\n<h2>In-Memory Data Management<\/h2>\n<p dir=\"ltr\" style=\"text-align: justify;\">Beim In-Memory Data Management werden s\u00e4mtliche Daten komprimiert und optimiert im Hauptspeicher einer oder mehrerer Server bereit gehalten. Alle Anfragen k\u00f6nnen somit direkt aus dem schnellen Hauptspeicher beantwortet werden.<\/p>\n<p dir=\"ltr\" style=\"text-align: justify;\">Der Fokus liegt beim In-Memory Data Management auf der Optimierung des physischen Datenlayouts, welches hinsichtlich des tats\u00e4chlichen vorkommenden Zugriffsmusters angepasst wird. Diese Muster werden in der Regel durch gegebene transaktionale oder analytische Workloads vorab definiert. Um einen effizienten Zugriff sicherzustellen, muss die verf\u00fcgbare Speicherbandbreite m\u00f6glichst vollst\u00e4ndig ausgenutzt werden und Daten sequentiell gelesen werden. Diese Anforderung ist analog zu festplattenbasierten <a class=\"internal-link\" title=\"Datenbanksystem\" href=\"https:\/\/www.wi-lex.de\/index.php\/lexikon\/informations-daten-und-wissensmanagement\/datenmanagement\/datenbanksystem\/\">Datenbanksystemen<\/a>, da diese ebenfalls profitieren, wenn ganze Bl\u00f6cke gelesen und komplett genutzt werden k\u00f6nnen, jedoch gelten andere Parameter, die dazu f\u00fchren, dass andere Algorithmen und Datenstrukturen zum Einsatz kommen.<\/p>\n<h2>Anwendungsgebiete beim Enterprise Computing<\/h2>\n<p dir=\"ltr\" style=\"text-align: justify;\">Im Kontext von Unternehmensanwendungen hat die Datenhaltung der IT-Systeme einen gro\u00dfen Einfluss auf die Geschwindigkeit, mit der Unternehmensdaten verarbeitet werden k\u00f6nnen.<\/p>\n<p dir=\"ltr\" style=\"text-align: justify;\">In-Memory Data Management erm\u00f6glicht eine neue Klasse von Anwendungen, die analytische Anfragen auf aktuellsten transaktionalen Daten ausf\u00fchren k\u00f6nnen, ohne diese vorher durch einen Extract, Transform, Load (<a class=\"internal-link\" title=\"ETL\" href=\"https:\/\/www.wi-lex.de\/index.php\/lexikon\/informations-daten-und-wissensmanagement\/business-intelligence\/etl\/\">ETL<\/a>)-Prozess in ein spezielles Analyseformat \u00fcbertragen zu m\u00fcssen. Dadurch, dass Daten nicht l\u00e4nger voraggregiert gespeichert werden, lassen sich Anwendungen erstellen, welche die Daten weitaus flexibler verarbeiten k\u00f6nnen.<\/p>\n<p dir=\"ltr\" style=\"text-align: justify;\">Neue Anwendungsgebiete, wie die Auswertung von <a class=\"internal-link\" title=\"RFID\" href=\"https:\/\/www.wi-lex.de\/index.php\/lexikon\/technologische-und-methodische-grundlagen\/informatik-grundlagen\/automatische-identifikation\/rfid\/\">RFID<\/a>-Sensordaten, Customer-Sentiment Analysen sowie operationales Reporting werden dadurch m\u00f6glich.<\/p>\n<h2>Beispiel f\u00fcr operationales Reporting<\/h2>\n<p dir=\"ltr\" style=\"text-align: justify;\">Ein Beispiel, anhand dessen der Vorteil des IMDM f\u00fcr die Betriebsplanung gezeigt werden kann, ist der Available-to-Promise-Check (ATP), bei dem gepr\u00fcft wird, ob einem Kunden eine Bestellung zugesichert werden kann. Dazu m\u00fcssen Lagerbest\u00e4nde, Produktionsplanung, Lieferanten sowie andere Bestellungen ber\u00fccksichtigt werden, was einen hohen Berechnungsaufwand auf dem gesamten Datenbestand bedeutet. Festplattenbasierte Datenbanksysteme kommen dort schnell an ihre Grenzen, da der Zugriff auf gro\u00dfen Datenmenge durch den Festplattenzugriff zu langsam ist, um Antworten in Echtzeit zu liefern.<\/p>\n<hr \/>\n<h3>Literatur<\/h3>\n<p>Plattner, H.: A Course in In-Memory Data Management, Second Edition, Springer 2014, ISBN: 978-3-642-55270-0<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hasso Plattner In-Memory Data Management (IMDM) bezeichnet die prim\u00e4re Verwaltung von Daten im Hauptspeicher von einem oder mehreren Servern. Zusammenfassung Daten werden \u00fcblicherweise in Datenbanken gespeichert und verwaltet. Beim IMDM werden die Daten prim\u00e4r im Hauptspeicher abgelegt und &#8211; zur <a href=\"https:\/\/wi-lex.de\/lexikon\/informations-daten-und-wissensmanagement\/datenmanagement\/datenbanksystem\/in-memory-data-management\/\" class=\"read-more\">Read More &#8230;<\/a><\/p>\n","protected":false},"author":568,"featured_media":0,"parent":3860,"menu_order":2,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-4048","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/wi-lex.de\/wp-json\/wp\/v2\/pages\/4048","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wi-lex.de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wi-lex.de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wi-lex.de\/wp-json\/wp\/v2\/users\/568"}],"replies":[{"embeddable":true,"href":"https:\/\/wi-lex.de\/wp-json\/wp\/v2\/comments?post=4048"}],"version-history":[{"count":8,"href":"https:\/\/wi-lex.de\/wp-json\/wp\/v2\/pages\/4048\/revisions"}],"predecessor-version":[{"id":15724,"href":"https:\/\/wi-lex.de\/wp-json\/wp\/v2\/pages\/4048\/revisions\/15724"}],"up":[{"embeddable":true,"href":"https:\/\/wi-lex.de\/wp-json\/wp\/v2\/pages\/3860"}],"wp:attachment":[{"href":"https:\/\/wi-lex.de\/wp-json\/wp\/v2\/media?parent=4048"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}