Category Archives: twinfin

Enzee Universe is ON

Okay folks, the Enzee Universe is upon us and the Best Practice sessios is fired up, the power is vibrating the tracks and the train is about to leave the station. It’s a good ride – so get on it.

 

We have a lot of stuff planned for the Best Practice session, to kick off Monday morning before the keynote. It’s a six-hour run but hopefully not a white-knuckle experience. As with last year, there’s more material than we have time for, so even if you’re a little late, jump right in because there’s no better time to join than right away.

 

Last year we had over three hundred-fifty in attendance. The conversations and participation last year was very high so we’re expecting an even more scintillating performance this year, from you. That’s right, the Enzees were the stars last year, turning out in number and unafraid to speak out on the tough issues and cross-pollinate their knowledge to everyone. I received an avalanche of feedback last year on the hot-seat sessions and the different subjects.

 

As with last year, we’ll stay on the core tracks but we have some significant updates to the material. So bring your notepad, your thinking cap and hey, maybe even a megaphone if the temperature rises too high. Ahh, but no voice is too great or small in the sessions because the purpose is for all of us to walk away better prepared and enabled to tackle the next-great-solution with a Twinfin at our side.

 

So get a good breakfast, arrive early if you need to, and we’ll get moving when the starting pistol sounds.

 

See you in Boston!

Continue reading

Posted in best, conference, enzee, enzee_universe, Netezza, newbie, practice, twinfin, universe | Tagged | Comments Off

Managing Least to Greatest

A question I receive often can be characterized as “do I really need to do this for smaller tables? Isn’t this only necessary for larger tables?”

 

And the question could run the gamut from things like when-to-use-bigint to how-to-distribute-tables. The interesting thing – some of it really can be deferred until later, since Netezza has the power to turn-the-ship so to speak. Other things we need to consider for different reasons entirely. For example, will the table always be small? Or can it grow without asking our permission?

 

Case in point – a discussion arises as to whether we need bigint surrogate key types for small lookup tables that will never exceed hundreds or even thousands. The bigint type seems like overkill. So this makes some sense in that we don’t want such overkill mechanics in the data model. Then someone notes, “and we’ll save disk space too”. Well, not really. On the smaller tables the additional bytes are negligible, add to this the compression ratio and the fact that all tables have a minimum required allocation of space – and we see that the avoid-bigint-to-save-space isn’t really valid at all.

 

The avoid-bigint-to-reduce-domain-size tends to make sense, until we get into the issues of actually filling them with data. If we want to use a hashN() from the toolkit, we’ll have to coordinate between the hash8() or the hash4() for example, to make sure we use the right one. If we plan to use sequence generators, we’ll also have to coordinate the separate use of those, one for bigint and one for integer etc. In this aspect, the bigint (since it isn’t costing anything in disk space) has higher value in its data-type-portability and the portability of the code or SQL leveraging it. We reduce logistical complexity with no penalty. The bigint then acquires a more polymorphic flavor to it, as a pointer to data rather than as a numeric counter or index.

 

Another aspect is distribution. How do we want to distribute the smaller tables, and what should we choose? For the smaller tables, recall, if they are not distributed on the same key as the larger joining tables  (usually the case) then they will automatically broadcast to the larger table. As this is actually the expected behavior, is there anything that could change this? I have noted on some sites that when queries get complicated, the optimizer does not have enough information to properly make a call on broadcasting, and can actually reverse this outcome – broadcast the larger table toward the smaller. Such things are very difficult to find when the data sizes are marginal and only rear their heads when the data sizes (on the larger table) hit a certain threshold. Meaning: it will work for a while, perhaps even a very long time, and then show signs of inexplicable drag.

 

Of course. this can also happen if the statistics on the table are stale, so we always want the optimizer to make to right call. We could always keep our stats updated and we could make sure those complex queries never got-that-way. We could-and-should do that over time and maintenance activities, but we should also never get bitten in between.

 

To avoid pain and injury, the way to make the smaller tables always behave is to distribute them on random. The optmizer then has no basis to broadcast a larger table into the smaller, because no distribution exists. The smaller will always broadcast to the larger (the behavior we expected, right?) and all is well. The beauty on the TwinFin is that this smaller table will be cached in memory at no additional charge, further boosting the query and any subsequent queries using it – a beautiful thing.

Continue reading

Posted in bigint, broadcast, enzee, Netezza, practice, twinfin | Tagged , , | Comments Off

Netezza models: New branding

Looks like Netezza will be branded as Skimmer TwinFin Cruiser Look at the attached picture, I do not know complete technical details yet. Continue reading

Posted in Cruiser, Netezza, twinfin | Tagged , | Comments Off

Netezza Query Monitoring

Netezza query monitoring Netezza twinfin uses a little different architecture compared to old Mustang. Each node maps to eight disks with 1 TB on each disk on TwinFin 12 system. That is, if we have a TwinFin 12, total capacity is 12 x 8 = 96TB. Here are steps that I used for monitoring purpose; [...] Continue reading

Posted in Netezza, Netezza architecture, nzsql, twinfin | Tagged | Comments Off

An introduction to TwinFin

What would be possible in your world if you had a database that could  use all of the information relevant to your analysis: as much business  history as you have; all telemetry data generated each day; every  customer action and interac… Continue reading

Posted in best_practices, brian, data_warehouse_appliance, enzee, Netezza, twinfin | Tagged | Comments Off

Enzee Universe Aftermath

Whew! The Enzee Universe this year was quite an experience. I would like to offer my sincerest thanks to all of you who attended the Best Practices session held in marathon-form on Monday before the keynote. Over 300 people signed up, and many of … Continue reading

Posted in award, consultants, enzee, independent, Netezza, opportunity, practice, thanks, twinfin, universe, voice | Tagged , | Comments Off