Innovation. Imagination. Delivered. RSS 2.0
# Monday, June 15, 2009
Central Florida Software Group Blog Introduction.
Monday, June 15, 2009 11:37:02 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] - Trackback
General
# Thursday, November 20, 2008
Thursday, November 20, 2008 8:45:27 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] - Trackback
SSIS
# Thursday, July 24, 2008

I should note that both of these reviews are from the perspective of an seasoned and experienced technologist. Your mileage may vary based on the knowledge your background and personal experiences...

Pro WPF in C# 2008: Windows Presentation Foundation with .NET 3.5 Second Edition - Matthew MacDonald

This book is a fairly easy, albiet long read. Coming from a web development background this book provides a solid introduction to to all things WPF. A few of my comments:

- Excellent introduction to the underlying foundation of WPF
- Excellent coverage of Xaml
- Good sections on documents, printing, add-ins and custom elements
- In my experience in the corporate development world I have never seen a business app with either animation or 3-d imaging (yeah...I know its used somewhere), which is why I struggled to understand the long, long, long winded sections on animation and 3D topics

Between this book and the MeasureUp practice exams I was able to passed the WPF certification exam, with no prior WPF experience. (And for those that are wondering...the book is a significantly better exam prep than the MeasureUp practice questions were.)

Microsoft Windows Communication Foundation Step by Step - John Sharp

This book was a very quick read (took less than 2 days to read through) and does little more that introduce WCF. The exercises are contrived and provide little real-world value. The highlights of the book are really the chapters on security. If your looking for something more granualar than an introductory overview I would search out a different book.

Thursday, July 24, 2008 8:39:48 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] - Trackback
Book Reviews
# Wednesday, April 23, 2008

‘Sexy’ Extensibility Design and Patterns

“Programming to the interface” is important when addressing extensibility.

Provider Pattern – If you are familiar with asp.net then you have been beat over the head with this pattern enough that I won’t spent much time on it. If your not familiar with asp.net, I’ll give you 50,000ft view…… it allows for abstraction of data and behavior by using an interface that the client is aware of and an external class library that contains the actual implementation of whatever you are trying to do.

Plug-Ins – This is pretty straight-forward. Plug-ins are implemented in a way similar to modules below. The real difference is that you have to explicitly iterate through a list either from a configuration file or a pre-defined directory.

Modules – This was the most interesting pattern and basically defines multiple parts of extensibility in one class. Related patterns are Chain of Responsibility, Loosely Coupled Events and Interception Filter. This methodology is event-driven and in an extremely flexible manner allows modules to hook into the events. The modules are identified to the client or web app through a configuration file and are loaded using reflection.

Wednesday, April 23, 2008 8:38:37 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] - Trackback
Conferences

Man I am so behind on getting my notes and thoughts typed up...I've been to over ten sessions and I only have two typed up. I should be able to catch up this evening. Tuesday was rather uneventful as I hit a string of so-so sessions. Without further ado here is my notes for the session on Spatial Support in SQL Server 2008.....

Spatial Support in SQL Server 2008

- Spatial support is vector based and includes planar (Geometry) and geodetic (Geography)

- SQL Server was expanded to allow large UDTs

o In 2005, UDTs were limited to 5K

o In 2008, UDTs are limited only by LOB size (around 2 gigs)

- Geometry

o Adheres to OGC/ISO standards

o Can store points, lines, polygons and collections of the previously mentioned

o Methods include relationship (intersects, disjoint), construction (intersection, union) and metrics (distance, area)

o Sample:

DECLARE @g GEOMETRY

SET @g = GEOMETRY:PARSE(‘POINT(5.5 8.8)’)

- Geography

o Ellipsoidal data-type

o Does not adhere to OGC/ISO standards

o Same methods as Geometry class

- Spatial Indexes: Uses multi-level grids to map multi-dimensional data into a 2-dimension index

Wednesday, April 23, 2008 8:37:31 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] - Trackback
Conferences
# Tuesday, April 22, 2008

I am out at DevConnections this week and so far I have been impressed with the improvements and new features that are coming in the 2008 product line. I will post recaps of the sessions I attended as time allows...

- Data Warehousing in SQL Server 2008 by Christian Kleinerman – this session focused primarily on the new features and performance enhancements that were made in the SQL engine.

