Home All Groups Group Topic Archive Search About

a question for the soldiers on the line

Author
27 Aug 2006 4:41 AM
WebBuilder451
As with any new weapon holding the promise of a greater edge in battle,
sql2k5’s true worth can only be measured by the seasoned veteran who has used
it under fire. To you veterans i now ask: Is the CLR feature proving it self
a better performance alternative to application level processing on any
level? 
I'd like to hear of what you've experienced in the field.
--
thanks (as always)
some day i''m gona pay this forum back for all the help i''m getting
kes

Author
27 Aug 2006 5:19 AM
Uri Dimant
Hi
:-)))

Well, i'd prefer using CLL only in cases where T-SQL is a weak. For example
, some complex string maipulations.

http://www.sql.co.il/books/insidetsql2005/

Itzik Ben-Gan has discusseed about  where to use CLR  ?




Show quote
"WebBuilder451" <WebBuilder***@discussions.microsoft.com> wrote in message
news:D1F23293-8BDD-4C03-84D6-24693AEEA202@microsoft.com...
> As with any new weapon holding the promise of a greater edge in battle,
> sql2k5’s true worth can only be measured by the seasoned veteran who has
> used
> it under fire. To you veterans i now ask: Is the CLR feature proving it
> self
> a better performance alternative to application level processing on any
> level?
> I'd like to hear of what you've experienced in the field.
> --
> thanks (as always)
> some day i''m gona pay this forum back for all the help i''m getting
> kes
Author
27 Aug 2006 10:11 AM
Omnibuzz
I wouldn't want to give a general statement on whether CLR is good or bad.
Say for example, CLR datatypes can let you have some complex datatypes for
your tables in the database and thats good. But, I would go for that only if
its impossible to store the data with the in-built datatypes.
CLR aggregates is a good feature, but try running the perfmon and get the
number of garbage collection thats happening when you do an aggregate on
large volume.
Now an aggrgation on a CLR datatype will require a CLR aggrgate. So, see
what all will you be doing with the CLR datatype before you choose one.

Scalar UDFs may be replaced with the CLR counterpart for which I heard the
breakeven point was 6 integer operations (someone wrote in this newsgroup)

And Table valued function.. for a single line table valued function
(paramerized view) its still better to go with T-SQL, but all multi-line
table valued functions can be replaced with the CLR equivalent, since CLR TVF
can stream the results, whereas T-SQL TVF will have an intermediate storage
or so I believe. Some MVP can (and will very soon) validate that.

And like Uri said, complex string manipulations can be moved to CLR.

But I would look at CLR this way, you run a stored procedure in T-SQL and
send the result to front end (say 10000 records) and on that 10000 records
you want to do some manipulation and a filter (only possible with the .NET
class libraries) so that only some 100 records are really going to be used
for further processing. In that case, you wasted on the movement of 9900
records over the network. You can instead move that functionality to the
database with a CLR function or a SP and send only those 100 records to the
front end.

May be not the best explaination :) but I hope I put the idea across...

--
-Omnibuzz (The SQL GC)

http://omnibuzz-sql.blogspot.com/
Author
27 Aug 2006 2:43 PM
--CELKO--
>> : Is the CLR feature proving it self a better performance alternative to application level processing on any level?  <<

