Skip navigation
12724 Views 1 Reply Latest reply: Jul 1, 2010 12:03 PM by David Birmingham RSS
lookfornitin New Enzee 1 posts since
Jul 1, 2010
Currently Being Moderated

Jul 1, 2010 10:33 AM

Select Query takes longer while insert operation

There are various data load job running on netezza database while a complex select query is also used to retrieve data. I have found that this SQL take quite long to return results. I have observed that the performance improves when data load is not happening. Is there a way to conclusively identify that simultaneous insert operation is a bottleneck? Or any other way to ideentify other bottleneck.

  • David Birmingham Active Enzee 426 posts since
    Sep 24, 2007

    Every operation on the machine will put a load on the machine - the key is to make sure that the queries have the necessary resource to completel their missions.

     

    By this - get with your product engineer to work out a user group scenario that aligns with workload management. It sounds like you need the basic scenario of providing some mins/maxs for your user queries and back end so that the back end can complete without swamping the user, and the user can query without pushing down the back end. It's all about balance. Your product engineer can help smooth this out. If you have a TwinFin, the new 6.0 OS will provide much more powerful workload management capabilities.

     

    In addition - make sure your queries are leveraging the box correctly. Typical back-end processes are usually not crafted in their most efficient form, largely because they run on the back end inside a luxurious SLA window. However, if you review your back-end queries to make sure they also leverage zone maps, distribution, break apart complex queries into smaller intermediate operations and the like, not only will your back end run hotter, its imposition on the front end will become more transparent as well.

     

    Likewise for the front end. In some cases it is perfectly reasonable to report off the same tables as those used in the back-end cycle. In others, the back-end cycle may require one distribution to be most efficient, while the front end requires another distribution to be most effiicient. Trying to mix the two - that is reporting off of a distribution that is better suited to back-end processing, will not yield the strongest user experience. It is often more effiicient (and frankly doesn't cost as much disk space as one might imagine) to replicate some of the key tables out of the back-end model into a redistributed form that serves the front end.

     

    Netezza's performance is in the physics - if the model is not leveraging the physics, largely through the data architecture and layout, the users and back end processes will not experience the strongest possible lift.

More Like This

  • Retrieving data ...

Bookmarked By (0)

Legend

  • Correct Answers - 4 points
  • Helpful Answers - 2 points