ETL Enhancements:

1. The new MERGE statement – this powerful new statement combines DML statements into one to allow for “UPserts” and “Deletes” between a specified source and destination.

MERGE tblDestination t

USING tblSources s

ON t.ID=s.ID

WHEN MATCHED

UPDATE SET t.Name=s.Name

WHEN NOT MATCHED

INSERT VALUES(s.Name)

WHEN NOT MATCHED BY SOURCE THEN

DELETE

2. Logging enhancements were made to allow for minimal logging. This level of logging keeps only what is needed to successfully rollback. According to there test significant performance gains where seen with this change.

3. Insert over DML – you know have the ability to do an insert off a DML statement with the OUTPUT clause.

INSERT INTO tbl

SELECT FROM (

<>

) CHANGES

WHERE Action=’UPDATE’

4. New tabled-valued functions were attended to track and query changed data.

5. The data flow thread allocation was changed from static to dynamic assignment for operators. This improves parallelism performance and adds thread starvation prevention.

6. A new ETL lookup is being added to SSIS. The new lookup has an unrestricted cache size and the ability to persist cache.

7. Data Compression to shrink table sizes and improve query performance is being added. The compression can be configured at the table or index level and they have seen performance gains anywhere between 1.5x and 7x improvements. During this topic they Mr. Kleinerman discussed the tradeoff between memory and CPU usage when using compression. He also briefly covered how compression was implemented (I will go through later).

8. Enhancements were made to the designer to build ‘best practices’ into the tools suite.

Query and Analysis:

1. Partitioned Table Parallelism was improved through dynamic thread allocation.

2. SQL Server 2008 can support multiple bitmap filters to improve star join query processing.

3. GROUPING SETS where added to the sql toolbox

GROUP BY GROUPING SET (date, (state, city))

4. Changes were made to the MDX query processing for subspace computation. Since cubes are sparsely populated changes were made to minimize what is processed during computation.

5. The Reporting Services engine was completely rewritten for 2008. I won’t go into all the changes but there were a ton of them discussed (i.e. Enhanced visualizations, Word Rendering, etc).

Admin

1. Backups can not be run with compression

2. The entire AS backup storage system has been replaced

3. The Resource Governor basically allows workload to be differentiated and per-request limits to be set ( I plan on elaborating on this is a separate post).

Tuesday, April 22, 2008 8:36:28 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] - Trackback
Conferences
# Tuesday, March 11, 2008
I had an opportunity to attend my first Tampa SQL BI Meeting last night and I wanted to share some of my thoughts from the SSIS demo that was given.
The first thing that really caught my attention is complexity of expressions that are used in a conditional split. I started picturing the nightmare scenario of debugging it and figured there has to be a better way. Enter the Script Component. The script component allows you to define multiple outputs and by monkeying (yeah thats a technical term) with the ExclusionGroup property you can filter the input rows. I am probably biased towards this technique (since my background is primarily in software development) and will need to find the time to do some analysis to see if there is a performance difference between the two methods.
The second item that got my thinking during the demo is more of a difference in approach. The case that was being presented had a requirement that before the package did any work a rowcount on the source data had to occur. If the row count returned 0 no further processing occured otherwise the destination was truncated and reloaded. To accomplish this task the presenter used an 'Execute SQL Task' to run the count query and then used to a 'Script Task' to determine if the control flow should proceed.
My thought on accomplishing this 'requirement' is a little more condensed. I would use the 'Execute SQL Task' but instead of a 'Script Task', I would use a 'Precedence Constraint' to modify the flow if necessary. By writing a simple expression to determine if the variable assigned to in the 'Script Task' is greater than zero you could either continue with required work or direct to an error flow.
Thats pretty much all for today...


Tight Lines!!


--Chris
Tuesday, March 11, 2008 7:33:53 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] - Trackback
SSIS
Archive
<June 2009>
SunMonTueWedThuFriSat
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2010
Christopher L Price
Sign In
Statistics
Total Posts: 13
This Year: 0
This Month: 0
This Week: 0
Comments: 0
Themes
Pick a theme:
All Content © 2010, Christopher L Price
DasBlog theme 'Business' created by Christoph De Baene (delarou)