Whart CLR does in practice is let non-SQL programmers continue to avoid
learning declarative programming and RDBMS.  The guy that was spooling
rows to temp tables (aka scratch tapes) to use cursors in loops (aka
1950's sequential file programming) can do without learning T-SQL
kludges now.

CLR shifts the burden of maintaining (n) different languages to the DBA
and/or maintenance programmers.  Oh, did I mention that those languages
all have slightly different semantics to go along with the very
different syntax?  Look at Boolean values in C# and VB -- two
proprietary languages from the same vendor!  Or look at the MOD()
function in the X3J languages.  String comparison rules in Xbase,
COBOL, etc.  Temporal expressions that exist only in SQL..  The list
goes on and on.

In theory it is even worse.  Why did we spend decades arriving at
tiered architectures and verifiable software engineering prinicples to
throw them away?  With (n) different rules embedded in the DB, I cannot
have any consistent data over time.  What happens when I  want to move
to a new platform?  The tiers are now blurred into a monolithic
structure that has to be thrown out when you scale up or down.  You no
longer have a "component stereo system", but have returned to the
1950's console unit in a very solid piece of oak furniture.

Decades ago, Dijkstra made a remark about how we keep repeating the
same errors over and over in IT; he was right.
Author
27 Aug 2006 7:00 PM
WebBuilder451
ok, i think you gave me the answer that i wanted to hear. And the one it
seem's i'm discovering is true. It's a first shot at giving sql server and
application language, ergo sql2005 is now an application server. I note MS
has said otherwise, but with the inclusing of other features such as a web
service that is "not a web server, but will accept web requests". We are
looking at a half a** attempt to make it more functional for the non-sql
programmer at the expense of performance.

Now, for you i have a personal question; Is there a certification for sql
developers that you would recomend? I need to learn better sql habits and get
a better understanding of MSSQL administration, but mostly development better
db skills.

Thanks

--
thanks (as always)
some day i''m gona pay this forum back for all the help i''m getting
kes


Show quote
"--CELKO--" wrote:

> >> : Is the CLR feature proving it self a better performance alternative to application level processing on any level?  <<
>
> Whart CLR does in practice is let non-SQL programmers continue to avoid
> learning declarative programming and RDBMS.  The guy that was spooling
> rows to temp tables (aka scratch tapes) to use cursors in loops (aka
> 1950's sequential file programming) can do without learning T-SQL
> kludges now.
>
> CLR shifts the burden of maintaining (n) different languages to the DBA
> and/or maintenance programmers.  Oh, did I mention that those languages
> all have slightly different semantics to go along with the very
> different syntax?  Look at Boolean values in C# and VB -- two
> proprietary languages from the same vendor!  Or look at the MOD()
> function in the X3J languages.  String comparison rules in Xbase,
> COBOL, etc.  Temporal expressions that exist only in SQL..  The list
> goes on and on.
>
> In theory it is even worse.  Why did we spend decades arriving at
> tiered architectures and verifiable software engineering prinicples to
> throw them away?  With (n) different rules embedded in the DB, I cannot
> have any consistent data over time.  What happens when I  want to move
> to a new platform?  The tiers are now blurred into a monolithic
> structure that has to be thrown out when you scale up or down.  You no
> longer have a "component stereo system", but have returned to the
> 1950's console unit in a very solid piece of oak furniture.
>
> Decades ago, Dijkstra made a remark about how we keep repeating the
> same errors over and over in IT; he was right.
>
>
Author
27 Aug 2006 9:33 PM
--CELKO--
>> ok, i think you gave me the answer that i wanted to hear. And the one it seem's i'm discovering is true. <<

Amen!

>>  It's a first shot at giving sql server and  application language, ergo sql2005 is now an application server. <<

If you wanted an application language inside SQL, there is already the
SQL/PSM standard in place in DB2 and Mimer, planned for MySQL and
future releases of some other products.  No "force fitting" a language
into the RDBMS.

>> I note MS has said otherwise, but with the inclusing of other features such as a web service that is "not a web server, but will accept web requests". We are looking at a half a** attempt to make it more functional for the non-sql programmer at the expense of performance.  <<

Not just performance; data integrity, cost of maintaining code and
portability are important, too.

>> Is there a certification for sql developers that you would recomend? I need to learn better sql habits and get a better understanding of MSSQL administration, but mostly development better db skills.  <<

I recommend my own courses (surprise!), what you can get at a PASS
conference and the stuff from SQLskills.  Kimberly Tripp and crew are
good speakers and are centered on SQL Server techniques; I tend to be
the Standard SQL/RDBMS design and practices guy.
Author
27 Aug 2006 10:09 PM
Steve Dassin
>I need to learn better sql habits

I'm here to give you another view. 'Better sql habits' is like military
intelligence.
It is a 'joke':) The good news is that the target of Joe's criticism is
indeed jibberish.
The bad news is that his view is just more jibberish:)
It's a day for somaphors (plural for metaphors):
If you want to communicate with people in other than your mother tongue
do you think 'sanskrit' is a reasonable choice?
What do you call someone who confuses 'means' and 'ends'?:)
Ms. Delaney writes books about 'Inside Sql Server'.
Has anyone written a book about the 'outside' of sql server?

