8 messages in com.mysql.lists.clusterRE: Stored Procedues
FromSent OnAttachments
Nick Hoffman21 Aug 2006 17:15 
Stewart Smith21 Aug 2006 20:19 
Benton, Kevin22 Aug 2006 16:46 
Jason Brooke22 Aug 2006 17:00 
Stewart Smith23 Aug 2006 03:15 
Benton, Kevin23 Aug 2006 08:54 
Nick Hoffman23 Aug 2006 16:46 
Stewart Smith23 Aug 2006 18:03 
Subject:RE: Stored Procedues
From:Benton, Kevin (kevi@amd.com)
Date:08/23/2006 08:54:12 AM
List:com.mysql.lists.cluster

Hello Stewart,

As I mentioned before, this is a bug in my opinion. If applications have to know the architecture of a cluster, the application is far less portable than it could, no should be. It also misleads the developer into thinking that by storing a procedure on the server, it's available permanently no matter which part of the cluster they connect to. This is obviously (thanks to your explanation) inaccurate.

As a DBA, I want to make using MySQL cluster as transparent to users as possible. If any node in a cluster goes off-line, the others should be able to take over without any special efforts of any of the applications before or after the outage. From my perspective, the cluster should transparently present itself as a single entity as if it were not a cluster at all. The fact that the table(s)'s storage engine is(are) cluster-based should be so transparent that only the DBA should notice the difference.

IMNSHO, applications should not have to be hard-coded to adapt to a cluster's configuration. You're saying that a stored proc should be created on each SQL server in a cluster. How is that portable? What happens when I decide that my cluster needs to be moved to a different set of servers on different IP addresses? All I should have to update is DNS (when the migration is completed) and the rest should fly automatically.

I understand that stored procedures are still relatively new in MySQL development. I want to make sure that those features become as integrated as the rest of the legacy code. Until that's true, certain "new" features are unusable in a clustered environment from a maintainability perspective.

It seems to me that DBA's should be able to specify a default storage engine of NDBCluster for the entire database and specify which nodes will automatically get tables when created. They also ought to be able to say that all nodes in a cluster get a particular table or all tables in a database as well as any associated stored procedures, or views.

-----Original Message----- From: Stewart Smith [mailto:stew@mysql.com] Sent: Wednesday, August 23, 2006 4:16 AM To: Benton, Kevin Cc: nick@altcall.com; MySQL Cluster Mailing List Subject: RE: Stored Procedues

On Tue, 2006-08-22 at 16:47 -0700, Benton, Kevin wrote:

So, if I understand you correctly, Stewart, if I define a stored procedure while connected to node B, node C will never know about it. If that's the case, IMO - that's a serious bug with NDBCluster. What happens if node B dies?

You just create the stored proc on each SQL Server connected to the cluster. Then if node B dies, C still has its own definition of the stored proc.

Jumpstart your cluster: http://www.mysql.com/consulting/packaged/cluster.html