{"id":2351,"date":"2014-04-16T11:00:09","date_gmt":"2014-04-16T15:00:09","guid":{"rendered":"http:\/\/sqlity.net\/en\/?p=2351"},"modified":"2014-11-13T13:39:47","modified_gmt":"2014-11-13T18:39:47","slug":"gam","status":"publish","type":"post","link":"https:\/\/sqlity.net\/en\/2351\/gam\/","title":{"rendered":"The Global Allocation Map (GAM)"},"content":{"rendered":"<div>\n<h3>Introduction<\/h3>\n<p>\nSQL Server uses a structure called the Global Allocation Map (GAM) to keep track of all free <a href=\"http:\/\/sqlity.net\/en\/2265\/extent\/\">extents<\/a> in a database file. The GAM is consists of several GAM pages, one for each <a href=\"http:\/\/sqlity.net\/en\/2331\/gam-interval\/\">GAM Interval<\/a> in each file.\n<\/p>\n<h3>GAM Pages<\/h3>\n<p>\nThe GAM page is the first page of each GAM interval, with the exception of the first GAM page in a file. The first GAM page is always located on the third page, as page 0 and page 1 are reserved for other usages. As a GAM interval is 511232 pages that means, that you can find the GAM pages at page 3, 511232, 1022464, 1533696 and so on.\n<\/p>\n<p>\nA GAM page is indicated by page type 8. The header of a GAM page looks like this:\n<\/p>\n<p>\n<a href=\"http:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/header_of_a_GAM_page.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/header_of_a_GAM_page.jpg\" alt=\"The header of a GAM page.\" title=\"The header of a GAM page.\" width=\"836\" height=\"546\" class=\"aligncenter size-full wp-image-2352\" srcset=\"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/header_of_a_GAM_page.jpg 836w, https:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/header_of_a_GAM_page-300x195.jpg 300w, https:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/header_of_a_GAM_page-150x97.jpg 150w\" sizes=\"auto, (max-width: 836px) 100vw, 836px\" \/><\/a>\n<\/p>\n<p>\nOne thing to note is the slot count of two. All extent-state tracking pages (IAM, GAM, SGAM, DIFF, ML) are setup the same way. At the beginning, there is an array that can be used to store eight page ids. <a href=\"http:\/\/sqlity.net\/en\/2315\/index-allocation-map\/\">IAM pages use that to track pages in mixed extents<\/a>. However, that array is not used in the other page types. Following that array is an area of 7988 bytes used to track the state of 63904 extents, which is incidentally the size of a GAM interval. At the end of the page, you have the slot array, which points to the beginning of those two sections. Therefore, a page of any of those five page types always ends in 0xbe006000.\n<\/p>\n<p>\nEach extent in a GAM interval is associated with a single bit in the GAM page for that same GAM interval. That bit is used to track if the extent is in use or not. If the extent is currently unused, the bit is set to <span class=\"tt\">1<\/span>. If the extent is a uniform extent and has been allocated to a table, the bit is set to <span class=\"tt\">0<\/span>. If the extent is a mixed extent, the bit is also set to <span class=\"tt\">0<\/span>, even though there might be still pages unused and available in that extent.\n<\/p>\n<p>\nA bit valued <span class=\"tt\">1<\/span> therefore means, this extent is available to be allocated to any type of use, whereas a <span class=\"tt\">0<\/span>  means that this extent is in use already.\n<\/p>\n<p>\nBelow is the (shortened) output of <span class=\"tt\">DBCC PAGE(0,1,2,2);<\/span> for one of my databases:\n<\/p>\n<div>\n[sourcecode]\nPAGE: (1:2)<\/p>\n<p>BUFFER:<\/p>\n<p>BUF @0x000000000400C240<\/p>\n<p>bpage = 0x00000001F4F06000          bhash = 0x0000000000000000          bpageno = (1:2)<br \/>\nbdbid = 21                          breferences = 1                     bcputicks = 0<br \/>\nbsampleCount = 0                    bUse1 = 35183                       bstat = 0x10b<br \/>\nblog = 0x2121215a                   bnext = 0x0000000000000000          <\/p>\n<p>PAGE HEADER:<\/p>\n<p>Page @0x00000001F4F06000<\/p>\n<p>m_pageId = (1:2)                    m_headerVersion = 1                 m_type = 8<br \/>\nm_typeFlagBits = 0x0                m_level = 0                         m_flagBits = 0x0<br \/>\nm_objId (AllocUnitId.idObj) = 99    m_indexId (AllocUnitId.idInd) = 0   Metadata: AllocUnitId = 6488064<br \/>\nMetadata: PartitionId = 0           Metadata: IndexId = 0               Metadata: ObjectId = 99<br \/>\nm_prevPage = (0:0)                  m_nextPage = (0:0)                  pminlen = 90<br \/>\nm_slotCnt = 2                       m_freeCnt = 6                       m_freeData = 8182<br \/>\nm_reservedCnt = 0                   m_lsn = (40361:723:7)               m_xactReserved = 0<br \/>\nm_xdesId = (0:0)                    m_ghostRecCnt = 0                   m_tornBits = -1158090570<br \/>\nDB Frag ID = 1                      <\/p>\n<p>Allocation Status<\/p>\n<p>GAM (1:2) = ALLOCATED               SGAM (1:3) = NOT ALLOCATED          PFS (1:1) = 0x44 ALLOCATED 100_PCT_FULL<br \/>\nDIFF (1:6) = CHANGED                ML (1:7) = NOT MIN_LOGGED           <\/p>\n<p>DATA:<\/p>\n<p>Memory Dump @0x000000006F70A000<\/p>\n<p>000000006F70A000:   01080000 00000000 00000000 00005a00 00000000  ..............Z.....<br \/>\n000000006F70A014:   00000200 63000000 0600f61f 02000000 01000000  ....c.....\u00f6.........<br \/>\n000000006F70A028:   a99d0000 d3020000 07000000 00000000 00000000  \u00a9...\u00d3...............<br \/>\n000000006F70A03C:   b6f0f8ba 01000000 00000000 00000000 00000000  \u00b6\u00f0\u00f8\u00ba................<br \/>\n000000006F70A050:   00000000 00000000 00000000 00000000 00005e00  ..................^.<br \/>\n000000006F70A064:   00000000 00000000 00000000 00000000 00000000  ....................<br \/>\n000000006F70A078:   00000000 00000000 00000000 00000000 00000000  ....................<br \/>\n000000006F70A08C:   00000000 00000000 00000000 00000000 00000000  ....................<br \/>\n000000006F70A0A0:   00000000 00000000 00000000 00000000 00000000  ....................<br \/>\n000000006F70A0B4:   00000000 00000000 00000000 381f0000 0000c0ff  ............8.....\u00c0\u00ff<br \/>\n000000006F70A0C8:   ffffffff ffffffff ffffffff ffffffff ffffffff  \u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff<br \/>\n&lt;...&gt;<br \/>\n000000006F70BFE0:   ffffffff ffffffff ffffffff ffffffff ffffffff  \u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff<br \/>\n000000006F70BFF4:   ffff0000 00000000 be006000                    \u00ff\u00ff......\u00be.`.<\/p>\n<p>DBCC execution completed. If DBCC printed error messages, contact your system administrator.<br \/>\n[\/sourcecode]\n<\/p><\/div>\n<p>\nThe slot array tells us the (unused) array of eight pages starts at byte 0x60, followed by the bit map at byte 0xbe. At position 0xbe you find the value 0x0000381f. That value is the length of the bitmap. As that length is always the same, you will find that same value at that exact position in all extent-state bitmap pages.\n<\/p>\n<p>\nDirectly after that length value the actual bitmap starts. In the example above you see four 0x00 byte, followed by a single 0xc0. The rest of the map is filled with 0xff bytes. The first 4 bytes indicate that the first 32 extents (pages 0 to 255) are in use. The byte 0xc0 adds another 6 extents or 48 pages to that. That means that the first free extent in this file starts at page 304. If you use output type <span class=\"tt\">3<\/span> with <span class=\"tt\">DBCC PAGE<\/span> for this GAM page (<span class=\"tt\">DBCC PAGE(0,1,2,3);<\/span>), you can quickly confirm that calculation:\n<\/p>\n<div>\n[sourcecode]\nGAM: Extent Alloc Status @0x000000006AFEA0C2<\/p>\n<p>(1:0)        - (1:296)      =     ALLOCATED<br \/>\n(1:304)      - (1:511224)   = NOT ALLOCATED<br \/>\n[\/sourcecode]\n<\/p><\/div>\n<h3>Summary<\/h3>\n<p>\nGAM pages are used by SQL Server to track, which extents are in use and which ones are unallocated. Each GAM page contains a 7988-byte bitmap covering all extent in a single GAM interval of 511232 pages. Each bit corresponds to a single extent, and a value of <span class=\"tt\">1<\/span> indicates that that extent is still unallocated.\n<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>SQL Server uses the Global Allocation Map (GAM) to catalog if an extent is allocated or not. In a 7988-byte bitmap each extent is associated with a single bit to convey that information. Read on to get all the details.<\/p>\n<p> <a href=\"https:\/\/sqlity.net\/en\/2351\/gam\/\">[more&#8230;]<\/a><\/p>\n","protected":false},"author":3,"featured_media":2352,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[5,27,14,105],"tags":[111,159,165,155,15,108,109],"class_list":["post-2351","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-general","category-series","category-sql-server-internals","category-storage-wednesday","tag-dbcc-page","tag-gam-interval","tag-gam-page","tag-iam-page","tag-sql-server","tag-storage","tag-storage-engine"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>The Global Allocation Map (GAM) - sqlity.net<\/title>\n<meta name=\"description\" content=\"SQL Server uses the Global Allocation Map (GAM) to catalog if an extent is allocated or not. In a 7988-byte bitmap each extent is associated with one bit.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sqlity.net\/en\/2351\/gam\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Global Allocation Map (GAM) - sqlity.net\" \/>\n<meta property=\"og:description\" content=\"SQL Server uses the Global Allocation Map (GAM) to catalog if an extent is allocated or not. In a 7988-byte bitmap each extent is associated with one bit.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sqlity.net\/en\/2351\/gam\/\" \/>\n<meta property=\"og:site_name\" content=\"sqlity.net\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/sqlity.net\" \/>\n<meta property=\"article:published_time\" content=\"2014-04-16T15:00:09+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2014-11-13T18:39:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/header_of_a_GAM_page.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"836\" \/>\n\t<meta property=\"og:image:height\" content=\"546\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Sebastian Meine\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@sqlity\" \/>\n<meta name=\"twitter:site\" content=\"@sqlity\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sebastian Meine\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2351\\\/gam\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2351\\\/gam\\\/\"},\"author\":{\"name\":\"Sebastian Meine\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/#\\\/schema\\\/person\\\/bcffd8c572bc2f1bd10fdba80135e53c\"},\"headline\":\"The Global Allocation Map (GAM)\",\"datePublished\":\"2014-04-16T15:00:09+00:00\",\"dateModified\":\"2014-11-13T18:39:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2351\\\/gam\\\/\"},\"wordCount\":802,\"commentCount\":1,\"image\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2351\\\/gam\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/sqlity.net\\\/wp-content\\\/uploads\\\/2014\\\/04\\\/header_of_a_GAM_page.jpg\",\"keywords\":[\"DBCC PAGE\",\"GAM Interval\",\"GAM page\",\"IAM page\",\"SQL Server\",\"storage\",\"storage engine\"],\"articleSection\":[\"General\",\"Series\",\"SQL Server Internals\",\"Storage Wednesday\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/sqlity.net\\\/en\\\/2351\\\/gam\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2351\\\/gam\\\/\",\"url\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2351\\\/gam\\\/\",\"name\":\"The Global Allocation Map (GAM) - sqlity.net\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2351\\\/gam\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2351\\\/gam\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/sqlity.net\\\/wp-content\\\/uploads\\\/2014\\\/04\\\/header_of_a_GAM_page.jpg\",\"datePublished\":\"2014-04-16T15:00:09+00:00\",\"dateModified\":\"2014-11-13T18:39:47+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/#\\\/schema\\\/person\\\/bcffd8c572bc2f1bd10fdba80135e53c\"},\"description\":\"SQL Server uses the Global Allocation Map (GAM) to catalog if an extent is allocated or not. In a 7988-byte bitmap each extent is associated with one bit.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2351\\\/gam\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/sqlity.net\\\/en\\\/2351\\\/gam\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2351\\\/gam\\\/#primaryimage\",\"url\":\"https:\\\/\\\/sqlity.net\\\/wp-content\\\/uploads\\\/2014\\\/04\\\/header_of_a_GAM_page.jpg\",\"contentUrl\":\"https:\\\/\\\/sqlity.net\\\/wp-content\\\/uploads\\\/2014\\\/04\\\/header_of_a_GAM_page.jpg\",\"width\":836,\"height\":546,\"caption\":\"The header of a GAM page.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/2351\\\/gam\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/sqlity.net\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Global Allocation Map (GAM)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/sqlity.net\\\/en\\\/\",\"name\":\"sqlity.net\",\"description\":\"Quality for SQL\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/sqlity.net\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/#\\\/schema\\\/person\\\/bcffd8c572bc2f1bd10fdba80135e53c\",\"name\":\"Sebastian Meine\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g\",\"caption\":\"Sebastian Meine\"},\"sameAs\":[\"http:\\\/\\\/sqlity.net\",\"https:\\\/\\\/x.com\\\/sqlity\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The Global Allocation Map (GAM) - sqlity.net","description":"SQL Server uses the Global Allocation Map (GAM) to catalog if an extent is allocated or not. In a 7988-byte bitmap each extent is associated with one bit.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/sqlity.net\/en\/2351\/gam\/","og_locale":"en_US","og_type":"article","og_title":"The Global Allocation Map (GAM) - sqlity.net","og_description":"SQL Server uses the Global Allocation Map (GAM) to catalog if an extent is allocated or not. In a 7988-byte bitmap each extent is associated with one bit.","og_url":"https:\/\/sqlity.net\/en\/2351\/gam\/","og_site_name":"sqlity.net","article_publisher":"https:\/\/www.facebook.com\/sqlity.net","article_published_time":"2014-04-16T15:00:09+00:00","article_modified_time":"2014-11-13T18:39:47+00:00","og_image":[{"width":836,"height":546,"url":"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/header_of_a_GAM_page.jpg","type":"image\/jpeg"}],"author":"Sebastian Meine","twitter_card":"summary_large_image","twitter_creator":"@sqlity","twitter_site":"@sqlity","twitter_misc":{"Written by":"Sebastian Meine","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/sqlity.net\/en\/2351\/gam\/#article","isPartOf":{"@id":"https:\/\/sqlity.net\/en\/2351\/gam\/"},"author":{"name":"Sebastian Meine","@id":"https:\/\/sqlity.net\/en\/#\/schema\/person\/bcffd8c572bc2f1bd10fdba80135e53c"},"headline":"The Global Allocation Map (GAM)","datePublished":"2014-04-16T15:00:09+00:00","dateModified":"2014-11-13T18:39:47+00:00","mainEntityOfPage":{"@id":"https:\/\/sqlity.net\/en\/2351\/gam\/"},"wordCount":802,"commentCount":1,"image":{"@id":"https:\/\/sqlity.net\/en\/2351\/gam\/#primaryimage"},"thumbnailUrl":"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/header_of_a_GAM_page.jpg","keywords":["DBCC PAGE","GAM Interval","GAM page","IAM page","SQL Server","storage","storage engine"],"articleSection":["General","Series","SQL Server Internals","Storage Wednesday"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/sqlity.net\/en\/2351\/gam\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/sqlity.net\/en\/2351\/gam\/","url":"https:\/\/sqlity.net\/en\/2351\/gam\/","name":"The Global Allocation Map (GAM) - sqlity.net","isPartOf":{"@id":"https:\/\/sqlity.net\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/sqlity.net\/en\/2351\/gam\/#primaryimage"},"image":{"@id":"https:\/\/sqlity.net\/en\/2351\/gam\/#primaryimage"},"thumbnailUrl":"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/header_of_a_GAM_page.jpg","datePublished":"2014-04-16T15:00:09+00:00","dateModified":"2014-11-13T18:39:47+00:00","author":{"@id":"https:\/\/sqlity.net\/en\/#\/schema\/person\/bcffd8c572bc2f1bd10fdba80135e53c"},"description":"SQL Server uses the Global Allocation Map (GAM) to catalog if an extent is allocated or not. In a 7988-byte bitmap each extent is associated with one bit.","breadcrumb":{"@id":"https:\/\/sqlity.net\/en\/2351\/gam\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sqlity.net\/en\/2351\/gam\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sqlity.net\/en\/2351\/gam\/#primaryimage","url":"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/header_of_a_GAM_page.jpg","contentUrl":"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/header_of_a_GAM_page.jpg","width":836,"height":546,"caption":"The header of a GAM page."},{"@type":"BreadcrumbList","@id":"https:\/\/sqlity.net\/en\/2351\/gam\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/sqlity.net\/en\/"},{"@type":"ListItem","position":2,"name":"The Global Allocation Map (GAM)"}]},{"@type":"WebSite","@id":"https:\/\/sqlity.net\/en\/#website","url":"https:\/\/sqlity.net\/en\/","name":"sqlity.net","description":"Quality for SQL","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sqlity.net\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/sqlity.net\/en\/#\/schema\/person\/bcffd8c572bc2f1bd10fdba80135e53c","name":"Sebastian Meine","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g","caption":"Sebastian Meine"},"sameAs":["http:\/\/sqlity.net","https:\/\/x.com\/sqlity"]}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/sqlity.net\/wp-content\/uploads\/2014\/04\/header_of_a_GAM_page.jpg","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/s2wXuw-gam","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/posts\/2351","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/comments?post=2351"}],"version-history":[{"count":0,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/posts\/2351\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/media\/2352"}],"wp:attachment":[{"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/media?parent=2351"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/categories?post=2351"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/tags?post=2351"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}