If you really want to learn about application development, database
modelling
and data manipulation and want to make the best use of Sql Server visit
here:
www.alphora.com

best,
steve

http://racster.blogspot.com/
Author
28 Aug 2006 10:35 AM
KL
NHibernate (or Hibernate depending on platform) is another interesting
thing:

http://www.hibernate.org/343.html

Articles:
http://www.codeproject.com/dotnet/nhibernatept1.asp
http://www.theserverside.net/tt/articles/showarticle.tss?id=NHibernate
http://weblogs.asp.net/pwilson/archive/2005/05/26/409042.aspx
http://www.fincher.org/tips/Languages/NHibernate.shtml

KL


Show quote
"Steve Dassin" <rac4sqlnospam@net> skrev i meddelandet
news:OGJ5o3jyGHA.2208@TK2MSFTNGP03.phx.gbl...
> >I need to learn better sql habits
>
> I'm here to give you another view. 'Better sql habits' is like military
> intelligence.
> It is a 'joke':) The good news is that the target of Joe's criticism is
> indeed jibberish.
> The bad news is that his view is just more jibberish:)
> It's a day for somaphors (plural for metaphors):
> If you want to communicate with people in other than your mother tongue
> do you think 'sanskrit' is a reasonable choice?
> What do you call someone who confuses 'means' and 'ends'?:)
> Ms. Delaney writes books about 'Inside Sql Server'.
> Has anyone written a book about the 'outside' of sql server?
>
> If you really want to learn about application development, database
> modelling
> and data manipulation and want to make the best use of Sql Server visit
> here:
> www.alphora.com
>
> best,
> steve
>
> http://racster.blogspot.com/
>
>
Author
28 Aug 2006 7:15 PM
Steve Dassin
Thanks for the links:)

