<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www2.sqlblog.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Joe Chang</title><subtitle type="html" /><id>http://www2.sqlblog.com/blogs/joe_chang/atom.aspx</id><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/joe_chang/default.aspx" /><link rel="self" type="application/atom+xml" href="http://www2.sqlblog.com/blogs/joe_chang/atom.aspx" /><generator uri="http://communityserver.org" version="2.1.61129.1">Community Server</generator><updated>2012-05-05T07:16:00Z</updated><entry><title>Load Test Manifesto</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/joe_chang/archive/2013/06/16/load-test-manifesto.aspx" /><id>http://www2.sqlblog.com/blogs/joe_chang/archive/2013/06/16/load-test-manifesto.aspx</id><published>2013-06-17T02:45:00Z</published><updated>2013-06-17T02:45:00Z</updated><content type="html">Load testing used to be a standard part of the software development, but not anymore. Now people express a preference for assessing performance on the production system. There is a lack of confidence that a load test reflects what will actually happen in production. In essence, it has become accepted that the value of load testing is not worth the cost and time, and perhaps whether there is any value at all. The main problem is the load test plan criteria – excessive focus on perceived importance...(&lt;a href="http://www2.sqlblog.com/blogs/joe_chang/archive/2013/06/16/load-test-manifesto.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=49711" width="1" height="1"&gt;</content><author><name>jchang</name><uri>http://www2.sqlblog.com/members/jchang.aspx</uri></author></entry><entry><title>Enterprise Storage Systems - EMC VMAX</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/joe_chang/archive/2013/05/10/enterprise-storage-systems-emc-vmax.aspx" /><id>http://www2.sqlblog.com/blogs/joe_chang/archive/2013/05/10/enterprise-storage-systems-emc-vmax.aspx</id><published>2013-05-10T15:52:00Z</published><updated>2013-05-10T15:52:00Z</updated><content type="html">I generally do not get involved in high-end SAN systems. It is almost impossible to find meaningful information on the hardware architecture from the vendor. And it is just as impossible to get configuration information from the SAN admin. The high-end SAN is usually a corporate resource managed in different department from the database. The SAN admin is generally hard set on implementing SAN vendor doctrine of "Storage as a Service" and does not care to hear input on special considerations from...(&lt;a href="http://www2.sqlblog.com/blogs/joe_chang/archive/2013/05/10/enterprise-storage-systems-emc-vmax.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=49025" width="1" height="1"&gt;</content><author><name>jchang</name><uri>http://www2.sqlblog.com/members/jchang.aspx</uri></author></entry><entry><title>Relativity e-discovery on SQL Server</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/joe_chang/archive/2013/04/26/relativity-e-discovery-on-sql-server.aspx" /><id>http://www2.sqlblog.com/blogs/joe_chang/archive/2013/04/26/relativity-e-discovery-on-sql-server.aspx</id><published>2013-04-26T18:18:00Z</published><updated>2013-04-26T18:18:00Z</updated><content type="html">Back in late 2011 to early 2012, I was asked to look into issues for a SQL Server system supporting kCura Relativity. Relativity is an e-discovery platform, that is, a document search management system frequently used for document discovery is legal cases. So it also has auditing to prove that a search was done. Normally I would post items both here and on my own website. Now it is my nature to say things that others find to be not entirely polite (see my previous post) and I am too old to change....(&lt;a href="http://www2.sqlblog.com/blogs/joe_chang/archive/2013/04/26/relativity-e-discovery-on-sql-server.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=48893" width="1" height="1"&gt;</content><author><name>jchang</name><uri>http://www2.sqlblog.com/members/jchang.aspx</uri></author></entry><entry><title>Excel Error or Idiot User?</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/joe_chang/archive/2013/04/17/excel-error-or-idiot-user.aspx" /><id>http://www2.sqlblog.com/blogs/joe_chang/archive/2013/04/17/excel-error-or-idiot-user.aspx</id><published>2013-04-17T20:01:00Z</published><updated>2013-04-17T20:01:00Z</updated><content type="html">Many of us have probably seen recent headlines titled Excel Error - major catastrophe, end of the world blah blah blah. No where in any of these is it cited that there was actually an error made by Excel. But if there was a mistake, people would rather imply that it was in the technology, and not the idiot using the technology without checking his or her work. The New York Times blog also mentions that an Excel error was part of the London Whale incident. This is why I never trust information given...(&lt;a href="http://www2.sqlblog.com/blogs/joe_chang/archive/2013/04/17/excel-error-or-idiot-user.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=48766" width="1" height="1"&gt;</content><author><name>jchang</name><uri>http://www2.sqlblog.com/members/jchang.aspx</uri></author></entry><entry><title>Hyper-Threading Performance</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/joe_chang/archive/2013/04/08/hyper-threading-performance.aspx" /><id>http://www2.sqlblog.com/blogs/joe_chang/archive/2013/04/08/hyper-threading-performance.aspx</id><published>2013-04-08T13:15:00Z</published><updated>2013-04-08T13:15:00Z</updated><content type="html">The Hyper Threading technology returned to the Intel Xeon (and Core-ix) with processor codename Nehalem in 2009. It was first introduced with Willamette in late 2000?, and the first Xeon in 2001. But the Core 2 architecture, 2006, in the Xeon 5300 and 5400 series did not have this feature. As with many (potentially) performance enhancing technologies and features, there is a glaring absence of meaningful detailed performance data that might be of help to developers and information technology professionals....(&lt;a href="http://www2.sqlblog.com/blogs/joe_chang/archive/2013/04/08/hyper-threading-performance.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=48572" width="1" height="1"&gt;</content><author><name>jchang</name><uri>http://www2.sqlblog.com/members/jchang.aspx</uri></author><category term="hyper-threading" scheme="http://www2.sqlblog.com/blogs/joe_chang/archive/tags/hyper-threading/default.aspx" /><category term="Hyper Threading" scheme="http://www2.sqlblog.com/blogs/joe_chang/archive/tags/Hyper+Threading/default.aspx" /></entry><entry><title>Storage Performance</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/joe_chang/archive/2013/03/25/storage-performance.aspx" /><id>http://www2.sqlblog.com/blogs/joe_chang/archive/2013/03/25/storage-performance.aspx</id><published>2013-03-25T03:52:00Z</published><updated>2013-03-25T03:52:00Z</updated><content type="html">Storage has changed dramatically over the last three years driven by SSD developments. Most of the key components necessary for a powerful storage system are available and the cost is highly favorable for direct placement of data files. Some additional infrastructure elements could greatly enhance the flexibility of storage systems with SSDs. There is still some discussion on whether SSD should interface directly to PCI-E or continue using the SAS/SATA interfaces originally designed for hard disks....(&lt;a href="http://www2.sqlblog.com/blogs/joe_chang/archive/2013/03/25/storage-performance.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=48393" width="1" height="1"&gt;</content><author><name>jchang</name><uri>http://www2.sqlblog.com/members/jchang.aspx</uri></author><category term="Performance" scheme="http://www2.sqlblog.com/blogs/joe_chang/archive/tags/Performance/default.aspx" /><category term="Storage" scheme="http://www2.sqlblog.com/blogs/joe_chang/archive/tags/Storage/default.aspx" /><category term="Hardware" scheme="http://www2.sqlblog.com/blogs/joe_chang/archive/tags/Hardware/default.aspx" /></entry><entry><title>Job History row limiter</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/joe_chang/archive/2013/03/05/job-history-row-limiter.aspx" /><id>http://www2.sqlblog.com/blogs/joe_chang/archive/2013/03/05/job-history-row-limiter.aspx</id><published>2013-03-05T20:42:00Z</published><updated>2013-03-05T20:42:00Z</updated><content type="html">There are situations where guaranteed accuracy correctness is essential, which is why we have transactional databases meeting the ACID properties. And then there are situations where we just need an approximate number. An example is the size of the SQL Agent job history log. I bring up this topic because on more than one occasion, after fixing performance problems at a client site, the remaining top waits are two SQL statements belonging to stored procedures in msdb: one in sp_sqlagent_log_jobhistory...(&lt;a href="http://www2.sqlblog.com/blogs/joe_chang/archive/2013/03/05/job-history-row-limiter.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=48056" width="1" height="1"&gt;</content><author><name>jchang</name><uri>http://www2.sqlblog.com/members/jchang.aspx</uri></author></entry><entry><title>EMC VNX2 and VNX Future</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/joe_chang/archive/2013/02/25/emc-vnx2-and-vnx-future.aspx" /><id>http://www2.sqlblog.com/blogs/joe_chang/archive/2013/02/25/emc-vnx2-and-vnx-future.aspx</id><published>2013-02-25T12:27:00Z</published><updated>2013-02-25T12:27:00Z</updated><content type="html">While going through the Flash Management Summit 2012 slide decks, I came across the session Flash Implications in Enterprise Storage Designs by Denis Vilfort of EMC, that provided information on performance of the CLARiiON, VNX, a VNX2 and VNX Future. A common problem with SAN vendors is that it is almost impossible to find meaningful performance information on their storage systems. The typical practice is to cited some meaningless numbers like IOPS to cache or the combined IO bandwidth of the FC...(&lt;a href="http://www2.sqlblog.com/blogs/joe_chang/archive/2013/02/25/emc-vnx2-and-vnx-future.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=47905" width="1" height="1"&gt;</content><author><name>jchang</name><uri>http://www2.sqlblog.com/members/jchang.aspx</uri></author></entry><entry><title>The Path to In-Memory Database Technology</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/joe_chang/archive/2013/02/11/the-path-to-in-memory-database-technology.aspx" /><id>http://www2.sqlblog.com/blogs/joe_chang/archive/2013/02/11/the-path-to-in-memory-database-technology.aspx</id><published>2013-02-11T21:08:00Z</published><updated>2013-02-11T21:08:00Z</updated><content type="html">The term in-memory database can be subject to misinterpretation. An in-memory database was originally used to describe a storage engine designed for the memory access characteristics of modern microprocessors, not simply a database stored in memory. Today it is common for a database to reside almost entirely in the buffer cache, i.e., memory of a traditional relational DBMS, but this is very different from an in-memory database just defined. As Microsoft recently announced that the next version of...(&lt;a href="http://www2.sqlblog.com/blogs/joe_chang/archive/2013/02/11/the-path-to-in-memory-database-technology.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=47646" width="1" height="1"&gt;</content><author><name>jchang</name><uri>http://www2.sqlblog.com/members/jchang.aspx</uri></author></entry><entry><title>Queries barely over the Cost Threshold for Parallelism</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/joe_chang/archive/2012/11/15/queries-barely-over-the-cost-threshold-for-parallelism.aspx" /><id>http://www2.sqlblog.com/blogs/joe_chang/archive/2012/11/15/queries-barely-over-the-cost-threshold-for-parallelism.aspx</id><published>2012-11-15T20:11:00Z</published><updated>2012-11-15T20:11:00Z</updated><content type="html">I had discussed SQL Server parallelism in Oct 2010, with my thoughts on the best settings for: Cost Threshold for Parallelism (CTP) and Max Degrees of Parallelism (MAXDOP) in Parallelism Strategy and Comments . At the time, I had intended to follow up with detailed measurements. So now a mere 2 years later, here it is. The general thought was that CTP should be raised from the default value of 5, and MAXDOP should be changed from unrestricted, on modern systems with very many cores, and most especially...(&lt;a href="http://www2.sqlblog.com/blogs/joe_chang/archive/2012/11/15/queries-barely-over-the-cost-threshold-for-parallelism.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=46233" width="1" height="1"&gt;</content><author><name>jchang</name><uri>http://www2.sqlblog.com/members/jchang.aspx</uri></author></entry><entry><title>SSDs at PASS 2012</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/joe_chang/archive/2012/11/09/ssds-at-pass-2012.aspx" /><id>http://www2.sqlblog.com/blogs/joe_chang/archive/2012/11/09/ssds-at-pass-2012.aspx</id><published>2012-11-09T05:30:00Z</published><updated>2012-11-09T05:30:00Z</updated><content type="html">There were 7 companies exhibiting SSD products as PASS this year, and one with a product to support SSD storage. This is not counting Dell, EMC and HP who have SSD products, but were at PASS for other reasons. This shows that many have aspirations with the hope that market leadership is not yet firmly set. The products fall into the following: PCI-E SSDs (Fusion-io, LSI, Virident) SSD SAN (Violin, TMS, Whiptail) SSD caching (LSI, GridIron) I am inclined to be of the opinion that SSD market is not...(&lt;a href="http://www2.sqlblog.com/blogs/joe_chang/archive/2012/11/09/ssds-at-pass-2012.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=46045" width="1" height="1"&gt;</content><author><name>jchang</name><uri>http://www2.sqlblog.com/members/jchang.aspx</uri></author></entry><entry><title>SSD-HDD price parity</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/joe_chang/archive/2012/11/05/ssd-hdd-price-parity.aspx" /><id>http://www2.sqlblog.com/blogs/joe_chang/archive/2012/11/05/ssd-hdd-price-parity.aspx</id><published>2012-11-06T02:21:00Z</published><updated>2012-11-06T02:21:00Z</updated><content type="html">It is hard to believe that we are essentially at SSD-HDD price parity? Of course I am comparing enterprise class 10K/15K HDDs to consumer grade SSDs. Below are prices I am seeing 600GB 15K 3.5in HDD $370 3TB 7.2K 3.5in HDD $400 300GB 15K 2.5in HDD $370 900GB 10K 2.5in HDD $600 1TB 7.2K 2.5in HDD $230 (less for consumer HDDs) 512GB SATA SSD $400-600 Intel SSD DC S3700 400GB $940 The 512GB SATA SSDs are consumer grade, MLC NAND, with only 7% over provisioning. That is 512GB (1GB = 2^30) of NAND, with...(&lt;a href="http://www2.sqlblog.com/blogs/joe_chang/archive/2012/11/05/ssd-hdd-price-parity.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=45961" width="1" height="1"&gt;</content><author><name>jchang</name><uri>http://www2.sqlblog.com/members/jchang.aspx</uri></author></entry><entry><title>Supermicro motherboards and systems</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/joe_chang/archive/2012/10/28/supermicro-motherboards-and-systems.aspx" /><id>http://www2.sqlblog.com/blogs/joe_chang/archive/2012/10/28/supermicro-motherboards-and-systems.aspx</id><published>2012-10-29T00:47:00Z</published><updated>2012-10-29T00:47:00Z</updated><content type="html">I used to buy SuperMicro exclusively for my own lab. SuperMicro always had a deep lineup of motherboards with almost every conceivable variation. In particular, they had the maximum memory and IO configuration that is desired for database servers. But from around 2006, I became too lazy to source the additional components necessary to complete the system, and switched to Dell PowerEdge Tower servers. Now, I may reconsider as neither Dell or HP are offering the right combination of PCI-E slots. Nor...(&lt;a href="http://www2.sqlblog.com/blogs/joe_chang/archive/2012/10/28/supermicro-motherboards-and-systems.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=45831" width="1" height="1"&gt;</content><author><name>jchang</name><uri>http://www2.sqlblog.com/members/jchang.aspx</uri></author></entry><entry><title>Server Systems for SQL Server 2012 per core licensing</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/joe_chang/archive/2012/10/28/server-systems-for-sql-server-2012-per-core-licensing.aspx" /><id>http://www2.sqlblog.com/blogs/joe_chang/archive/2012/10/28/server-systems-for-sql-server-2012-per-core-licensing.aspx</id><published>2012-10-29T00:40:00Z</published><updated>2012-10-29T00:40:00Z</updated><content type="html">Until recently, the SQL Server Enterprise Edition per processor (socket) licensing model resulted in only 2 or 3 server system configurations being the preferred choice. Determine the number of sockets: 2, 4 or 8. Then select the processor with the most compute capability at that socket count level. Finally, fill the DIMM sockets with the largest capacity ECC memory module at reasonable cost per GB. Currently this is the 16GB DIMM with a price of $365 on the Dell website, and $240 from Crucial. The...(&lt;a href="http://www2.sqlblog.com/blogs/joe_chang/archive/2012/10/28/server-systems-for-sql-server-2012-per-core-licensing.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=45829" width="1" height="1"&gt;</content><author><name>jchang</name><uri>http://www2.sqlblog.com/members/jchang.aspx</uri></author></entry><entry><title>Decoding STATS_STREAM</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/joe_chang/archive/2012/05/05/decoding-stats-stream.aspx" /><id>http://www2.sqlblog.com/blogs/joe_chang/archive/2012/05/05/decoding-stats-stream.aspx</id><published>2012-05-05T10:16:00Z</published><updated>2012-05-05T10:16:00Z</updated><content type="html">Data distribution statistics is one of the foundations of the cost-based query optimizer in all modern database engines including SQL Server. From SQL Server 2005 on, most of the information displayed by DBCC SHOW_STATISTICS is kept in a binary field accessible with the STATS_STREAM clause. Back in SQL Server 2000, it was possible to modify system tables directly, including the sysindexes stat_blob field. At the time, I described a decode of the stat_blob field with the purpose of influence the execution...(&lt;a href="http://www2.sqlblog.com/blogs/joe_chang/archive/2012/05/05/decoding-stats-stream.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=43206" width="1" height="1"&gt;</content><author><name>jchang</name><uri>http://www2.sqlblog.com/members/jchang.aspx</uri></author><category term="Statistics" scheme="http://www2.sqlblog.com/blogs/joe_chang/archive/tags/Statistics/default.aspx" /></entry></feed>