BorderLayoutBoxedLayoutOpenLayoutMaximum textMedium textSmall text


Register
Tuesday, January 06, 2009

SQL Server News & Information

tsql, performance tuning, industry trends, & bad jokes

exec spSubscribeMinimize
Print  
SELECT TOP 15Minimize
Print  
sp_help 'jmassie'Minimize

This site is maintained by Jason Massie. He has 10 years experience as a DBA and has specialized in performance tuning for the last five. He was recognized by Microsoft as a SQL Server MVP. Jason has spoken at the Professional Association of SQL Server Conference, the North Texas SQL Server Users Group, SQL Connections and TechED. He has worked at Terremark (formerly Data Return) for nearly a decade.

You can contact him at jason@statisticsio.com or 469.569.5965

Jason has the following certifications:
  • Microsoft Certified IT Professional Database Administrator (early adopter)
  • Microsoft Certified IT Professional Database Developer
  • MCDBA (7.0 and 2000)
  • MCSE
  • MCSD
Print  
tblTagCloudMinimize

Abstracts addition Affinity Aggregation allocation Always Analysis Announced another API Appending article Authentication backup be Behavior between Bootstrapper Breaking Build Cache Caching Check checksums Codeplex collection Connecting contest Controller Creating CTEs CTP CUBE cursors Data Database DATALENGTH Debugging Design Diagnosing Diagnostic Differences Documentation DTS Emergency enhancement Entity ETW Exchange execution Express Extensions Fall February Filestream Filtered group GROUPING have Hosting Idle impact Improvement Increase Index Indexes Inserts Instances Interoperability Introduction IO large Late LOB local Localized Magazine Maintaining Maintenance Management maps March Microsoft minutes missing Mix Never November Offline OLE Online operations operators optimizations Optimized Overlapping Package Page Paging Panacea parallel part Partial Partition partitioned Partitioning PASS Performance PFS plan Plans Practices problem Problems Procedure Program programmatically Programming Protection Queries query read recent Recursive Related released Reports Restore return ROLLUP ROWCOUNT Runtime Security Select Sequence sequential Server Services set SETS Shooting shorts sizes Solutions Sortable SPARSE Spool SQL SQLIOSim SSIS Stalled Star Statement Statements stats Stored strategy Stuck Studio Submission Subreports Suggested Summarizing system Table Tables Tampa Task Than there through Timeouts Total Traces Transaction transfer Tricks Trouble TSQL turning understand Understanding undocumented Unique unused upgrade Upgrading Useful Value variables VDI Vista Will Windows Wireless

Print  

Entries for the 'consolidation' Category

Buffer Pool Usage by Database

Posted by Jason Massie Click to IM Jason Massie on Tuesday, September 09, 2008 at 4:39 PM to SQL Server 2008, SQL Server 2005, tsql, memory bottleneck, consolidation
472 Views | 1 Comments | Article Rating

Here is a quick query I wrote today. It is the first time I had to go to this DMV so I thought I would share. It would be useful when planning for consolidation and troubleshooting a bunch of apps that have been consolidated or are hosted in a shared environment. Once you find the database, you can break it down by object and index with Tom Davidson's query.

select db_name(database_id) as dbName, count(*)*8/1024 as BufferPoolMB
from sys.dm_os_buffer_descriptors
group by db_name(database_id)
order by 2 desc

email it! |   |   | 

Reporting on your OLTP system

Posted by Jason Massie Click to IM Jason Massie on Wednesday, August 27, 2008 at 8:40 AM to SQL Server 2008, consolidation
492 Views | 1 Comments | Article Rating

image Just a quick note on this topic since it really is not a best practice and I am sure no one does it. ;)

Business requirements > best practices?
Even if you have a reporting server dedicated for ...err... reports, the business might dictate real time data in those reports. That may or may no be possible on a reporting server but that is another post. Most of the time, the reporting server is not real time. At the same time, the OLTP data is not optimized reporting and if it is, transactional performance decreases. The solution usually dictates some reporting functionality being added to your production OLTP server. Maybe not at a DSS level but an adhoc query built by a web page. A company's order history, an store inventory, or even an advanced search web page. You know the one:

select * from widgets

where color is null and size is null and flavor is null........ and (title like '%ice cream%' or description like '%ice cream%' or keywords like '%ice cream%')

Is that really a reporting database?

So you have a copy of your OLTP database either through mirroring\snapshots, logshipping or replication that you call a reporting database. What does that buy you? Well, we you are offloading reporting right. Kinda. You separate your reporting queries and your OLTP queries but here are some downsides:

  • The reporting database is not optimized for reporting. This tends to be really apparent if reporting is critical.
  • The OLTP database now has read activity on the log(except for logshipping)
  • The reporting database still takes all of the write traffic in one way or another.
  • The OLTP database may lose resources. For example, less disks get dedicated to it. Or worse, reporting and OLTP end up on the same physical SAN disk basically doubling the IO.

So what is the solution? 

The real solution is to design an incremental ETL process that loads to a report optimized database. If a closer to real time data is required, triggers, modified replication or possibly asynchronous triggers might be the way to go. I am not going to pretend to know how to architect a solution like that. However, it is safe to say that a nightly or real time solution will require some serious dev work. This includes creating the ETL process and rewriting the application to use the report optimized database.