Show quote
"KL" <non***@nowhere.com> wrote in message
news:urS422oyGHA.3440@TK2MSFTNGP06.phx.gbl...
>
> NHibernate (or Hibernate depending on platform) is another interesting
> thing:
>
> http://www.hibernate.org/343.html
>
> Articles:
> http://www.codeproject.com/dotnet/nhibernatept1.asp
> http://www.theserverside.net/tt/articles/showarticle.tss?id=NHibernate
> http://weblogs.asp.net/pwilson/archive/2005/05/26/409042.aspx
> http://www.fincher.org/tips/Languages/NHibernate.shtml
>
> KL
>
>
> "Steve Dassin" <rac4sqlnospam@net> skrev i meddelandet
> news:OGJ5o3jyGHA.2208@TK2MSFTNGP03.phx.gbl...
>> >I need to learn better sql habits
>>
>> I'm here to give you another view. 'Better sql habits' is like military
>> intelligence.
>> It is a 'joke':) The good news is that the target of Joe's criticism is
>> indeed jibberish.
>> The bad news is that his view is just more jibberish:)
>> It's a day for somaphors (plural for metaphors):
>> If you want to communicate with people in other than your mother tongue
>> do you think 'sanskrit' is a reasonable choice?
>> What do you call someone who confuses 'means' and 'ends'?:)
>> Ms. Delaney writes books about 'Inside Sql Server'.
>> Has anyone written a book about the 'outside' of sql server?
>>
>> If you really want to learn about application development, database
>> modelling
>> and data manipulation and want to make the best use of Sql Server visit
>> here:
>> www.alphora.com
>>
>> best,
>> steve
>>
>> http://racster.blogspot.com/
>>
>>
>
>
Author
27 Aug 2006 11:03 PM
Erland Sommarskog
--CELKO-- (jcelko***@earthlink.net) writes:
> Whart CLR does in practice is let non-SQL programmers continue to avoid
> learning declarative programming and RDBMS.  The guy that was spooling
> rows to temp tables (aka scratch tapes) to use cursors in loops (aka
> 1950's sequential file programming) can do without learning T-SQL
> kludges now.

I don't know really... The guy who used to write all is data manipulation
in client code, can now move his code to the server, and at least save
the network roundtrips. He still gets far from optimal performance, but
it's better than before.

Then again, some people who realise that the network roundtrips are
costly, will now think that they can write CLR code in SQL Server, and
loop over result sets all day long. Then yet again, when working in T-SQL
these guys probably mainly uses curssos.

Anyway, the CLR is a feature that really invites to abuse. There is a
countless number of ways you can implement bad solutions with the CLR
in SQL Server, and we can be sure that many of these ways will be tried.

But that does not mean that CLR is crap from start to end. CLR code
can be a very valuable supplement for things that are difficult to do
in T-SQL. In SQL 2000 you can use extended stored procedures or OLE
objects, but these solutions are ridden with instability problems, and
are difficult to implement and use. CLR is also good for computation
that does not inolve data access, like complex string manipulation. Say
for instance that you have a table with imported data where numbers
looks like:

   00000012345600000å

which actually means -123456. While this string can be converted in SQL,
the CLR does it faster.


--
Erland Sommarskog, SQL Server MVP, esq***@sommarskog.se

Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx
Author
28 Aug 2006 3:12 PM
--CELKO--
>>  Say for instance that you have a table with imported data where numbers look like:    00000012345600000å  which actually means -123456. While this string can be converted in SQL, the CLR does it faster.  <<

Shouldn't that be done in the ETL tool and not the DB?  Isn't that what
the T means?  And since the ETL tool is designed for this kind work,
shouldn't it be much faster than pure SQL or CLR code?

And what if the CLR languages you support in your schema are not any
better than SQL at such strings but now add the overhead of embedding
them?
Author
28 Aug 2006 3:32 PM
Alexander Kuznetsov
> Shouldn't that be done in the ETL tool and not the DB?  Isn't that what
> the T means?  And since the ETL tool is designed for this kind work,
> shouldn't it be much faster than pure SQL or CLR code?

Last fall I was refactoring a large ETL application. Moved all the
transformations except for the really complex ones to the server.
Saved big time on network bandwidth. Performance in production got
several times better. SQL is really really good at performing set based
updates and inserts.
Author
28 Aug 2006 7:41 PM
--CELKO--
>> Last fall I was refactoring a large ETL application. Moved all the  transformations except for the really complex ones to the server.  Saved big time on network bandwidth.  <<

Look at Sunopsis.  This product calls itself an ELT tool.  It generates
various native SQL code and the flows between different target
products.  They get good numbers with a simple  GUI interface and can
take advantage of proprietary features on either end.  Very useful with
Teradata and parallel systems.
Author
28 Aug 2006 10:40 PM
Erland Sommarskog
--CELKO-- (jcelko***@earthlink.net) writes:
>>>  Say for instance that you have a table with imported data where numbers
look like:    00000012345600000å  which actually means -123456. While this
string can be converted in SQL, the CLR does it faster.  <<
>
> Shouldn't that be done in the ETL tool and not the DB?  Isn't that what
> the T means?  And since the ETL tool is designed for this kind work,
> shouldn't it be much faster than pure SQL or CLR code?

Maybe. In our case we see this format when we get data from a
competitor's system, every time we have taken one of their customers,
and we need to convert the customer's data to our system. So it's
not a general ETL procedure. True, we could run a script over the
bulk files before we import them, and then load them in a nice form.
Then again, that is just one of the many transformations we need
to make, and most others are table-driven like mapping transaction
types and that sort of thing.

And since every conversion is a one-off thing performance is not top
priority. When we ran the conversion for our biggest customer, that was
a stored procedure that ran for six days! (What is special with the
weird format, is that when I run ad-hoc queries on the input data, I
prefer to see real numbers. And I run quite some ad-hoc queries on
that data. There are always new suprises from that old system!)

> And what if the CLR languages you support in your schema are not any
> better than SQL at such strings but now add the overhead of embedding
> them?

During the beta of SQL 2005 I tested this precise format and compared
a CLR function, a T-SQL function and T-SQL builtins. The CLR function
beat the T-SQL builtins with some margin.

But it's a correct observation that you need to account for the overhead
of the function call. Invoking the CLR just for a simple charindex is
likely to be a bad idea.


--
Erland Sommarskog, SQL Server MVP, esq***@sommarskog.se

Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx
Author
28 Aug 2006 3:35 PM
Alexander Kuznetsov
Hi Erland,

How would you rate CLR as compared to its predessessor, extended stored
procedures?
Author
28 Aug 2006 10:30 PM
Erland Sommarskog
Alexander Kuznetsov (AK_TIREDOFSPAM@hotmail.COM) writes:
> How would you rate CLR as compared to its predessessor, extended stored
> procedures?

Night and day. Extended stored procedures are expensive to call, you
cannot use them as functions, and most of all an unhandled exception
brings down the entire SQL Server.


--
Erland Sommarskog, SQL Server MVP, esq***@sommarskog.se

Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx
Author
28 Aug 2006 10:19 AM
KL
I can understand your comment since I think I know who you are Celko,
however you are completely and utterly wrong, it's in fact SQL that is
1950's programming, not the use of modern object oriented languages. SQL
showed it's age already when it was created and we have been living with
it's ridicolous shortcomings ever since.

But this religious debate is being done much better elsewhere, suffice it to
say that I'm not alone in thinking that we need to move away from SQL, we
need something brand new, integrating the CLR is a step on the way but not
really the answer.

Also, you are completely wrong that the DBA is going to have to maintain
code in (n) languages, to me a DBA is a wannabee programmer, what this does
is move the responsibility to a real programmer and the dedicated DBA role
is dying out.

(Celko =
http://www.google.com/search?q=Celko+sql&rls=com.microsoft:sv&ie=UTF-8&oe=UTF-8&startIndex=&startPage=1 )

know your sources ;)

KL.


Show quote
"--CELKO--" <jcelko***@earthlink.net> skrev i meddelandet
news:1156689798.846926.176820@b28g2000cwb.googlegroups.com...
>>> : Is the CLR feature proving it self a better performance alternative to
>>> application level processing on any level?  <<
>
> Whart CLR does in practice is let non-SQL programmers continue to avoid
> learning declarative programming and RDBMS.  The guy that was spooling
> rows to temp tables (aka scratch tapes) to use cursors in loops (aka
> 1950's sequential file programming) can do without learning T-SQL
> kludges now.
>
> ....
Author
28 Aug 2006 3:41 PM
--CELKO--
>>  it's in fact SQL that is 1950's programming, not the use of modern object oriented languages. SQL showed it's age already when it was created and we have been living with it's ridiculous shortcomings ever since. <<

SQL did not exist until the 1980's, with SQL-86 as the first standard.
Would you mind defining 1950's languages?  What I saw in them was:

1) Weak typing -- REDEFINES in Cobol, EQUIVALENCE in Fortran, union in
C, the use of pointers in assembly languages.  The application defines
the data.

2) Contigous storage as part of the language spec. This was needed for
item (1), but it went further by requiring row major or row minor array
ordering (Fortran versus PL/I).  The reason that READ (a,b,c) was not
the same as READ(b,c,a). Etc.

