Unix Technical Forum

Code in the database or middle tier (the CLR controversy)

This is a discussion on Code in the database or middle tier (the CLR controversy) within the SQL Server forums, part of the Microsoft SQL Server category; --> There doesn't seem to be consensus about when to put code in the database or in the middle tier. ...


Go Back   Unix Technical Forum > Database Server Software > Microsoft SQL Server > SQL Server

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 02-29-2008, 08:44 AM
SAN3141@netscape.net
 
Posts: n/a
Default Code in the database or middle tier (the CLR controversy)

There doesn't seem to be consensus about when to put code in the
database or in the middle tier. There was a long discussion about this
in an Oracle newsgroup (message ID:
ULcQb.466$KU5.37@nwrddc02.gnilink.net).

Elsewhere there's been discussion about Microsoft SQL Server 2005
adding the CLR to support stored procedures in languages such as C#. A
scan of the Web and discussion forums finds differing opinions about
this.

Two authors have written articles that fall on different sides of the
debate.

"Keys to the Database"
http://www.intelligententerprise.com...cleID=50500830

"SOA, Multi-Tier Architectures and Logic in the Database"
http://www.sqlsummit.com/Articles/Lo...heDatabase.HTM

Joe Celko wrote the first article, but his objections point to
Microsoft SQL Server 2005:

"I have an article at WWSUG.com on how much I hate the CLR stuff that
Microsoft is putting out."
http://blog.intelligententerprise.co...es/002419.html

"The bad news is that SQL Server 2005 will you define your own
aggregate
functions in a CLR language."
Message id: 410d9a51.0502190442.bd68cbe@posting.google.com

IBM DB2 and Oracle are doing the same thing with the .NET CLR. Is this
a non-issue or are all three companies misguided?

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 02-29-2008, 08:45 AM
Serge Rielau
 
Posts: n/a
Default Re: Code in the database or middle tier (the CLR controversy)

SAN3141@netscape.net wrote:
> There doesn't seem to be consensus about when to put code in the
> database or in the middle tier. There was a long discussion about this
> in an Oracle newsgroup (message ID:
> ULcQb.466$KU5.37@nwrddc02.gnilink.net).
>
> Elsewhere there's been discussion about Microsoft SQL Server 2005
> adding the CLR to support stored procedures in languages such as C#. A
> scan of the Web and discussion forums finds differing opinions about
> this.
>
> Two authors have written articles that fall on different sides of the
> debate.
>
> "Keys to the Database"
> http://www.intelligententerprise.com...cleID=50500830
>
> "SOA, Multi-Tier Architectures and Logic in the Database"
> http://www.sqlsummit.com/Articles/Lo...heDatabase.HTM
>
> Joe Celko wrote the first article, but his objections point to
> Microsoft SQL Server 2005:
>
> "I have an article at WWSUG.com on how much I hate the CLR stuff that
> Microsoft is putting out."
> http://blog.intelligententerprise.co...es/002419.html
>
> "The bad news is that SQL Server 2005 will you define your own
> aggregate
> functions in a CLR language."
> Message id: 410d9a51.0502190442.bd68cbe@posting.google.com
>
> IBM DB2 and Oracle are doing the same thing with the .NET CLR. Is this
> a non-issue or are all three companies misguided?
>

I don't see what one has to do with the other.
First: CLR is a piece of technology. It's support for procedures and
functions allows for it's placement on the server. It doesn't force it
anymore than PL/SQL, Java, C, Cobol, ....
Second: User defined aggregates are an extensibility option for DBMS.
_When_ the function is needed then it is better placed in the engine
because the DBMS can parallelize the aggregation in both SMP and MPP.
TEh App cann not this and not placing teh aggregation in the engine
will swamp the network.

Cheers
Serge
--
Serge Rielau
DB2 SQL Compiler Development
IBM Toronto Lab
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 02-29-2008, 08:45 AM
Greg D. Moore \(Strider\)
 
Posts: n/a
Default Re: Code in the database or middle tier (the CLR controversy)


<SAN3141@netscape.net> wrote in message
news:1117621720.962502.258120@g49g2000cwa.googlegr oups.com...
> There doesn't seem to be consensus about when to put code in the
> database or in the middle tier. There was a long discussion about this
> in an Oracle newsgroup (message ID:
> ULcQb.466$KU5.37@nwrddc02.gnilink.net).


If I have time I'll review all these links... but my take away is this...

Used intelligently, CLR will be a godsend.

But, like procedural programmers coming to SQL and writing loops, cursors,
etc, with the wrong mindset, it is a potential disaster for performance,
data integrity, etc.

It'll be interesting to see how it's used.