Paint yourself into a corner?

Say you have a home grown database that has gone from megabytes to 100's of gigabytes. Separating reporting functions to a new database is going to take time. However, SQL Server 2008 provides new features that scream consolidation. Not only instance consolidation but functionality consolidation.

  • Resource Governor is the backbone of a consolidation strategy.
  • Filtered indexes - Index the different workloads while impacting writes as little as possible.
  • Data Compression -  combine with partitioning and shrink the reporting data while leaving the really hot data uncompressed.
  • Not just SQL 2008 but don't forget about indexed views and indexed persisted computed columns.

The other assumption of consolidation is larger hardware. If you are not spending money on a copy of OLTP reporting server, you can get a larger OLTP box.

Warning: this is forward looking since I don't have any production SQL Server 2008 servers yet. :)

Conclusion

Not to sound like a Microsoft fan boy but SQL Server 2008 Enterprise Edition provides a lot of benefits for mixed workload boxes. However, the real point of the post is that making a copy of the OLTP database for reporting may not provide gains one would expect.

email it! |   |   | 

RE: Dead DBA's

Posted by Jason Massie Click to IM Jason Massie on Friday, August 01, 2008 at 11:18 AM to Professional Development, consolidation
476 Views | 5 Comments | Article Rating

I have half written post called "The Rebirth of the DBA". I am not sure if it is going to make the cut. There is not enough time before I go on vacation and there is some good community discussion both in the comments and in the blogosphere(Brent O, Grant Fritchy, Pythian).

I will summarize really quick. I was halfway playing devil's advocate. While it is possible that they could write some really amazing software that could script the DBA, it is unlikely that they can totally do it. The DBA will still be around. The numbers may be less. Maybe substantially. The roles may change. Maybe drastically. Hell, your SQL Server 2015 VM may have a "cloud partition" in a physical table. There are other factors in the mix like consolidation, virtualization and LINQ\ORM that are also going to have to have an effect. It is all speculation but the only constant is change.

email it! |   |   | 

Return of the 8 way

Posted by Jason Massie Click to IM Jason Massie on Monday, June 30, 2008 at 10:08 PM to SQL Server 2008, hardware, consolidation
333 Views | 2 Comments | Article Rating

compaq_proliant_8500 It seems like just yesterday Compaq Proliant 8500’s were the bomb with 8 – 550 mhz processors. 4.4 ghz of processing madness! That was even before hyperthreading and multi-cores. Since then, the big 3 server hardware vendors eliminated 8 way machines in their commodity server lines. You still had 8 way options but there were more cost effective configurations because multi-core processors removed the need for 8 way boxes in most cases.

That is until now as HP releases the dl785 g5. Eight sockets capable of running quad-core 2.3GHz AMD Opterons. That is a combined speed of 73.6GHz. They comes with 8GB of RAM but they support 256GB of RAM(512GB when 8GB dimm's become available). The servers, themselves, are going to be relatively cheap compared to the high end SAN's and large amount of memory needed to get the throughput high enough tax the processor sub system. Without a large spindle count\cache and amount of RAM, the system will have an IO bottleneck long before the processors in most cases. Of course, some applications have special needs. :)  

So when will these come into play? I think the biggest use of this box will be for consolidation particularly on SQL Server 2008. Imagine taking 20 or 40 instances on different OS’s, hardware, storage etc and making it one(or even 2 or 3) SQL Server 2008 instance. The environment would be so much easier to manage. The SQL Server 2008 resource governor was made for consolidation. Some of the new features in SQL Server 2008 are going to be CPU hungry like the spatial data, partition parallelism improvements and transparent data encryption.  The data and backup compression features push both ways by lowering IO and increasing CPU with the idea of decreasing execution time. Even if you go to SQL 2005, it would be a nice upgrade for a consolidation box.

Of course, you have to worry about having all of your eggs in one basket but that is another post.

Introducing the dl785 g5:

dl785

 

Processor & Memory
Processor type
AMD Opteronâ„¢ 8300 Series
Available processors
Quad-Core AMD Opteronâ„¢ Model 8354 (2.2GHz)
Quad Core AMD Opteronâ„¢ Model 8356 (2.3GHz)
Processor cores
Quad
Processor cache
512KB L2 Cache per core
2MB Shared L3 Cache
Sockets
8
Memory type
PC2-5300 Registered DDR2 at 667MHz
Standard memory
8 GB
(or 16GB depends on model)

Max memory
256 GB
Memory protection
Advanced ECC
Storage
Storage type
Hot plug SFF SAS
Max internal drives
8
standard, with an option to add 8 more for a total of 16
Removable media bays
1
Expansion slots
11 pci-e (3x16, 3x8 & 5x4) slots
Storage controller
SmartArray P400i (embedded)
Deployment
Form factor
Rack
Rack height
7U
Networking
Embedded dual NC371i Multifunction Gigabit Network controller
Remote management
Integrated Lights Out 2 (iLO 2
Redundant power supply
Optional
Redundant fans
Standard
Warranty - year(s) (parts/labor/onsite)
3/3/3
Additional Warranty Information
Additional Warranty Information.

email it! |   |   | 

Page 1 of 1First   Previous   Next   Last   


Copyright 2006 by Statistics IO, My SQL Server Blog