3) Hardware features defining language constructs.  The 3-way IF in
Fortran from IBM hardware; the ++a and a++ in the C family from DEC
hardware.

4) Flow control -- the classic SP if-then-else, while-do and begin-end
in various forms.  As opposed to SQL's declarative syntax.

5) Direct Compilation.  That is, when I put the same code thru the same
compiler on the same hardware and system configuration, I will get the
same executable code every time.  This is certainly not true for SQL's
optimizers

6) The assumption of a single user job rather than sessions sharing
data.  Two jobs could not read and/or write the same tape at the same
time.

>> I'm not alone in thinking that we need to move away from SQL, we need something brand new, integrating the CLR is a step on the way but not  really the answer. <<

We used to sday the same things about Cobol; in fact, I wrote an
editorial in COMPUTERWORLD on that topic.  But ~80% of the commerical
software actually running major companies is still in COBOL.

>>  a DBA is a wannabee programmer, what this does  is move the responsibility to a real programmer and the dedicated DBA role is dying out. <<

A "Real Programmer"??   It takes six years to become a Journey Union
Carpenter in New York State, but a "cowboy coder" can take a 4-week MS
certification course.  Or are real programmers those off-shore
commodity workers that are popular these days?  Think about 1000
cowboys being responsible for a Fortune 500 database without any
central control.  Be afraid, be very afraid.

