<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tech4Him - Technology with Integrity &#187; optimization</title>
	<atom:link href="http://blog.tech4him.com/tags/optimization/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tech4him.com</link>
	<description>A Christian technology chaos wrangler and his thoughts</description>
	<lastBuildDate>Wed, 24 Mar 2010 23:15:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SSWUG vConf &#8211; Incremental Data Warehouse Loads with MERGE and Change Data Capture</title>
		<link>http://blog.tech4him.com/2009/04/sswug-vconf-incremental-data-warehouse-loads-with-merge-and-change-data-capture/</link>
		<comments>http://blog.tech4him.com/2009/04/sswug-vconf-incremental-data-warehouse-loads-with-merge-and-change-data-capture/#comments</comments>
		<pubDate>Fri, 24 Apr 2009 14:03:23 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[business intelligence]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sql server 2008]]></category>
		<category><![CDATA[SSIS]]></category>
		<category><![CDATA[sswug]]></category>

		<guid isPermaLink="false">http://blog.tech4him.com/?p=544</guid>
		<description><![CDATA[Presenter: Matt Masson
http://blogs.msdn.com/mattm/
This talk describes the new MERGE statement and Change Data Capture (CDC) feature introduced in SQL Server 2008, and how to take advantage of them in SQL Server Integration Services. Well cover the traditional ways of doing incremental data loads, and see how these new key features make the process a whole lot [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/nataliejohnson/2419154427/" target="_blank"><img class="alignright size-medium wp-image-545" style="border: 0pt none; margin: 10px;" title="2419154427_04dd3da737" src="http://blog.tech4him.com/wp-content/uploads/2419154427_04dd3da737-300x199.jpg" alt="2419154427_04dd3da737" width="300" height="199" /></a>Presenter: Matt Masson<br />
<a href="http://blogs.msdn.com/mattm/">http://blogs.msdn.com/mattm/</a></p>
<p>This talk describes the new MERGE statement and Change Data Capture (CDC) feature introduced in SQL Server 2008, and how to take advantage of them in SQL Server Integration Services. Well cover the traditional ways of doing incremental data loads, and see how these new key features make the process a whole lot easier. If you&#8217;re interested in learning best practices for this new SQL Server 2008 functionality, you won&#8217;t want to miss this session!<span id="more-544"></span></p>
<p>CDC and Merge are new in SQL Server 2008</p>
<p>Also 2008 has improved SCD processing</p>
<h3>Options to Capture Change</h3>
<ul type="disc">
<li>Audit      columns &#8211; created via triggers</li>
<li>Log      Scraping</li>
<li>Full DB      Diff compare</li>
</ul>

<h3>(New Options) Change Data Capture in SQL Server</h3>
<ul type="disc">
<li>Changes      captured from the log asynchronously
<ul type="circle">
<li>Really       just integrated log scraping</li>
</ul>
</li>
<li>Tells      you what changed at the source</li>
<li>Enabled      per table or DB</li>
<li>CDC      API&#8217;s provide access to change data</li>
</ul>
<h3>CDC Components</h3>
<ul type="disc">
<li>CDC      Tables</li>
<li>Capture      Job</li>
<li>Cleanup      Job</li>
<li>API</li>
</ul>
<h3>Change Tracking</h3>
<ul type="disc">
<li>Captures      that a row was changed, but not the changed data</li>
<li>Synchronous      capture mechanism</li>
<li>Less      overhead for applications that do not require the historical information</li>
</ul>
<h3>Turn CDC on:</h3>
<ul type="disc">
<li>sp_cdc_enable_db</li>
<li>sp_cdc_enable_table</li>
<li>LSN =      Log Sequence Number</li>
<li>Sp_cdc_generate_wrapper_function
<ul type="circle">
<li>Creates       a custom function DDL for reading CDC data</li>
</ul>
</li>
</ul>
<h3>Loading SSIS Package</h3>
<ul type="disc">
<li>Source      from the CDC Wrapper function</li>
<li>Split      on CDC operation
<ul type="circle">
<li>Insert</li>
<li>Update</li>
<li>Delete</li>
</ul>
</li>
</ul>
<h3>Lookup Changes in SQL 2008</h3>
<ul type="disc">
<li>Explicit      cache modes
<ul type="circle">
<li>Full</li>
<li>Partial</li>
<li>None</li>
</ul>
</li>
<li>Cache      connection manager</li>
</ul>
<h3>External Reference Data</h3>
<ul type="disc">
<li>Joins      can work but can be difficult to manage</li>
<li>Instead,      use the SSIS Lookup transform.</li>
</ul>
<h3>The MERGE Statement</h3>
<ul type="disc">
<li>Single      statement can deal with Inserts, Updates and Deletes all at once</li>
<li>Use      Cases
<ul type="circle">
<li>Conditionally       insert or update rows in a target table</li>
<li>Synchronize       two tables</li>
</ul>
</li>
<li>Built      to perform</li>
</ul>
<h3>Using MERGE in SSIS (Execute SQL Tasks in SSIS)</h3>
<ul type="disc">
<li>Stage
<ul type="circle">
<li>Store       data in a temp table</li>
</ul>
</li>
<li>Optimize
<ul type="circle">
<li>Create       indexes on join cols</li>
<li>Provides       addtl perf benefits</li>
</ul>
</li>
<li>Execute
<ul type="circle">
<li>Run       the MERGE SQL statement</li>
</ul>
</li>
</ul>
<p>When doing the insert, you must drop the FK constraints in the destination table.</p>
<h3>Taking Advantage of MERGE</h3>
<ul type="disc">
<li>Consume      CDC data</li>
<li>Update      Dimensions</li>
<li>Alternative      to the Slowly Changing Dimension Wizard</li>
</ul>
<h3>Additional Resources</h3>
<ul type="disc">
<li>SSIS Team      Blog
<ul type="circle">
<li><a href="http://blogs.msdn.com/mattm">http://blogs.msdn.com/mattm</a></li>
</ul>
</li>
<li>Comparing      Change Data Capture and Change Tracking
<ul type="circle">
<li><a href="http://msdn.microsoft.com/en-us/library/cc280519.aspx">http://msdn.microsoft.com/en-us/library/cc280519.aspx</a></li>
</ul>
</li>
<li>Optimizing      MERGE Statement Performance
<ul type="circle">
<li><a href="http://msdn.microsoft.com/en-us/library/cc879317.aspx">http://msdn.microsoft.com/en-us/library/cc879317.aspx</a></li>
</ul>
</li>
<li>MERGE      Destination
<ul type="circle">
<li><a href="http://www.codeplex.com/SQLSrvIntegrationSrv/Release/ProjectReleases.aspx?ReleaseId=19048">http://www.codeplex.com/SQLSrvIntegrationSrv/Release/ProjectReleases.aspx?ReleaseId=19048</a></li>
</ul>
</li>
</ul>
<img src="http://blog.tech4him.com/?ak_action=api_record_view&id=544&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.tech4him.com/2009/04/sswug-vconf-incremental-data-warehouse-loads-with-merge-and-change-data-capture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSWUG vConf &#8211; SQL Server 2008 Maintenance Plans</title>
		<link>http://blog.tech4him.com/2009/04/sswug-vconf-sql-server-2008-maintenance-plans/</link>
		<comments>http://blog.tech4him.com/2009/04/sswug-vconf-sql-server-2008-maintenance-plans/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 18:57:16 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[maintenance]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[SSIS]]></category>
		<category><![CDATA[sswug]]></category>
		<category><![CDATA[statistics]]></category>

		<guid isPermaLink="false">http://blog.tech4him.com/?p=509</guid>
		<description><![CDATA[Presenter: Thomas LaRock
Database Administration Manager
ING Investment Management
In SQL 2008, Maintenance Plans create a workflow of tasks to ensure your database is optimized and backed up on a regular schedule. The Maintenance Plan will create an SSIS package that will be scheduled and run with SQL Agent. Attend this session and learn how Maintenance Plans will [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/31910792@N05/3178852774/" target="_blank"><img class="alignleft size-medium wp-image-511" style="border: 0pt none; margin: 10px;" title="3178852774_029884feda" src="http://blog.tech4him.com/wp-content/uploads/3178852774_029884feda-300x214.jpg" alt="3178852774_029884feda" width="300" height="214" /></a>Presenter: Thomas LaRock<br />
Database Administration Manager<br />
ING Investment Management</p>
<p>In SQL 2008, Maintenance Plans create a workflow of tasks to ensure your database is optimized and backed up on a regular schedule. The Maintenance Plan will create an SSIS package that will be scheduled and run with SQL Agent. Attend this session and learn how Maintenance Plans will ease your administrative overhead.<span id="more-509"></span></p>
<h3>Common Tasks</h3>
<ul type="disc">
<li>Database      backups</li>
<li>Database      Integrity checks</li>
<li>Index      Maintenance</li>
<li>Automated      Cleanup</li>
</ul>

<h3>Creating New Plans</h3>
<ul type="disc">
<li>Maintenance      Plan Wizard</li>
<li>Maintenance      Plan Design</li>
<li>Must      be member of sysadmin fixed server role</li>
</ul>
<h3>Important Tasks to Deal With</h3>
<ul type="disc">
<li>Backup      Database</li>
<li>Reorganize      Index (fragmentation level &lt; 30%, Reorg)</li>
<li>Rebuild      Index (fragmentation level &gt; 30%, Rebuild)</li>
<li>Update      Statistics</li>
<li>Check      Database Integrity (DBCC CHECKDB)
<ul type="circle">
<li>Also       validates indexes in SQL Server 2008</li>
</ul>
</li>
<li>History      Cleanup
<ul type="circle">
<li>Cleans       information inside information Sys DB&#8217;s</li>
</ul>
</li>
<li>Maintenance      Cleanup (MSDB)
<ul type="circle">
<li>Cleans       up after maintenance plans themselves</li>
<li>Or       Backup files, logs, etc&#8230;</li>
</ul>
</li>
</ul>
<p>&#8220;Failure to plan for a disaster is inexcusable.&#8221; &#8211; Thomas LaRock</p>
<p>Schedules will depend upon your organizational needs.</p>
<h3>Recommended Practices</h3>
<ul type="disc">
<li>Create      separate plans for system versus user databases
<ul type="circle">
<li>Yes,       System DB&#8217;s need to be backed up and able to be restored!</li>
</ul>
</li>
<li>Tasks      should be run at non-peak hours (Duh!)Â       <img src='http://blog.tech4him.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />
<ul type="circle">
<li>Be       sure to check for other running tasks, like reporting or ETL loads.</li>
</ul>
</li>
<li>Do not      automate the Shrink Database task
<ul type="circle">
<li>Really?       Do use it period according to Thomas!</li>
</ul>
</li>
<li>Perform      database backups prior to other maintenance tasks
<ul type="circle">
<li>Back       them up before you start touching anything even in a maintenance plan.</li>
<li>Always       have a &#8220;comfortable&#8221; restore point.</li>
</ul>
</li>
</ul>
<h3>MultiServer Management</h3>
<ul type="disc">
<li>Configure      a SQL Server Agent to be a &#8220;Master&#8221;</li>
<li>Specify      Target</li>
<li>Define      new Multi-Server jobs or</li>
<li>Convert      existing Local Job to multi-server.
<ul type="circle">
<li>Right       click</li>
<li>See       Target tab. Use it.</li>
</ul>
</li>
</ul>
<p>FYI, the job only shows on the Master. It does <strong><span style="text-decoration: underline;">not</span></strong> show in the target server job list.</p>
<p>&#8220;Since it&#8217;s a demo, we need everything to work.&#8221; &#8211; Thomas LaRock &#8211; Great quote. Too bad it didn&#8217;t work. <img src='http://blog.tech4him.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h3>Additional Resources</h3>
<ul type="disc">
<li><a href="http://sqlserverpedia.com/wiki/Main_Page">http://sqlserverpedia.com/wiki/Main_Page</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/ms187658.aspx">http://msdn.microsoft.com/en-us/library/ms187658.aspx</a></li>
</ul>
<img src="http://blog.tech4him.com/?ak_action=api_record_view&id=509&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.tech4him.com/2009/04/sswug-vconf-sql-server-2008-maintenance-plans/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Drupal SEO</title>
		<link>http://blog.tech4him.com/2009/01/quick-drupal-seo/</link>
		<comments>http://blog.tech4him.com/2009/01/quick-drupal-seo/#comments</comments>
		<pubDate>Wed, 28 Jan 2009 02:27:50 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blog.tech4him.com/?p=189</guid>
		<description><![CDATA[Brian Chappell has a great little post about quickly optimizing a Drupal installation for SEO. His quick hits include the following points.


First thing is first, turn on clean URLs
Download the Drupal page title module.
Download the global redirect module.
Alleviate any canonicalization issues
Edit robots.txt to block /node/*
Download the Drupal Meta Tag module.

Thanks to Brian for a good [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="external nofollow" href="http://www.flickr.com/photos/51035827416@N01/88020462"><img style="border: 0pt none; margin-left: 15px; margin-right: 15px;" src="http://farm1.static.flickr.com/31/88020462_b890fdd3c1_m.jpg" border="0" alt="Eat at Yahoo!" hspace="8" width="240" height="190" align="left" /></a>Brian Chappell has a <a href="http://www.brianchappell.com/drupal-seo-tutorial/">great little post</a> about quickly optimizing a Drupal installation for SEO. His quick hits include the following points.</p>
<p><span id="more-189"></span></p>
<ul>
<li>First thing is first, turn on <a href="http://drupal.org/node/15365">clean URLs</a></li>
<li>Download the <a href="http://drupal.org/project/page_title">Drupal page title module</a>.</li>
<li>Download the <a href="http://drupal.org/project/globalredirect">global redirect module</a>.</li>
<li>Alleviate any canonicalization issues</li>
<li>Edit robots.txt to block /node/*</li>
<li>Download the <a href="http://drupal.org/project/nodewords">Drupal Meta Tag module</a>.</li>
</ul>
<p>Thanks to Brian for a good quick list for starters.</p>
<p><a href="http://www.brianchappell.com/drupal-seo-tutorial/">Drupal SEO Tutorial and Drupal SEO implementation in under 5 minutes | Brian Chappell</a></p>
<p>There is also <a href="http://nbridges.com/blog/seo-for-drupal/">a little newer post</a> by Pushkar Gaikwad that uses essentially the same list with the addition of <a href="http://drupal.org/project/xmlsitemap">XMLSitemap</a> and <a href="http://drupal.org/project/seo_checklist">SEO checklist</a></p>
<p>Finally there is <a href="http://www.drupal4seo.com">Drupal4SEO.com</a>. A small site devoted to Drupal SEO. Now, I did not find much new on this site with one exception. The section related to <a href="http://www.drupal4seo.com/linking-structure/advanced-linking-structure.html">Advanced Linking Structure</a>. There is some interesting information on content silos.</p>
<p>Blessings.</p>
<img src="http://blog.tech4him.com/?ak_action=api_record_view&id=189&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.tech4him.com/2009/01/quick-drupal-seo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MediaTemple Grid Server, Drupal and the Zend Optimizer</title>
		<link>http://blog.tech4him.com/2008/11/mediatemple-grid-server-drupal-and-the-zend-optimizer/</link>
		<comments>http://blog.tech4him.com/2008/11/mediatemple-grid-server-drupal-and-the-zend-optimizer/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 04:43:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[mediatemple]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Today was a great day. First off, the good Lord gave me another day on Earth to do His work. That's a good start. I also came across a <a href="http://kb.mediatemple.net/questions/232/How+can+I+Enable+Zend+Optimizer+(php4%7B47%7D5)+on+the+(gs)+Grid-Service%3F">KB article from MediaTemple</a> that provide great hope of some performance improvement on our grid service (gs) account. Now I came across this as a result of researching performance optmizations for Drupal on their dedicated virtuals (dv) that some of my clients sites run on.

]]></description>
			<content:encoded><![CDATA[<p><a rel="external nofollow" href="http://www.flickr.com/photos/18263075@N00/2081905148"><img class="alignright" style="border: 0pt none; margin-left: 8px; margin-right: 8px;" src="http://farm3.static.flickr.com/2282/2081905148_9bd4f8b133_m.jpg" border="0" alt="Krimson - Drupal Module Development Training" hspace="8" width="240" height="161" align="left" /></a>Today was a great day. First off, the good Lord gave me another day on Earth to do His work. That&#8217;s a good start. I also came across a <a href="http://kb.mediatemple.net/questions/232/How+can+I+Enable+Zend+Optimizer+(php4%7B47%7D5)+on+the+(gs)+Grid-Service%3F">KB article from MediaTemple</a> that provide great hope of some performance improvement on our grid service (gs) account. Now I came across this as a result of researching performance optmizations for Drupal on their dedicated virtuals (dv) that some of my clients sites run on.</p>
<p>I was so excited, I couldn&#8217;t wait to try it out. So, nothing too empirical other than firebug net download times with my browser cache cleaned out.</p>
<p>Test Instance with 8 blocks making up a single node page with 100 generated users.<br />
* Before the optimizer was enabled: avg. 4.4 secs total<br />
* After the optimizer was enabled: avg. 2.9 secs total</p>
<p>The change boils down to this:</p>
<p>Open your php.ini file for editing (KB: (gs) HOWTO: edit php.ini). Add these lines:</p>
<p>For PHP4 (Replace the x.x-x with the version number you want to use.)</p>
<p>&gt; zend_optimizer.optimization_level=15<br />
&gt; zend_extension=&#8221;/usr/local/php-4.x.x-x/zend/ZendOptimizer.so&#8221;</p>
<p>For PHP5 (Replace the x.x-x with the version number you want to use.)</p>
<p>&gt; zend_optimizer.optimization_level=15<br />
&gt; zend_extension=&#8221;/usr/local/php-5.x.x-x/zend/ZendOptimizer.so&#8221;</p>
<p>Save the changes and quit.</p>
<p>That&#8217;s a decent improvement with all things considered. There are plenty of other optimization items that can be done, but since this site provide zero income, I&#8217;m not ready to pay any more for some of those non-free options. <img src='http://blog.tech4him.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>I guess that leaves me with Drupal caching support, ZendOptimizer and MySQL Table optimization and indexing. No MySQL containers for me. If I ever move, it will probably be straight to a (dv).</p>
<p>Blessings!</p>
<img src="http://blog.tech4him.com/?ak_action=api_record_view&id=40&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.tech4him.com/2008/11/mediatemple-grid-server-drupal-and-the-zend-optimizer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
