Sunday, April 25, 2010

Day One Great Indian Developer Summit 2010

Topic: Service Oriented Application: The “Dublin” way by Bijoy Singhal

Let me tell something about Bijoy Singhal , he is an evangelist with Microsoft india and he works on evangelizing development technologies.

Session start with the explanation why we need workflow post which bijoy explain what was the developer task while building the workflow, those are as follows

  • Write workflow based service.
  • Host and Deploy the Service.
  • Persist, monitor and manage the Service.

Then he explained about Windows Server AppFabric ( a.k.a Dublin) which is a set of integrated technologies that make it easier to build, scale and manage Web and composite applications that run on IIS. Also told where we can get the windows Server AppFabric

Download the Beta 2 of Windows Server AppFabric and the installation notes.

Bijoy also spoke about the Velocity (a high-performance, distributed, highly-scalable in-memory cache), the Service Bus and Access Control Services.

He added” By bringing in the capabilities formerly in code-name Dublin, AppFabric provides host capabilities for .NET 4.0 Windows Workflow Foundation and Windows Communication Foundation services, with extended management through the IIS manager, plus the ability to do service monitoring. This is much needed functionality as V1 (V3.0) and V2 (3.5) of both WCF and WF didn't ship with much tooling - you had to roll out your own for hosting, monitoring, management and so forth”

At whole I just got to know few concepts apparently I believe that until I create one application and host it I will not be comfortable in this particular area.

But interesting stuff l like to learn till then cye.

Tuesday, April 20, 2010

Day One of Great Indian Developer Summit 2010

Hi I’m back with the updates about Great India Developer Summit 2010
- Day 1 GIDS.NET

Day One was dedicated to .net technology. We had lot of session on the .net technology. .Net framework areas covered on day 1 session are ASP.NET,ADO.net Entity framework,WCF,WWF,Cloud application development,AJAX etc,.

The First Session that i attended was "Business Intelligence Design Patterns- BI Made Easy" by Stephen forte, the Regional Director of Microsoft New York.

Day started with a welcome speak by the host of GIDS program, sorry I don’t know her name. Post which Stephen took over the charge and made the audience dive into the world of Business Intelligence Design pattern.

He explained the Advantages of Business Intelligence design pattern by explaining the advantages of BI and ETL process.

These are the points that were discussed during session

  • For any Transactional Database Data Entry optimization is utmost key important area.
  • Online Banking is the best example of Business Intelligence design pattern.
  • Deciding the schedule for updating data is important will working with business Intelligence Design Patterns.
  • Deciding the details that needs to be Transfer to data warehouse is also important. These are called Facts
  • Processes involved in building the Data ware house are

o Summarization of Database

o Transformation Process

o Running Reports against the Data ware house.

  • Some of the Terminology involved in the Data ware house paradigm are

o Facts table – Captures the data at details level

o Measures- Numeric facts, a column in a facts table

o Dimension Table-is a structure that categories the data.

  • There are two model or schema involved in the Data ware house

o Star Schema

o Snowflake schema

  • In Star Schema these are the points to be aware of

o Fact table are in Third Normal Form

o Dimensional tables are de-normalized to (2NF) and Contains Hierarchies and Partitions

o Star Schema diagram depicted below


  • In Snow Flakes Schema is derived from Star, but normalized dimension table.


Monday, April 19, 2010

SQL query for identifing the 20 slowest queries on your server

Hi All,

I was reading a book from manning publisher titled "SQL Serer DMV's IN ACTION" and came across this useful query for finding the 20 Slowest queries in your server which is very useful stuff for the people who are facing database performance issue. I thought i will post this on my blog and will be handy resource .

All the credit goes to the author of this finest book


SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
SELECT TOP 20
CAST(total_elapsed_time / 1000000.0 AS DECIMAL(28, 2)) #A
AS [Total Elapsed Duration (s)]
, execution_count
, SUBSTRING (qt.text,(qs.statement_start_offset/2) + 1, #B
((CASE WHEN qs.statement_end_offset = -1
THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2
ELSE
qs.statement_end_offset
END - qs.statement_start_offset)/2) + 1) AS [Individual Query]
, qt.text AS [Parent Query]
, DB_NAME(qt.dbid) AS DatabaseName
, qp.query_plan
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as qt
CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp
INNER JOIN sys.dm_exec_cached_plans as cp
on qs.plan_handle=cp.plan_handle
ORDER BY total_elapsed_time DESC #C
#A Get query duration
#B Extract SQL statement
#C Sort by slowest queries

Explanation from the book mentioned above :

The DMV sys.dm_exec_query_stats contains details of various metrics that relate to an individual SQL statement (within a batch). These metrics include query duration (total_elapsed_time),the number of times the query has executed (execution_count).Additionally,it records details of the offsets of the individual query within the parent query.To get details of the parent query and the individual query, the offset parameters are passed to the DMF sys.dm_exec_sql_text.

The Cross Apply statement can be thought of as a join to
a table function that in this case takes a parameter,. Here the parameter is the id of the cached plan that contains the textual representation of the query. The query’s cached plan is also output, as XML. The results are sorted by the total_elapsed_time. To limit the amount of output only the slowest 20 queries are reported on.

The results show the cumulative impact of individual queries, within a batch or stored procedure. Knowing the slowest queries will allow you to make targeted improvements,confident in the knowledge that any improvement to these queries will have the biggest impact on performance.

The cached plan is probably the primary resource for discovering why the query is running slowly, and often will give an insight into how the query can be improved.The NULL values in the Databasename column mean the query was run either ad hoc or using prepared SQL (i.e. not as a stored procedure). This itself can be interesting since it indicates areas where stored procedures are not being re-used, and possible areas of security concern. Later, an improved version of this query will get the underlying database name for the ad-hoc or prepared SQL queries from another DMV source.
Take Care , C u soon

Sunday, April 18, 2010

GIDS 2010 Event -20th April 2010

Hi All,

Will be attending Great Indian Developer Summit- 2010 on 20th April 2010.
Lot of Technical sessions will be held during the Events,But i will be attending this sessions

  • Business Intelligence Design Pattern:BI Made Easy
  • Service Oriented Application "The Dublin" Way.
  • Overview of Cloud Computing and Introduction to windows Azure
  • Lights on the Cloud.
  • Migrating your application to window Azure
  • Building a 3-tier application with ASP.NET,WCF,RIA Services and ADO.NET Entity Framework.
  • Advance T-SQL Querying and programming inside SQL Server.
  • Testing with Dependencies.
These are 50 min sessions, I will post details that have been discussed during the Sessions for each topics above.

Till then take care,