Yes, dedicated DBA role is dying out, but he is replaced far more
specialized people.  The physical DBA, the logical DBA, the data
architect, the data steward, security and permissions guy, data miners,
data auditors, etc.
Author
28 Aug 2006 3:54 PM
Tony Rogerson
As ever you give an "opinion" without even understanding what CLR is or
gives to teh SQL Server Data Engine - NOTE the deliberatly not using the
term RDBMS of which SQL Server is no longer, yes it does relational database
but it does a lot of other stuff too, RDBMS within SQL is probably 5% of the
product now.

What experience do you have with CLR? What bench marks have you done
comparing server side processing, out of data tier processing??

CLR shifts nothing anywhere, database professionals within teh SQL Server
space should now fully understand .NET and atleast one of its languages not
just because of CLR but because of the ETL tool that ships with the product
and also to understand the more complicated environments that are being
developed because business complexities and competition are so far
developed.

YOUR days where a database just stored the data, had some check constraints
and gave back a result set are well gone, in fact they where gone on version
7.0!

It really is time you woke up and smell the coffee and stop regurgating the
usual canned drivel that you've been doing for the past 10 years and go back
and learn about the changes that have happened within the database world and
client server worlds....

> Why did we spend decades arriving at
> tiered architectures and verifiable software engineering prinicples to
> throw them away?

Because technology has changed so must the engineering principles,
principals and techniques have improved significantly from when I was coding
on the mainframe in PL/1 and from my entry into client/server development 16
years ago in 1990.

> With (n) different rules embedded in the DB, I cannot
> have any consistent data over time.

Why not? Centralising business logic makes perfect sense to me, it prevents
tampering and accidents you also only need to code the rules once and in one
langauge rather than having to do it in 'n' langauges depending on what the
application is...

> What happens when I  want to move
> to a new platform?

Do you have any stats to backup that this is a widescale problem? Platform
migration is usually done in order to improve business value and as such its
not just a straight port - what would the business value be on a straight
port?

> The tiers are now blurred into a monolithic
> structure that has to be thrown out when you scale up or down.

You totally misunderstanding .NET.

> You no
> longer have a "component stereo system", but have returned to the
> 1950's console unit in a very solid piece of oak furniture.

You totally misunderstanding .NET.

--
Tony Rogerson
SQL Server MVP
http://sqlblogcasts.com/blogs/tonyrogerson - technical commentary from a SQL
Server Consultant
http://sqlserverfaq.com - free video tutorials


Show quote
"--CELKO--" <jcelko***@earthlink.net> wrote in message
news:1156689798.846926.176820@b28g2000cwb.googlegroups.com...
>>> : Is the CLR feature proving it self a better performance alternative to
>>> application level processing on any level?  <<
>
> Whart CLR does in practice is let non-SQL programmers continue to avoid
> learning declarative programming and RDBMS.  The guy that was spooling
> rows to temp tables (aka scratch tapes) to use cursors in loops (aka
> 1950's sequential file programming) can do without learning T-SQL
> kludges now.
>
> CLR shifts the burden of maintaining (n) different languages to the DBA
> and/or maintenance programmers.  Oh, did I mention that those languages
> all have slightly different semantics to go along with the very
> different syntax?  Look at Boolean values in C# and VB -- two
> proprietary languages from the same vendor!  Or look at the MOD()
> function in the X3J languages.  String comparison rules in Xbase,
> COBOL, etc.  Temporal expressions that exist only in SQL..  The list
> goes on and on.
>
> In theory it is even worse.  Why did we spend decades arriving at
> tiered architectures and verifiable software engineering prinicples to
> throw them away?  With (n) different rules embedded in the DB, I cannot
> have any consistent data over time.  What happens when I  want to move
> to a new platform?  The tiers are now blurred into a monolithic
> structure that has to be thrown out when you scale up or down.  You no
> longer have a "component stereo system", but have returned to the
> 1950's console unit in a very solid piece of oak furniture.
>
> Decades ago, Dijkstra made a remark about how we keep repeating the
> same errors over and over in IT; he was right.
>
Author
28 Aug 2006 7:31 PM
Steve Dassin
I give up, go ahead and slam him :)

