Warning: Constant WP_TEMP_DIR already defined in /var/www/html/blogs/glenn/wp-config.php on line 94

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/glenn/wp-config.php:94) in /var/www/html/blogs/glenn/wp-includes/rest-api/class-wp-rest-server.php on line 1902

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/glenn/wp-config.php:94) in /var/www/html/blogs/glenn/wp-includes/rest-api/class-wp-rest-server.php on line 1902

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/glenn/wp-config.php:94) in /var/www/html/blogs/glenn/wp-includes/rest-api/class-wp-rest-server.php on line 1902

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/glenn/wp-config.php:94) in /var/www/html/blogs/glenn/wp-includes/rest-api/class-wp-rest-server.php on line 1902

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/glenn/wp-config.php:94) in /var/www/html/blogs/glenn/wp-includes/rest-api/class-wp-rest-server.php on line 1902

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/glenn/wp-config.php:94) in /var/www/html/blogs/glenn/wp-includes/rest-api/class-wp-rest-server.php on line 1902

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/glenn/wp-config.php:94) in /var/www/html/blogs/glenn/wp-includes/rest-api/class-wp-rest-server.php on line 1902

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/glenn/wp-config.php:94) in /var/www/html/blogs/glenn/wp-includes/rest-api/class-wp-rest-server.php on line 1902
{"id":1123,"date":"2016-11-30T13:49:50","date_gmt":"2016-11-30T21:49:50","guid":{"rendered":"http:\/\/3.209.169.194\/blogs\/glenn\/?p=1123"},"modified":"2018-12-20T11:49:32","modified_gmt":"2018-12-20T19:49:32","slug":"intel-xeon-e7-processor-generational-performance-comparison","status":"publish","type":"post","link":"https:\/\/www.sqlskills.com\/blogs\/glenn\/intel-xeon-e7-processor-generational-performance-comparison\/","title":{"rendered":"Intel Xeon E7 Processor Generational Performance Comparison"},"content":{"rendered":"

Intel has a fairly recent document titled Accelerated Operations for Telecom and Financial Services<\/a> which is also listed under Accelerate OLTP Database Performance with Intel TSX. It describes the \u201cperformance\u201d increases seen with the AsiaInfo ADB from moving from 2.8GHz Intel Xeon E7-4890 v2<\/a> (Ivy Bridge-EX), to 2.5GHz Intel Xeon E7-8890 v3<\/a> (Haswell-EX), and finally to 2.2GHz Intel Xeon E7-8890 v4<\/a> (Broadwell-EX) processors, as shown in Figure 1. <\/font><\/p>\n

<\/font> <\/p>\n

<\/p>\n

Figure 1: Speedup from Successive Processor Generations<\/strong><\/font><\/p>\n

<\/font> <\/p>\n

This workload is described as \u201cAsiaInfo ADB Database OCS k-tpmC\u201d, while the AsiaInfo ADB is described as \u201ca scalable OLTP database that targets high performance and mission critical businesses such as online charge service (OCS) in the telecom industry\u201d, that runs on Linux.<\/font><\/p>\n

The reason I have performance in quotes above is because what they are really measuring is closer to what I would call capacity or scalability. Their topline result is \u201cThousands of Transactions per Minute\u201d as measured with these different hardware and storage configurations.<\/font><\/p>\n

The key point to keep in mind with these types of benchmarks is whether they are actually comparing relatively comparable systems or not. In this case, the systems are quite similar, except for the core counts of the successive processor models (and the DD3 vs. DDR4 memory support). Here are the system components, as listed in the footnotes of the document:<\/font><\/p>\n

\n

Baseline: Four-sockets, 15-core Intel Xeon E7-4890 v2, 256GB DDR3\/1333 DIMM, Intel DC S3700 SATA for OS, (2) 2TB Intel DC P3700 PCIe NVMe for storage, 10GbE Intel X540-AT2 NIC<\/font><\/p>\n

Next Generation: Four-sockets, 18-core Intel Xeon E7-8890 v3, 256GB DDR4\/1600 LVDIMM, Intel DC S3700 SATA for OS, (2) 2TB Intel DC P3700 PCIe NVMe for storage, 10GbE Intel X540-AT2 NIC<\/font><\/p>\n

New: Four-sockets, 24-core Intel Xeon E7-8890 v4, 256GB DDR4\/1600 LVDIMM, Intel DC S3700 SATA for OS, (2) 2TB Intel DC P3700 PCIe NVMe for storage, 10GbE Intel X540-AT2 NIC<\/font><\/p>\n<\/blockquote>\n

The baseline system has a total of 60 physical cores, running at 2.8GHz, using the older Ivy Bridge-EX microarchitecture. The next generation system has a total of 72 physical cores, running at 2.5GHz, using the slightly newer Haswell-EX microarchitecture. Finally, the new system has a total of 96 physical cores, running at 2.2GHz, using the current Broadwell-EX microarchitecture. These differences in core counts, base clock speeds, and microarchitecture make it a little harder to fully understand their benchmark results in a realistic manner.<\/font><\/p>\n

Table 1 shows some relevant metrics for these three system configurations. The older generation processors have fewer cores, but run at a higher base clock speed. The newer generation processors would be faster than the older generation processors at the same clock speed, but the base clock speed is lower as the core counts have increased with each successive generation flagship processor. The improvements in IPC and single-threaded performance are obscured by lower base clock speeds as the core counts increase, which makes the final score increase less impressive.<\/font><\/p>\n

<\/font> <\/p>\n\n\n\n\n\n\n\n\n\n\n\n\n
Processor<\/strong><\/font><\/font><\/td>\nBase Clock<\/strong><\/font><\/font><\/td>\nTotal System Cores<\/strong><\/font><\/font><\/td>\nRaw Score<\/strong><\/font><\/font><\/td>\nScore\/Core<\/strong><\/font><\/font><\/td>\n<\/tr>\n
Xeon E7-4890 v2<\/font><\/font><\/td>\n2.8GHz<\/font><\/font><\/td>\n60<\/font><\/font><\/td>\n725<\/font><\/font><\/td>\n12.08<\/font><\/font><\/td>\n<\/tr>\n
Xeon E7-8890 v3<\/font><\/font><\/td>\n2.5GHz<\/font><\/font><\/td>\n72<\/font><\/font><\/td>\n1021<\/font><\/font><\/td>\n14.18<\/font><\/font><\/td>\n<\/tr>\n
Xeon E7-8890 v4<\/font><\/font><\/td>\n2.2GHz<\/font><\/font><\/td>\n96<\/font><\/font><\/td>\n1294<\/font><\/font><\/td>\n13.48<\/font><\/font><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n

Table 1: Analysis of ADB Benchmark Results<\/strong><\/font><\/p>\n

<\/font> <\/p>\n

Table 2 shows some metrics from an analysis of some actual and estimated TPC-E benchmark results for those same three system configurations, plus an additional processor choice that I added. The results are pretty similar, which supports the idea that both of these benchmarks are CPU-limited. From a SQL Server 2016 perspective, you are going to be better off from a performance\/license cost perspective if you purposely choose a lower core count \u201cfrequency-optimized\u201d processor (at the cost of less total system capacity per host).<\/font><\/p>\n

This is somewhat harder to do with the Intel Xeon E7 v4 family, because of your limited SKU choices. A good processor choice for many workloads would be the 10-core Intel Xeon E7-8891 v4<\/a> processor, which has a base clock speed of 2.8GHz and a 60MB L3 cache that is shared by only 10 cores. <\/font><\/p>\n

If you could spread your workload across two database servers, you would be much better off with two, four-socket servers with the 10-core Xeon E7-8891 v4 rather than one four-socket server with the 24-core Xeon E7-8890 v4. You would have more total system processor capacity, roughly 27% better single-threaded CPU performance, twice the total system memory capacity, and twice the total number of PCIe 3.0 expansion slots. You would also only need 80 SQL Server 2016 Enterprise Edition core licenses rather than 96 core licenses, which would save you about $114K in license costs. That license savings would probably pay for both database servers, depending on their exact configuration.<\/font><\/p>\n

<\/font> <\/p>\n\n\n\n\n\n\n\n\n\n\n\n\n\n
Processor<\/strong><\/font><\/font><\/td>\nBase Clock<\/strong><\/font><\/font><\/td>\nTotal System Cores<\/strong><\/font><\/font><\/td>\nEst TPC-E Score<\/strong><\/font><\/font><\/td>\nScore\/Core<\/strong><\/font><\/font><\/td>\n<\/tr>\n
Xeon E7-4890 v2<\/font><\/font><\/td>\n2.8GHz<\/font><\/font><\/td>\n60<\/font><\/font><\/td>\n5576.27<\/font><\/font><\/td>\n92.94<\/font><\/font><\/td>\n<\/tr>\n
Xeon E7-8890 v3<\/font><\/font><\/td>\n2.5GHz<\/font><\/font><\/td>\n72<\/font><\/font><\/td>\n6964.75<\/font><\/font><\/td>\n96.73<\/font><\/font><\/td>\n<\/tr>\n
Xeon E7-8890 v4<\/font><\/font><\/td>\n2.2GHz<\/font><\/font><\/td>\n96<\/font><\/font><\/td>\n9068.00<\/font><\/font><\/td>\n94.46<\/font><\/font><\/td>\n<\/tr>\n
Xeon E7-8891 v4<\/font><\/font><\/td>\n2.8GHz<\/font><\/font><\/td>\n40<\/font><\/font><\/td>\n4808.79<\/font><\/font><\/td>\n120.22<\/font><\/font><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n

Table 2: Analysis of Estimated TPC-E Benchmark Results<\/strong><\/font><\/p>\n

<\/font><\/strong> <\/p>\n

The Intel document also discusses the \u201cperformance\u201d increases seen from moving from Intel DC S3700 SATA drives to Intel DC P3700 PCIe NVMe drives. This is going to be primarily influenced by the advantages of being connected directly to the PCIe bus and the lower latency and overhead of the NVMe protocol compared to the older AHCI protocol.<\/font><\/p>\n

Finally, they talk about the \u201cperformance\u201d increases they measured from enabling the Intel Transactional Synchronization Extensions<\/a> (TSX) instruction set and the Intel AVX 2.0 instruction set on current generation Intel E7-8800 v4 series processors.<\/font><\/p>\n

SQL Server 2016 already has hardware support for older SSE\/AVX instructions as discussed here<\/a> and here<\/a>. I really hope that Microsoft decides to add even more support for newer instruction sets (such as TSX<\/a>) in SQL Server vNext.<\/font><\/p>\n

<\/font> <\/p>\n

<\/font> <\/p>\n

<\/font><\/p>\n","protected":false},"excerpt":{"rendered":"

Intel has a fairly recent document titled Accelerated Operations for Telecom and Financial Services which is also listed under Accelerate OLTP Database Performance with Intel TSX. It describes the \u201cperformance\u201d increases seen with the AsiaInfo ADB from moving from 2.8GHz Intel Xeon E7-4890 v2 (Ivy Bridge-EX), to 2.5GHz Intel Xeon E7-8890 v3 (Haswell-EX), and finally […]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[121,289,245,20,111,241,180],"tags":[300],"class_list":["post-1123","post","type-post","status-publish","format-standard","hentry","category-benchmarks","category-broadwell-ex","category-haswell-ex","category-intel","category-ivy-bridge-ex","category-nvme","category-scalability","tag-intel-xeon-e7-processor-generational-comparison"],"yoast_head":"\nIntel Xeon E7 Processor Generational Performance Comparison - Glenn Berry<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.sqlskills.com\/blogs\/glenn\/intel-xeon-e7-processor-generational-performance-comparison\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Intel Xeon E7 Processor Generational Performance Comparison - Glenn Berry\" \/>\n<meta property=\"og:description\" content=\"Intel has a fairly recent document titled Accelerated Operations for Telecom and Financial Services which is also listed under Accelerate OLTP Database Performance with Intel TSX. It describes the \u201cperformance\u201d increases seen with the AsiaInfo ADB from moving from 2.8GHz Intel Xeon E7-4890 v2 (Ivy Bridge-EX), to 2.5GHz Intel Xeon E7-8890 v3 (Haswell-EX), and finally […]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sqlskills.com\/blogs\/glenn\/intel-xeon-e7-processor-generational-performance-comparison\/\" \/>\n<meta property=\"og:site_name\" content=\"Glenn Berry\" \/>\n<meta property=\"article:published_time\" content=\"2016-11-30T21:49:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-12-20T19:49:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/itpeernetwork.intel.com\/wp-content\/uploads\/sites\/38\/2016\/07\/Screenshot-2016-07-28-14.01.41.png\" \/>\n<meta name=\"author\" content=\"Glenn Berry\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Glenn Berry\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/intel-xeon-e7-processor-generational-performance-comparison\/\",\"url\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/intel-xeon-e7-processor-generational-performance-comparison\/\",\"name\":\"Intel Xeon E7 Processor Generational Performance Comparison - Glenn Berry\",\"isPartOf\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/intel-xeon-e7-processor-generational-performance-comparison\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/intel-xeon-e7-processor-generational-performance-comparison\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/itpeernetwork.intel.com\/wp-content\/uploads\/sites\/38\/2016\/07\/Screenshot-2016-07-28-14.01.41.png\",\"datePublished\":\"2016-11-30T21:49:50+00:00\",\"dateModified\":\"2018-12-20T19:49:32+00:00\",\"author\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/#\/schema\/person\/57a8972435106bac7970692fcf5edfa7\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/intel-xeon-e7-processor-generational-performance-comparison\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.sqlskills.com\/blogs\/glenn\/intel-xeon-e7-processor-generational-performance-comparison\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/intel-xeon-e7-processor-generational-performance-comparison\/#primaryimage\",\"url\":\"https:\/\/itpeernetwork.intel.com\/wp-content\/uploads\/sites\/38\/2016\/07\/Screenshot-2016-07-28-14.01.41.png\",\"contentUrl\":\"https:\/\/itpeernetwork.intel.com\/wp-content\/uploads\/sites\/38\/2016\/07\/Screenshot-2016-07-28-14.01.41.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/intel-xeon-e7-processor-generational-performance-comparison\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Intel Xeon E7 Processor Generational Performance Comparison\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/#website\",\"url\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/\",\"name\":\"Glenn Berry\",\"description\":\"Semi-random musings about SQL Server performance\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/#\/schema\/person\/57a8972435106bac7970692fcf5edfa7\",\"name\":\"Glenn Berry\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/64bdac8830f25f2f8cc780f8a1286c66ff1182218009271e7a953639596f7e25?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/64bdac8830f25f2f8cc780f8a1286c66ff1182218009271e7a953639596f7e25?s=96&d=mm&r=g\",\"caption\":\"Glenn Berry\"},\"sameAs\":[\"https:\/\/www.sqlskills.com\/blogs\/glenn\/\"],\"url\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/author\/glenn\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Intel Xeon E7 Processor Generational Performance Comparison - Glenn Berry","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:\/\/www.sqlskills.com\/blogs\/glenn\/intel-xeon-e7-processor-generational-performance-comparison\/","og_locale":"en_US","og_type":"article","og_title":"Intel Xeon E7 Processor Generational Performance Comparison - Glenn Berry","og_description":"Intel has a fairly recent document titled Accelerated Operations for Telecom and Financial Services which is also listed under Accelerate OLTP Database Performance with Intel TSX. It describes the \u201cperformance\u201d increases seen with the AsiaInfo ADB from moving from 2.8GHz Intel Xeon E7-4890 v2 (Ivy Bridge-EX), to 2.5GHz Intel Xeon E7-8890 v3 (Haswell-EX), and finally […]","og_url":"https:\/\/www.sqlskills.com\/blogs\/glenn\/intel-xeon-e7-processor-generational-performance-comparison\/","og_site_name":"Glenn Berry","article_published_time":"2016-11-30T21:49:50+00:00","article_modified_time":"2018-12-20T19:49:32+00:00","og_image":[{"url":"https:\/\/itpeernetwork.intel.com\/wp-content\/uploads\/sites\/38\/2016\/07\/Screenshot-2016-07-28-14.01.41.png","type":"","width":"","height":""}],"author":"Glenn Berry","twitter_misc":{"Written by":"Glenn Berry","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/intel-xeon-e7-processor-generational-performance-comparison\/","url":"https:\/\/www.sqlskills.com\/blogs\/glenn\/intel-xeon-e7-processor-generational-performance-comparison\/","name":"Intel Xeon E7 Processor Generational Performance Comparison - Glenn Berry","isPartOf":{"@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/intel-xeon-e7-processor-generational-performance-comparison\/#primaryimage"},"image":{"@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/intel-xeon-e7-processor-generational-performance-comparison\/#primaryimage"},"thumbnailUrl":"https:\/\/itpeernetwork.intel.com\/wp-content\/uploads\/sites\/38\/2016\/07\/Screenshot-2016-07-28-14.01.41.png","datePublished":"2016-11-30T21:49:50+00:00","dateModified":"2018-12-20T19:49:32+00:00","author":{"@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/#\/schema\/person\/57a8972435106bac7970692fcf5edfa7"},"breadcrumb":{"@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/intel-xeon-e7-processor-generational-performance-comparison\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.sqlskills.com\/blogs\/glenn\/intel-xeon-e7-processor-generational-performance-comparison\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/intel-xeon-e7-processor-generational-performance-comparison\/#primaryimage","url":"https:\/\/itpeernetwork.intel.com\/wp-content\/uploads\/sites\/38\/2016\/07\/Screenshot-2016-07-28-14.01.41.png","contentUrl":"https:\/\/itpeernetwork.intel.com\/wp-content\/uploads\/sites\/38\/2016\/07\/Screenshot-2016-07-28-14.01.41.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/intel-xeon-e7-processor-generational-performance-comparison\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sqlskills.com\/blogs\/glenn\/"},{"@type":"ListItem","position":2,"name":"Intel Xeon E7 Processor Generational Performance Comparison"}]},{"@type":"WebSite","@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/#website","url":"https:\/\/www.sqlskills.com\/blogs\/glenn\/","name":"Glenn Berry","description":"Semi-random musings about SQL Server performance","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.sqlskills.com\/blogs\/glenn\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/#\/schema\/person\/57a8972435106bac7970692fcf5edfa7","name":"Glenn Berry","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/64bdac8830f25f2f8cc780f8a1286c66ff1182218009271e7a953639596f7e25?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/64bdac8830f25f2f8cc780f8a1286c66ff1182218009271e7a953639596f7e25?s=96&d=mm&r=g","caption":"Glenn Berry"},"sameAs":["https:\/\/www.sqlskills.com\/blogs\/glenn\/"],"url":"https:\/\/www.sqlskills.com\/blogs\/glenn\/author\/glenn\/"}]}},"_links":{"self":[{"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/posts\/1123","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/comments?post=1123"}],"version-history":[{"count":0,"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/posts\/1123\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/media?parent=1123"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/categories?post=1123"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/tags?post=1123"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}