{"id":399,"date":"2014-01-30T12:42:58","date_gmt":"2014-01-30T11:42:58","guid":{"rendered":"http:\/\/e3mag.com\/?p=399"},"modified":"2019-04-01T10:50:27","modified_gmt":"2019-04-01T08:50:27","slug":"storage-strategies-management","status":"publish","type":"post","link":"https:\/\/e3mag.com\/en\/speicherstrategien-management\/","title":{"rendered":"Storage Strategies &amp; Management"},"content":{"rendered":"<p>Nevertheless, the techniques for improving performance in Numa systems and in distributed landscapes are similar.<\/p>\n<p>Since <span id=\"urn:local-text-annotation-f2fypxcbj6o3cz62blbyyv86edax6fwb\" class=\"textannotation disambiguated wl-organization\">SAP<\/span>-As applications often manage several hundred gigabytes or even terabytes of data, efficient access to the main memory is essential.  This article focuses on this aspect:<\/p><div id=\"great-3629933761\" class=\"great-fullsize-content-en great-entity-placement\" style=\"margin-bottom: 20px;\"><a data-no-instant=\"1\" href=\"https:\/\/www.youtube.com\/watch?v=6Ja0zaCg0ss\" rel=\"noopener\" class=\"a2t-link\" target=\"_blank\" aria-label=\"banner_bdc_2026_1200x150\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/e3mag.com\/wp-content\/uploads\/2026\/03\/banner_bdc_2026_1200x150.jpg\" alt=\"\"  srcset=\"https:\/\/e3mag.com\/wp-content\/uploads\/2026\/03\/banner_bdc_2026_1200x150.jpg 1200w, https:\/\/e3mag.com\/wp-content\/uploads\/2026\/03\/banner_bdc_2026_1200x150-400x50.jpg 400w, https:\/\/e3mag.com\/wp-content\/uploads\/2026\/03\/banner_bdc_2026_1200x150-768x96.jpg 768w, https:\/\/e3mag.com\/wp-content\/uploads\/2026\/03\/banner_bdc_2026_1200x150-100x13.jpg 100w, https:\/\/e3mag.com\/wp-content\/uploads\/2026\/03\/banner_bdc_2026_1200x150-480x60.jpg 480w, https:\/\/e3mag.com\/wp-content\/uploads\/2026\/03\/banner_bdc_2026_1200x150-640x80.jpg 640w, https:\/\/e3mag.com\/wp-content\/uploads\/2026\/03\/banner_bdc_2026_1200x150-720x90.jpg 720w, https:\/\/e3mag.com\/wp-content\/uploads\/2026\/03\/banner_bdc_2026_1200x150-960x120.jpg 960w, https:\/\/e3mag.com\/wp-content\/uploads\/2026\/03\/banner_bdc_2026_1200x150-1168x146.jpg 1168w, https:\/\/e3mag.com\/wp-content\/uploads\/2026\/03\/banner_bdc_2026_1200x150-18x2.jpg 18w, https:\/\/e3mag.com\/wp-content\/uploads\/2026\/03\/banner_bdc_2026_1200x150-600x75.jpg 600w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" width=\"1200\" height=\"150\"  style=\" max-width: 100%; height: auto;\" \/><\/a><\/div>\n<p><span id=\"urn:local-text-annotation-hdiyp7310q4frrwtzg8gcpf0s4dz25dk\" class=\"textannotation disambiguated wl-organization\">SAP<\/span> presented a system at Sapphire 2012 in Orlando, which enables analytical queries on a distributed <span id=\"urn:local-text-annotation-rnloivynygijnie9ftbbxnixqi5yk4tj\" class=\"textannotation disambiguated wl-thing\">Hana<\/span>-DB with 100 nodes with a total of 100 TB of aggregated main memory.<\/p>\n<p>Typical distributed <span id=\"urn:local-text-annotation-hi2694i59id99hrbfrl44kekf9nggfp1\" class=\"textannotation disambiguated wl-thing\">Hana<\/span>-In a distributed server landscape, five to ten server nodes tend to be used. However, it is clear that in a distributed server landscape, the focus is more on effective distribution of data and requests and efficient network communication than on efficient access to the main memory.<\/p>\n<h3>What is Numa?<\/h3>\n<p>Modern server systems have several processors (or CPUs) on their circuit board - typically one to four CPUs in desktop systems from <span id=\"urn:local-text-annotation-b4msdqgg8b9hc5yho0y87dd4m7v24hdd\" class=\"textannotation disambiguated wl-organization\">Intel<\/span>whereas in <span id=\"urn:local-text-annotation-pb82q0yovtegoifi2lxpufko3ma4rnea\" class=\"textannotation disambiguated wl-organization\">Intel<\/span>-servers have two to eight CPUs. Processors are connected to the board via a socket.<\/p>\n<p>Each of these CPUs normally contains several cores in which the calculations are carried out. Modern Intel CPUs contain two to ten cores. This means that large servers have a total of up to 80 cores available for data processing.<\/p>\n<p>As the clock frequency in the cores cannot be increased any further for thermal reasons, among others, the number of cores in servers will continue to increase in the coming years. The CPUs and the main memory are connected to each other via a bus system.<\/p>\n<p>If the calculations for a request can be distributed across many cores, the question arises as to how the data is transported to the cores. In principle, there are two alternatives here at the processor architecture level (Hennessy &amp; Patterson, 2012):<\/p>\n<ol>\n<li><strong><em>Symmetric Multiprocessing (<span id=\"urn:local-text-annotation-ih9ig0q4anxb79q4jlhsclacegifkl3f\" class=\"textannotation disambiguated wl-thing\">SMP<\/span>): <\/em><\/strong><br \/>\nIn this architecture, the access time to a memory address is the same for all addresses and for all cores. This architecture is shown in Figure 2. Caches are assigned locally to each processor. The main memory is accessed via a <span id=\"urn:local-text-annotation-k9ah2jl8udhlzx68r5i6ntrqng0udcmm\" class=\"textannotation disambiguated wl-thing\">Bus<\/span>which is shared by all processors. In this architecture, the <span id=\"urn:local-text-annotation-iy6howhmf0qsitpx5fbryh5speb2larn\" class=\"textannotation disambiguated wl-thing\">Memory bus<\/span> can become a bottleneck because read operations that cannot be served by the local cache and all write operations to the shared <span id=\"urn:local-text-annotation-9lnf6x65wu8f893m8seir6dp6spyrr7v\" class=\"textannotation disambiguated wl-thing\">Memory bus<\/span> have to access.<\/li>\n<li><strong><em>Non-Uniform Memory Access:<\/em><\/strong><br \/>\nIn this architecture (Figure 3), processors are assigned both caches and memory locally. For a processor, accessing the local memory is faster than accessing the memory of another processor because remote accesses via a <span id=\"urn:local-text-annotation-lzpvp6drjbf7ly5yugh37fea62pdemzj\" class=\"textannotation disambiguated wl-thing\">Memory bus<\/span> must be processed. For application programs, the allocation of physical memory to individual processors is not directly recognizable - they work as if in a <span id=\"urn:local-text-annotation-vxdlmsjolu22olxlewk0ie5a0t1iw9mj\" class=\"textannotation disambiguated wl-thing\">SMP<\/span> with a homogeneous address space.<\/li>\n<\/ol>\n<p>Since in modern <span id=\"urn:local-text-annotation-ppspobbi8zezxa3l0gtqn8q22d9qafe1\" class=\"textannotation disambiguated wl-organization\">Intel<\/span>-systems contain several cores in one processor, the result is a Numa architecture at the processor level, but a <span id=\"urn:local-text-annotation-c43yv4d1a8eqvqs8xcw4d4witfs9qzrt\" class=\"textannotation disambiguated wl-thing\">SMP<\/span>-system at the level of each processor.<\/p>\n<p>The latter is also known as a chip multi-processor (CMP). Examples of <span id=\"urn:local-text-annotation-u08v9lx05ho02to1m47l78zyo3yzthd9\" class=\"textannotation disambiguated wl-thing\">SMP<\/span>-systems are Intel Pentium D, Intel Itanium, <span id=\"urn:local-text-annotation-ffi144beyoqcnjswq8a8hd386vw1hx0k\" class=\"textannotation disambiguated wl-thing\">IBM Power<\/span>Sun UltraSparc T2 or SGI MIPS, while examples of Numa architectures are Intel Nehalem CPUs or <span id=\"urn:local-text-annotation-y754idknh3qlgkrfqpusni7xipo4af63\" class=\"textannotation disambiguated wl-organization\">AMD<\/span> Opteron CPUs (and their successors) are.<\/p>\n<h3>Is Numa relevant for Hana?<\/h3>\n<p>The <span id=\"urn:local-text-annotation-tcuotcnou55q7u85avx28ksa8z8cq3a4\" class=\"textannotation disambiguated wl-organization\">SAP<\/span>-<span id=\"urn:local-text-annotation-ft4c6z2mflackwvvd2bbrb9j0vuk79dw\" class=\"textannotation disambiguated wl-thing\">Hana<\/span>-DB was developed in cooperation with <span id=\"urn:local-text-annotation-x0wbyxmbhk9xu1myu04nwidlr8mg7k57\" class=\"textannotation disambiguated wl-organization\">Intel<\/span> for execution on current <span id=\"urn:local-text-annotation-0hsvp0hjdhxk1naz2u9c71bnox8ijeby\" class=\"textannotation disambiguated wl-organization\">Intel<\/span>-Xeon processors. For example, the <span id=\"urn:local-text-annotation-kz7h4zwroxhac20cek42ikv9txlabhj2\" class=\"textannotation disambiguated wl-thing\">Hana<\/span>-DB the <span id=\"urn:local-text-annotation-2v5986zi78jd6fndflw748zvrdlakr18\" class=\"textannotation disambiguated wl-thing\">SSE<\/span>-Extensions from <span id=\"urn:local-text-annotation-zoewwx1vza046sfk9brfy2rbbzyckd8p\" class=\"textannotation disambiguated wl-organization\">Intel<\/span>-processors to process several elements in parallel in a machine instruction.<\/p>\n<p>As these <span id=\"urn:local-text-annotation-7jfa3lgz2j3ixrwai3jvfke5ft6hsx9k\" class=\"textannotation disambiguated wl-organization\">Intel<\/span>-processors are based on a Numa architecture, the code of the <span id=\"urn:local-text-annotation-lg1zf3fxz4jcrrf9i9bjbx11rh9p6w9u\" class=\"textannotation disambiguated wl-thing\">Hana<\/span>-DB can be optimized for this architecture. In the following, we will discuss some scenarios where Numa effects in the <span id=\"urn:local-text-annotation-25s3bgjlrwaa49fbe1u9z639n0ez6o57\" class=\"textannotation disambiguated wl-thing\">Hana<\/span>-DB are relevant and how the <span id=\"urn:local-text-annotation-dibuhnmm4yt8h45dgzjik2sc9u5f61f7\" class=\"textannotation disambiguated wl-thing\">Hana<\/span>-DB can handle it.<\/p>\n<p>If a request is the <span id=\"urn:local-text-annotation-gwu0d1say9o212ed8i2mm0wgn6ujtodu\" class=\"textannotation disambiguated wl-thing\">Hana<\/span>-DB, this request is first assigned to a thread. In general, threads allow lightweight concurrent processing of multiple requests (compared to processes in the operating system).<\/p>\n<p>Active threads are created at a point in time on exactly one <span id=\"urn:local-text-annotation-ur255x9qatiwqdg922qbe97xsbenzs8e\" class=\"textannotation disambiguated wl-thing\">Core<\/span> executed.  During the processing of a query, the database must allocate memory in most cases, for example to collect the result of the query for the database application. The memory should then be allocated in the memory area assigned to the processor and the database application. <span id=\"urn:local-text-annotation-pdb1mn67n1qgpn5b1nyxim1g9zhblwdl\" class=\"textannotation disambiguated wl-thing\">Core<\/span> so that memory accesses are not delayed by accesses to remote memory.<\/p>\n<p>Modern operating systems already take Numa architectures into account: Both <span id=\"urn:local-text-annotation-smx7lqagi491xnm45eh69z4e5rypv47k\" class=\"textannotation disambiguated wl-thing\">Microsoft Windows<\/span> 7 or Windows Server 2008R2 as well as <span id=\"urn:local-text-annotation-u0ippugwefdlfsqevc3re8pc84c27o4j\" class=\"textannotation disambiguated wl-thing\">Linux<\/span> (from kernel 2.5) attempt to allocate the memory in the area assigned to the processor of the thread or operating system process. This means that applications automatically benefit from optimizations in the operating system.<\/p>\n<p>It should be noted here that virtualization solutions such as VMware ESX abstract from the physical hardware. As the software works with logical CPUs and a virtualization layer for the memory, optimizations for a Numa architecture on a virtualized system can even lead to negative effects.<\/p>\n<p>The automatic memory management of the operating system can lead to undesirable effects if an application manages memory itself in order to avoid expensive system calls when allocating and releasing memory. Memory can then be present in the wrong area when the memory is reused. Virtually every database implements its own memory management that works at application level.<\/p>\n<p>Another effect is that one thread allocates memory (locally), but many other threads want to work with this memory.<\/p>\n<p>An example of this is the memory of a column: This memory is allocated once when the column is loaded into the main memory, but many requests read the column data.<\/p>\n<p>In both of these scenarios, memory management at application level and memory access by many threads, effective scheduling of the threads can help. Here too, modern operating systems implement strategies to execute threads where the data used is allocated.<\/p>\n<p>This can lead to a situation where a thread is started by a <span id=\"urn:local-text-annotation-s6aws8tftkf3cmq1g5nnnq2ddtss8jwp\" class=\"textannotation disambiguated wl-thing\">Core<\/span> is moved to another so that memory accesses from local memory can be processed. However, the operating system reaches its limits where, for example, knowledge of the database system can lead to better decisions.<\/p>\n<h3>Numa support in <span id=\"urn:local-text-annotation-fjpmuzm2u1kbl9mulfzhfoflo1w77qsd\" class=\"textannotation disambiguated wl-thing\">Hana<\/span><\/h3>\n<p>The previous section discussed strategies on Numa architectures that are available to any application on modern servers and modern operating systems.<\/p>\n<p>However, these techniques alone lead to suboptimal decisions because the special properties of a database system cannot be taken into account. Database-specific optimization options in the <span id=\"urn:local-text-annotation-nk9ppv1ektrnlkrvlarevlux242zuap4\" class=\"textannotation disambiguated wl-thing\">Hana<\/span>-DB is covered in this section.<\/p>\n<h3>Memory management<\/h3>\n<p>As indicated above, the <span id=\"urn:local-text-annotation-uj43lcphcbg7v6ukf8p96jdr21zimu12\" class=\"textannotation disambiguated wl-thing\">Hana<\/span>-DB uses a memory management system based on the memory management of the operating system for reasons of efficiency. Memory is not normally returned to the operating system when it is released in the database code.<\/p>\n<p>At the same time, memory that has already been allocated is reused. This is intended to reduce the fragmentation of the main memory as well as the number of system calls to the operating system. This opens up opportunities to exploit the specific properties of a Numa architecture:<\/p>\n<p>1. if a thread requests memory, local memory of the processor is made available to the thread so that accesses to this memory can be made by the local memory manager.<span id=\"urn:local-text-annotation-4jrzcf1oenrzmr55fvznre5mk3ran70l\" class=\"textannotation disambiguated wl-thing\">Controller<\/span> are processed and the memory buses between the processors are relieved. This strategy seems particularly useful in scenarios where the memory is used by threads on the same processor.<\/p>\n<p>2 In some cases, however, it seems to make more sense to distribute the requested memory across several processors. In current systems, in certain scenarios the memory<span id=\"urn:local-text-annotation-uc3mxmu1nyntc8vzzvhi4onufovw4xa7\" class=\"textannotation disambiguated wl-thing\">Controller<\/span> represent a bottleneck. In these cases, it makes more sense to distribute both the memory and the threads that use the memory to different processors. In this way, the bottleneck can be avoided, for example when accessing large and frequently used columns.<\/p>\n<h3>Job Scheduling<\/h3>\n<p>In many cases, a modern operating system makes a good decision about which threads to run on which <span id=\"urn:local-text-annotation-2w770t8j32kpdxuxf1thjg78txxoek5y\" class=\"textannotation disambiguated wl-thing\">Core<\/span> are to be executed.<\/p>\n<p>The decision takes into account whether there are still cores on a processor that are not currently performing any calculations, the activity status of individual cores and processors (to save energy, it is worth bundling work on individual processors and deactivating other processors), whether individual processors are currently running \"overclocked\" (TurboBoost for <span id=\"urn:local-text-annotation-i52lu96x5wbxzu69jm81h9vu4sejj4lc\" class=\"textannotation disambiguated wl-organization\">Intel<\/span>) and which data a thread accesses.<\/p>\n<p>In addition to this automatic decision by the operating system, an application developer can influence the assignment of threads to processors or cores.<\/p>\n<p>Basically, the associated optimization options for scheduling the threads in the system are dependent on memory management:<\/p>\n<ol>\n<li>If data used by a thread is assigned locally to a processor, then the thread should also be processed on this processor.  Somewhat surprisingly, it is sometimes worthwhile to run more threads on a processor than the processor can process (number of cores, with hyperthreading theoretically twice the number of cores), especially if these threads access shared memory and this memory is already available in the caches.<\/li>\n<li>Some complex database operations read and write large amounts of data and thus place a load on the memory capacity.<span id=\"urn:local-text-annotation-35vy1eul437h3051m12h6jh9ypxkl11t\" class=\"textannotation disambiguated wl-thing\">Controller<\/span> If the data for these operations is already distributed across the local memory of several processors, then the threads for accessing the data should be distributed across several processors. This means that individual memory<span id=\"urn:local-text-annotation-nav5rfskkgjzreheedh42fmchd2oltwv\" class=\"textannotation disambiguated wl-thing\">Controller<\/span> and the workload is distributed across multiple storage connections and storage devices.<span id=\"urn:local-text-annotation-ljnxkvg5e8d838gvlvj84ev82d28vudb\" class=\"textannotation disambiguated wl-thing\">Controller<\/span> distributed.<\/li>\n<li>In some cases, database operations such as join operations should be implemented with a special focus on the Numa architecture. The first \"guidelines\" for such implementations are discussed in the research literature (Albutiu, Kemper &amp; Neumann, 2012).<\/li>\n<\/ol>\n<h3>Future of Numa<\/h3>\n<p>For several decades, database software was created on the premise that processing speed would increase with the next generation of processors, partly because the clock frequency would increase. For technical reasons, this automatism has no longer applied since the beginning of the millennium.<\/p>\n<p>Suppliers such as Intel or <span id=\"urn:local-text-annotation-ytbqv8rhcvk40ky5g9ewdg19axkqkmwv\" class=\"textannotation disambiguated wl-organization\">AMD<\/span> propagate systems in which the work is distributed across several processors, each with several cores. As discussed in the article, an architecture in which memory access is differently complex - depending on where the memory was physically allocated (referred to as Numa) - seems to be gaining acceptance.<\/p>\n<p>Application software must therefore be redesigned to take advantage of the parallelism that has come with the availability of multi-core architectures. In connection with this, the software must take into account the peculiarities of the Numa architecture and optimize the allocation of memory and access to it.<\/p>\n<p>While modern operating systems provide some optimizations in this area, performance-critical applications such as the <span id=\"urn:local-text-annotation-edct38rmmo7lp89spja4zjz37vt610gf\" class=\"textannotation disambiguated wl-thing\">Hana<\/span>-DB can realize improvements that go far beyond this.<\/p>\n<p>In the <span id=\"urn:local-text-annotation-4h0rnn6c59g09t7q7fjfhomg0lzvnpvu\" class=\"textannotation disambiguated wl-thing\">Hana<\/span>-A number of these improvements have already been integrated into the Numa database. Nevertheless, the implementation of databases on Numa architectures is still in its infancy and further improvements are to be expected.<\/p>","protected":false},"excerpt":{"rendered":"<p>If the data of a Hana application can no longer be processed by a single server node (scale-up), then the data must be distributed to multiple nodes (scale-out). Since Numa concerns access to local main memory, this article does not go into more detail about aspects of distributed systems.<\/p>","protected":false},"author":41,"featured_media":882,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"pmpro_default_level":"","footnotes":""},"categories":[5],"tags":[65,67,59,352,353],"coauthors":[22374],"class_list":["post-399","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-it-management","tag-hana","tag-linux","tag-microsoft","tag-orlando","tag-sapphire","pmpro-has-access"],"acf":[],"featured_image_urls_v2":{"full":["https:\/\/e3mag.com\/wp-content\/uploads\/2014\/01\/2shutterstock_313779428.jpg",1000,563,false],"thumbnail":["https:\/\/e3mag.com\/wp-content\/uploads\/2014\/01\/2shutterstock_313779428-150x150.jpg",150,150,true],"medium":["https:\/\/e3mag.com\/wp-content\/uploads\/2014\/01\/2shutterstock_313779428.jpg",400,225,false],"medium_large":["https:\/\/e3mag.com\/wp-content\/uploads\/2014\/01\/2shutterstock_313779428-768x432.jpg",768,432,true],"large":["https:\/\/e3mag.com\/wp-content\/uploads\/2014\/01\/2shutterstock_313779428.jpg",1000,563,false],"image-100":["https:\/\/e3mag.com\/wp-content\/uploads\/2014\/01\/2shutterstock_313779428-100x56.jpg",100,56,true],"image-480":["https:\/\/e3mag.com\/wp-content\/uploads\/2014\/01\/2shutterstock_313779428-480x270.jpg",480,270,true],"image-640":["https:\/\/e3mag.com\/wp-content\/uploads\/2014\/01\/2shutterstock_313779428-640x360.jpg",640,360,true],"image-720":["https:\/\/e3mag.com\/wp-content\/uploads\/2014\/01\/2shutterstock_313779428-720x405.jpg",720,405,true],"image-960":["https:\/\/e3mag.com\/wp-content\/uploads\/2014\/01\/2shutterstock_313779428-960x540.jpg",960,540,true],"image-1168":["https:\/\/e3mag.com\/wp-content\/uploads\/2014\/01\/2shutterstock_313779428.jpg",1000,563,false],"image-1440":["https:\/\/e3mag.com\/wp-content\/uploads\/2014\/01\/2shutterstock_313779428.jpg",1000,563,false],"image-1920":["https:\/\/e3mag.com\/wp-content\/uploads\/2014\/01\/2shutterstock_313779428.jpg",1000,563,false],"1536x1536":["https:\/\/e3mag.com\/wp-content\/uploads\/2014\/01\/2shutterstock_313779428.jpg",1000,563,false],"2048x2048":["https:\/\/e3mag.com\/wp-content\/uploads\/2014\/01\/2shutterstock_313779428.jpg",1000,563,false],"trp-custom-language-flag":["https:\/\/e3mag.com\/wp-content\/uploads\/2014\/01\/2shutterstock_313779428.jpg",18,10,false],"bricks_large_16x9":["https:\/\/e3mag.com\/wp-content\/uploads\/2014\/01\/2shutterstock_313779428.jpg",1000,563,false],"bricks_large":["https:\/\/e3mag.com\/wp-content\/uploads\/2014\/01\/2shutterstock_313779428.jpg",1000,563,false],"bricks_large_square":["https:\/\/e3mag.com\/wp-content\/uploads\/2014\/01\/2shutterstock_313779428.jpg",1000,563,false],"bricks_medium":["https:\/\/e3mag.com\/wp-content\/uploads\/2014\/01\/2shutterstock_313779428.jpg",600,338,false],"bricks_medium_square":["https:\/\/e3mag.com\/wp-content\/uploads\/2014\/01\/2shutterstock_313779428.jpg",600,338,false],"profile_24":["https:\/\/e3mag.com\/wp-content\/uploads\/2014\/01\/2shutterstock_313779428-24x24.jpg",24,24,true],"profile_48":["https:\/\/e3mag.com\/wp-content\/uploads\/2014\/01\/2shutterstock_313779428-48x48.jpg",48,48,true],"profile_96":["https:\/\/e3mag.com\/wp-content\/uploads\/2014\/01\/2shutterstock_313779428-96x96.jpg",96,96,true],"profile_150":["https:\/\/e3mag.com\/wp-content\/uploads\/2014\/01\/2shutterstock_313779428-150x150.jpg",150,150,true],"profile_300":["https:\/\/e3mag.com\/wp-content\/uploads\/2014\/01\/2shutterstock_313779428-300x300.jpg",300,300,true]},"post_excerpt_stackable_v2":"<p>Wenn die Daten einer Hana-Anwendung nicht mehr von einem einzelnen Serverknoten verarbeitet werden k\u00f6nnen (Scale-up), dann m\u00fcssen die Daten auf mehrere Knoten verteilt werden (Scale-out). Da Numa den Zugriff auf den lokalen Hauptspeicher betrifft, geht dieser Artikel nicht genauer auf Aspekte von verteilten Systemen ein.<\/p>\n","category_list_v2":"<a href=\"https:\/\/e3mag.com\/en\/category\/it-management\/\" rel=\"category tag\">IT-Management<\/a>","author_info_v2":{"name":"Norman May, SAP","url":"https:\/\/e3mag.com\/en\/author\/norman-may\/"},"comments_num_v2":"0 comments","_links":{"self":[{"href":"https:\/\/e3mag.com\/en\/wp-json\/wp\/v2\/posts\/399","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/e3mag.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/e3mag.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/e3mag.com\/en\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/e3mag.com\/en\/wp-json\/wp\/v2\/comments?post=399"}],"version-history":[{"count":0,"href":"https:\/\/e3mag.com\/en\/wp-json\/wp\/v2\/posts\/399\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/e3mag.com\/en\/wp-json\/wp\/v2\/media\/882"}],"wp:attachment":[{"href":"https:\/\/e3mag.com\/en\/wp-json\/wp\/v2\/media?parent=399"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/e3mag.com\/en\/wp-json\/wp\/v2\/categories?post=399"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/e3mag.com\/en\/wp-json\/wp\/v2\/tags?post=399"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/e3mag.com\/en\/wp-json\/wp\/v2\/coauthors?post=399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}