>
> Elsewhere there's been discussion about Microsoft SQL Server 2005
> adding the CLR to support stored procedures in languages such as C#. A
> scan of the Web and discussion forums finds differing opinions about
> this.
>
> Two authors have written articles that fall on different sides of the
> debate.
>
> "Keys to the Database"
> http://www.intelligententerprise.com...cleID=50500830
>
> "SOA, Multi-Tier Architectures and Logic in the Database"
> http://www.sqlsummit.com/Articles/Lo...heDatabase.HTM
>
> Joe Celko wrote the first article, but his objections point to
> Microsoft SQL Server 2005:
>
> "I have an article at WWSUG.com on how much I hate the CLR stuff that
> Microsoft is putting out."
> http://blog.intelligententerprise.co...es/002419.html
>
> "The bad news is that SQL Server 2005 will you define your own
> aggregate
> functions in a CLR language."
> Message id: 410d9a51.0502190442.bd68cbe@posting.google.com
>
> IBM DB2 and Oracle are doing the same thing with the .NET CLR. Is this
> a non-issue or are all three companies misguided?
>



Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 02-29-2008, 08:45 AM
Damien
 
Posts: n/a
Default Re: Code in the database or middle tier (the CLR controversy)

Greg D. Moore (Strider) wrote:
> <SAN3141@netscape.net> wrote in message
> news:1117621720.962502.258120@g49g2000cwa.googlegr oups.com...
> > There doesn't seem to be consensus about when to put code in the
> > database or in the middle tier. There was a long discussion about this
> > in an Oracle newsgroup (message ID:
> > ULcQb.466$KU5.37@nwrddc02.gnilink.net).

>
> If I have time I'll review all these links... but my take away is this...
>
> Used intelligently, CLR will be a godsend.
>

[snip]
We're all doomed, aren't we :-|

My own take is actually pretty similar. I think it has potential. It
doesn't *have* to be used, but the danger is that the "less
experienced" will encounter a problem they cannot solve easily in SQL,
and decide to go for BFI instead of either going to a good book, or
asking an intelligent question on usenet (my two main sources of
learning)

Personally, I'm looking forward to it, although I personally don't feel
they've gone far enough :-) Hey, do you suppose if they opened up the
interoperability between SQL server internals and the CLR, such that it
was possible to augment T-SQL up to full SQL-99 (or whatever standard
we chose) compliance, certain people would still object?

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 02-29-2008, 08:45 AM
DA Morgan
 
Posts: n/a
Default Re: Code in the database or middle tier (the CLR controversy)

SAN3141@netscape.net wrote:

> There doesn't seem to be consensus about when to put code in the
> database or in the middle tier.


Actually there is ... among professionals that have an understanding
of data integrity and security. And of course among those who work
in countries such as the US (think SarbOx and HIPAA) where you can
not comply with federal law if you don't.

> Elsewhere there's been discussion about Microsoft SQL Server 2005
> adding the CLR to support stored procedures in languages such as C#. A
> scan of the Web and discussion forums finds differing opinions about
> this.


I really really really want Microsoft to add C# and VB to SQL Server
2005. It will do more to kill the product than anything Oracle or IBM
could add to theirs. And given the products lack of security, stability,
and scalability ... it deserves to be gutted by Microsoft's own hand.
--
Daniel A. Morgan
http://www.psoug.org
damorgan@x.washington.edu
(replace x with u to respond)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #6 (permalink)  
Old 02-29-2008, 08:45 AM
JT
 
Posts: n/a
Default Re: Code in the database or middle tier (the CLR controversy)

Generally speaking; for performance, security and maintenance reasons,
any programming which updates, inserts or deletes from a datbase table
should be tied as close to the database as possible and managed by the DBA
or a designated SQL Developer. If someone needs to update transactions in an
account table, then provide them with an SP, grant them exec only rights,
and document the parameters.
Every time a developer asks for direct access to the database, I can't
help recalling that Capital One commercial where the barbarians come
crashing through the gates of the castle with axes and swords!

<SAN3141@netscape.net> wrote in message
news:1117621720.962502.258120@g49g2000cwa.googlegr oups.com...
> There doesn't seem to be consensus about when to put code in the
> database or in the middle tier. There was a long discussion about this
> in an Oracle newsgroup (message ID:
> ULcQb.466$KU5.37@nwrddc02.gnilink.net).
>
> Elsewhere there's been discussion about Microsoft SQL Server 2005
> adding the CLR to support stored procedures in languages such as C#. A
> scan of the Web and discussion forums finds differing opinions about
> this.
>
> Two authors have written articles that fall on different sides of the
> debate.
>
> "Keys to the Database"
> http://www.intelligententerprise.com...cleID=50500830
>
> "SOA, Multi-Tier Architectures and Logic in the Database"
> http://www.sqlsummit.com/Articles/Lo...heDatabase.HTM
>
> Joe Celko wrote the first article, but his objections point to
> Microsoft SQL Server 2005:
>
> "I have an article at WWSUG.com on how much I hate the CLR stuff that
> Microsoft is putting out."
> http://blog.intelligententerprise.co...es/002419.html
>
> "The bad news is that SQL Server 2005 will you define your own
> aggregate
> functions in a CLR language."
> Message id: 410d9a51.0502190442.bd68cbe@posting.google.com
>
> IBM DB2 and Oracle are doing the same thing with the .NET CLR. Is this
> a non-issue or are all three companies misguided?
>



Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #7 (permalink)  
Old 02-29-2008, 08:45 AM
--CELKO--
 
