2009-12-31

New Question or Feedback


Wonderful, isn't it, what happens when the various performance components are integrated, into one performance whole ... the whole performance ensues ... naturally.

Comment on an Article

Post comments related to an article on the article itself, not here. They will be edited, so that only relevant comments remain with the article, and readers do not have to wade through fur and skin to get to the meat. Comment as you like, but if the article is your question or if you intend your comment to become part of the article, please assist by being concise (I get to Accept/Reject only, there is no drag or copy facility).


New Question
Post your new question as a comment to this article. If it is worthy, I will start an article, otherwise I will reply by email. (If your question is simple or not relevant to readers, you can email me instead, but please note, there are many sites that service simple requests.)

Feedback
Post any general feedback (not specific to a thread) or anything you would like me to change, as a comment here.

Submission
Post a synopsis of your intended article either here, or to my email address.

Let's get this blog rolling !

2009-03-31

Tempdb Monitor

Rajasekhar Reddy asked:
Could you please let me know the best way to get alarms before tempdb gets full ?
A method of dealing with tempdb filling up, and analysing the causes (thus preventing them in the future) is provided here. This is a second generation method, useful to all ASE servers, with unknown, untamed tempdb content; the first generation rendition is quite adequate for tamed and controlled databases. This has been implemented and tested in large Production systems. The approach is important, and different from other approaches that have been evaluated, in two requirements:
[Read post]

2009-03-18

Normalisation Workshop 1 - Niksa & Others


Value

This post is best described as per the title. It is not a top-down formal education re the subject. It has substantial value because it deals with several problems that are common in the real world, that damage the quality and performance of Relational Databases. This provides the method for providing a high quality, high performance database, without breaching Standards and Rules.

There are several elements in the workshop that are of value to Developers (more) and Data Modellers (a bit less). Its value is in the example, so do not get too caught up in the edges and the tangents. The sequence/exchange is worth following because it is virtually a script, based on common myths, and deals with the blocks to learning. Depending on how carefully you inspect each step, there are many small but important items to be noted, in the context of the operating whole Relational Database, and resolving each new requirement between the Modeller, the Database, and the Developer, as they arise.

Warning Since this thread has the back-and-forth nature of a discussion, a workshop, and it goes into detail, it will be long. I will keep it trimmed and up-to-date, as the comments are integrated in to the post. When the discussion is closed, I will publish a concise and abbreviated Revision for posterity.
[Read post]

2009-03-17

Normalisation Workshop 2 - Tartampion & Others

tartampion asked:
I would like to ask you to explain the normalization steps in a simple case; for example "Student who have courses with different professors in different rooms of a college", please. We are the development DBAs, We all either understand the importance of normalization or try to understand it. You know it, so help us; give us a hint.
Context
This is not a tutorial (there are good books and courses elsewhere), this is a workshop for DBAs and Developers who have an interest in modelling (Normalising) Relational Databases. Since you are asked me, you will get high performance, and a few 'built-in' standards as well.
[Read post]

2009-03-16

'Reverse' Key (Relational Key) - John Flynn

John Flynn wrote:
It's a known performance problem in Sybase when your primary key has monotonically increasing values and you assign a clustered index to it. Apparently all row inserts go to the hotspot at the end of the table. I guess this is true whether your key is an identity-type thing or a natural key.
Not quite. A Natural or Relational Key will not be a monotonically increasing value. A monotonically increasing value (system or code generated) is a Surrogate key, by definition (the meaning of the word), it is the key that you have when you do not have a Key.
[Read post]

2009-03-15

Data Distribution - Mario Ascione

Distribution of data over different disks for better disk utilization

Without posting the entire thread, which has a somewhat different context, I have picked it up at the point where the unanswered part starts. Mario Ascione posted:

The table has a unique clustered index on the primary key "test_id" [identity] with lock datarows and some non-clustered index.
That is not a relational key, it is a physical, non-relational key which will cause a problem everywhere it is used. Let's look at one instance ...
[Read post]