Show quote
"Tony Rogerson" <tonyroger***@sqlserverfaq.com> wrote in message
news:O1MFepryGHA.3632@TK2MSFTNGP04.phx.gbl...
> As ever you give an "opinion" without even understanding what CLR is or
> gives to teh SQL Server Data Engine - NOTE the deliberatly not using the
> term RDBMS of which SQL Server is no longer, yes it does relational
> database but it does a lot of other stuff too, RDBMS within SQL is
> probably 5% of the product now.
>
> What experience do you have with CLR? What bench marks have you done
> comparing server side processing, out of data tier processing??
>
> CLR shifts nothing anywhere, database professionals within teh SQL Server
> space should now fully understand .NET and atleast one of its languages
> not just because of CLR but because of the ETL tool that ships with the
> product and also to understand the more complicated environments that are
> being developed because business complexities and competition are so far
> developed.
>
> YOUR days where a database just stored the data, had some check
> constraints and gave back a result set are well gone, in fact they where
> gone on version 7.0!
>
> It really is time you woke up and smell the coffee and stop regurgating
> the usual canned drivel that you've been doing for the past 10 years and
> go back and learn about the changes that have happened within the database
> world and client server worlds....
>
>> Why did we spend decades arriving at
>> tiered architectures and verifiable software engineering prinicples to
>> throw them away?
>
> Because technology has changed so must the engineering principles,
> principals and techniques have improved significantly from when I was
> coding on the mainframe in PL/1 and from my entry into client/server
> development 16 years ago in 1990.
>
>> With (n) different rules embedded in the DB, I cannot
>> have any consistent data over time.
>
> Why not? Centralising business logic makes perfect sense to me, it
> prevents tampering and accidents you also only need to code the rules once
> and in one langauge rather than having to do it in 'n' langauges depending
> on what the application is...
>
>> What happens when I  want to move
>> to a new platform?
>
> Do you have any stats to backup that this is a widescale problem? Platform
> migration is usually done in order to improve business value and as such
> its not just a straight port - what would the business value be on a
> straight port?
>
>> The tiers are now blurred into a monolithic
>> structure that has to be thrown out when you scale up or down.
>
> You totally misunderstanding .NET.
>
>> You no
>> longer have a "component stereo system", but have returned to the
>> 1950's console unit in a very solid piece of oak furniture.
>
> You totally misunderstanding .NET.
>
> --
> Tony Rogerson
> SQL Server MVP
> http://sqlblogcasts.com/blogs/tonyrogerson - technical commentary from a
> SQL Server Consultant
> http://sqlserverfaq.com - free video tutorials
>
>
> "--CELKO--" <jcelko***@earthlink.net> wrote in message
> news:1156689798.846926.176820@b28g2000cwb.googlegroups.com...
>>>> : Is the CLR feature proving it self a better performance alternative
>>>> to application level processing on any level?  <<
>>
>> Whart CLR does in practice is let non-SQL programmers continue to avoid
>> learning declarative programming and RDBMS.  The guy that was spooling
>> rows to temp tables (aka scratch tapes) to use cursors in loops (aka
>> 1950's sequential file programming) can do without learning T-SQL
>> kludges now.
>>
>> CLR shifts the burden of maintaining (n) different languages to the DBA
>> and/or maintenance programmers.  Oh, did I mention that those languages
>> all have slightly different semantics to go along with the very
>> different syntax?  Look at Boolean values in C# and VB -- two
>> proprietary languages from the same vendor!  Or look at the MOD()
>> function in the X3J languages.  String comparison rules in Xbase,
>> COBOL, etc.  Temporal expressions that exist only in SQL..  The list
>> goes on and on.
>>
>> In theory it is even worse.  Why did we spend decades arriving at
>> tiered architectures and verifiable software engineering prinicples to
>> throw them away?  With (n) different rules embedded in the DB, I cannot
>> have any consistent data over time.  What happens when I  want to move
>> to a new platform?  The tiers are now blurred into a monolithic
>> structure that has to be thrown out when you scale up or down.  You no
>> longer have a "component stereo system", but have returned to the
>> 1950's console unit in a very solid piece of oak furniture.
>>
>> Decades ago, Dijkstra made a remark about how we keep repeating the
>> same errors over and over in IT; he was right.
>>
>
>

AddThis Social Bookmark Button