Posts: n/a
Default Re: Code in the database or middle tier (the CLR controversy)

LOL! Actually, it will be all of the barbarians, snow monsters, etc.
in those "What's in your Wallet?" ads ALL hitting you at once.

What do the CLR languages do with bits? Did you know that +1, +0, -0
and -1 are all used for BOOLEANs, but not consistently? This varies in
MS proprietary language like C# and VB. How do they define their
functions? In the first edition SQL FOR SMARTIES, I had a list of the
various vendor MOD() functions differences in the SQL products of the
day. What about NULLs in the CLR languages?

How do you maintain a mixed system that uses languages you probably do
not know? COBOL is the most popular language on Earth and 70% of the
commercial code is in COBOL. I would guess this newsgroup has less
than a dozen COBOL programmers in it. How many DBAs know C#, C++, C,
Java, VB, Pascal (Delphi), and whatever else a developer can sneak into
the schema before they leave?

What they should have done is implement the SQL/PSM and Standard
trigger syntax as a replacement for T-SQL.

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #8 (permalink)  
Old 02-29-2008, 08:45 AM
William Stacey [MVP]
 
Posts: n/a
Default Re: Code in the database or middle tier (the CLR controversy)

Jim Gray of MS DB fame talks about 2-3 tier and other stuff on a Channel9
two part video at http://channel9.msdn.com/ShowPost.as...ID=50438#50438
Interestingly, he sees a switch back to two tiers. As for CLR support in
the DB, I think is natural and a good thing. I mean why pay the comm tax if
you don't have too. This will only get better. Even with the CLR, we
still have the gap between managed language and TSQL. So you have to know
both and talk to both. They have made this workable, but it is still not
very natural. Folks are working on data access stuff for C# 3.0 so maybe
much of this gap could go away and make for a pure managed experience. Will
be interesting to see.

--
William Stacey [MVP]

<SAN3141@netscape.net> wrote in message
news:1117621720.962502.258120@g49g2000cwa.googlegr oups.com...
> There doesn't seem to be consensus about when to put code in the
> database or in the middle tier. There was a long discussion about this
> in an Oracle newsgroup (message ID:
> ULcQb.466$KU5.37@nwrddc02.gnilink.net).
>
> Elsewhere there's been discussion about Microsoft SQL Server 2005
> adding the CLR to support stored procedures in languages such as C#. A
> scan of the Web and discussion forums finds differing opinions about
> this.
>
> Two authors have written articles that fall on different sides of the
> debate.
>
> "Keys to the Database"
> http://www.intelligententerprise.com...cleID=50500830
>
> "SOA, Multi-Tier Architectures and Logic in the Database"
> http://www.sqlsummit.com/Articles/Lo...heDatabase.HTM
>
> Joe Celko wrote the first article, but his objections point to
> Microsoft SQL Server 2005:
>
> "I have an article at WWSUG.com on how much I hate the CLR stuff that
> Microsoft is putting out."
> http://blog.intelligententerprise.co...es/002419.html
>
> "The bad news is that SQL Server 2005 will you define your own
> aggregate
> functions in a CLR language."
> Message id: 410d9a51.0502190442.bd68cbe@posting.google.com
>
> IBM DB2 and Oracle are doing the same thing with the .NET CLR. Is this
> a non-issue or are all three companies misguided?
>



Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #9 (permalink)  
Old 02-29-2008, 08:45 AM
Paul
 
Posts: n/a
Default Re: Code in the database or middle tier (the CLR controversy)


"--CELKO--" <jcelko212@earthlink.net> wrote:


>What they should have done is implement the SQL/PSM and Standard
>trigger syntax as a replacement for T-SQL.



PSM?

Pacific Sintered Metals (PSM)?
SQL stored procedures/ PSM for Daffodil DB?
Persistent Security Model?


I did Google and got lots of stuff, but what do *_you_* mean by PSM
(or is it a female complaint 8-) )


Paul...



--

plinehan __at__ yahoo __dot__ __com__

XP Pro, SP 2,

Oracle, 9.2.0.1.0 (Enterprise Ed.)
Interbase 6.0.2.0;

When asking database related questions, please give other posters
some clues, like operating system, version of db being used and DDL.
The exact text and/or number of error messages is useful (!= "it didn't work!").
Thanks.

Furthermore, As a courtesy to those who spend
time analysing and attempting to help, please
do not top post.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #10 (permalink)  
Old 02-29-2008, 08:45 AM
--CELKO--
 
Posts: n/a
Default Re: Code in the database or middle tier (the CLR controversy)

Persistent Stored Modules. This is the ANSI/ISO Standard 4GL language
designed to work with SQL. IBM has it and so does Mimer. There are
probably a few others out there, too. Look at Jim Melton's book for
some details. Oracle's PL/SQL is something like it in design and
power.

>> I did Google and got lots of stuff, but what do *_you_* mean by PSM (or is it a female complaint 8-) ) <<


Nah! The female problem is called "PMS" because "Mad Cow Disease" was
taken ... I am going to get shot for that one

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 07:02 PM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
www.UnixAdminTalk.com