SlideShare une entreprise Scribd logo
1  sur  10
Télécharger pour lire hors ligne
InBrief




Embarcdero DB Optimizer


 An InBrief paper by Bloor Research
 Author : Philip Howard
 Publish date : April 2009
Most database performance
tools focus on what is happening
in the database and fixing it,
rather than preventing problems
from occurring in the first place.
Conversely, this is DB Optimizer’s
strength.
Philip Howard
Embarcadero DB Optimizer                                                                                                                   page 1




Executive summary

In general it is a good idea to get the most out of your investments, regardless of whether these are IT-based or not. Within IT,
one area where it is commonplace to not get the most out of your investment is from your databases. This is primarily because
they do not perform with optimal efficiency, with the result that service levels are reduced and the business suffers. Historically,
the simple answer to such problems has been to increase the power of the hardware supporting the database but this is an
expensive solution at the best of times and, in the midst of a recession, is likely to be unappealing. A preferable, and more cost
effective, solution is to detect and cure performance problems through software and, better yet, prevent such problems from
occurring in the first place. This is what Embarcadero DB Optimizer is designed to do.

Fast facts                                                           •	 Tuning, which is available for all supported databases,
                                                                       includes support for hints, SQL rewrites and index
The biggest cause of database performance is poorly                    analysis and there are also batch capabilities for DML
written SQL and this is what DB Optimizer focuses on. It is            statements, stored procedures and so on.
not, however, a general-purpose 24/7 database
performance monitoring tool: Embarcadero’s Performance               •	 Ease of use makes DB Optimizer particularly suitable for
Center offers those sorts of capabilities. Instead, DB                 any user interested in the prevention of poor-performing
Optimizer is specifically focused on profiling, reporting and          SQL as a part of the development lifecycle.
tuning SQL so that it is optimised for database
performance. These capabilities come in handy when                   •	 A major concern within performance management
leveraged during performance fire drills in production and,            environments is to avoid finger pointing. Thus it is
when DB Optimizer is employed during the development                   important to be able to bridge the developer/DBA divide.
lifecycle, costly production issues can be prevented in a              We are therefore pleased that Embarcadero has
proactive manner.                                                      introduced the related product, J Optimizer, which
                                                                       provides Java optimisation that can be used in conjunction
Key findings                                                           with DB Optimizer.

In the opinion of Bloor Research, the following represent the        The bottom line
key facts of which prospective users should be aware:
                                                                     As the saying goes: “prevention is better than cure”. Most
•	 DB Optimizer is a cross-platform tool that supports               database performance tools focus on what is happening in
  Microsoft, Sybase ASE, Oracle and DB2 LUW                          the database and fixing it, rather than preventing problems
  environments. We would like to see the company extend              from occurring in the first place. Conversely, this is DB
  this capability to MySQL.                                          Optimizer’s strength. What may be an issue is that this is a
                                                                     tool for fixing the problems of the database administrator
•	 DB Optimizer supports continuous profiling (the discovery         that will actually be deployed, when used preemptively, by
  of bottlenecks) within a configurable span of time,                developers. In environments where these communities work
  together with reporting and snapshotting capabilities so           closely together that will not be a problem but there are
  that you can diagnose and prioritise remedial efforts and          companies where that is not the case. On the other hand, the
  SQL tuning.                                                        use of tools such as DB Optimizer (particularly when used in
                                                                     conjunction with J Optimizer) may help to draw these groups
•	 We are pleased to see that the product uses wait time             together to work in a more collaborative fashion. In either
  measurements as well as conventional CPU, I/O                      case DB Optimizer is certainly worth serious consideration.
  monitoring and so forth.




© 2009 Bloor Research                                                                                              A Bloor InBrief paper
Embarcadero DB Optimizer                                                                                                                           page 2




The product

DB Optimizer was released in July 2008 and is in its second
major release, version 1.5. It is a desktop tool that runs
under Windows (2003 and later) or Linux (Red Hat and SUSE)
and requires the relevant Sun Java 2 Standard Edition. DB
Optimizer includes Embarcadero PowerSQL Professional
Edition which, at the time of writing, is in version 1.1.

Databases supported include Oracle 8i to 11g, Sybase ASE
12.5 to 15.0 (note: there were no versions 13 or 14),
Microsoft SQL Server 2003, 2005 and 2008 and IBM DB2 for
LUW (that is, for distributed rather than mainframe
platforms) version 8.0 through 9.0. The company has not yet
introduced support for versions of DB2 later than 9.0. The
product is fully Unicode compliant.

In terms of functionality DB Optimizer essentially does three
things: profiling, reporting and tuning. We shall consider        Figure 1: Profiled performance data using DB Optimizer
each of these in turn.
                                                                  While you can visually inspect and compare the performance
Profiling                                                         of different SQL statements, and while you can easily change
                                                                  the time intervals you are inspecting, you can also see
Profiling is the process of discovering performance               aggregated results over a period of time. In particular, “top
bottlenecks caused by poor-performing SQL. There is a             ten” listings of the most onerous SQL statements are useful,
particular emphasis on discovering problems before they           especially when combined with frequency of use statistics.
arise, during the development phase, rather than leaving          DB Optimizer allows you to focus on the statements with the
them to production where they become significantly more           most activity and quickly diagnose them in order to ensure
costly to fix. Thus you can profile (and tune) a single stored    you are putting your efforts into the SQL statements that will
routine whenever required so that you can see how efficient       yield the greatest performance benefits for your database.
it is. This will particularly suit agile programming
environments but would also make sense more generally.            Finally under the heading of Reporting, the software
Alternatively, the product also supports continuous profiling.    provides facilities whereby the Explain Plan for each SQL
It is also worth noting that there is a command line API that     statement can be calculated. This is important because it
allows profiling to be initiated from a remote location.          allows you to optimise the execution of the SQL. Note that
                                                                  the Explain Plan is worked out without actually running the
Of course, in development profiling is not a panacea. Many        query and it is presented graphically as a tree diagram. If
applications will already be written or have been licensed        used in conjunction with the product’s tuning capabilities
from third parties, which may result in SQL-related               then you can also calculate the costs associated with each
performance problems. To support these environments DB            Explain Plan.
Optimizer provides the facility to profile an entire database
instance so that you can look at the relevant details (see next   Tuning
section). In order to ensure negligible overhead on the target
database, DB Optimizer utilises sampling, which captures          As with profiling, you can tune individual SQL statements or
long running or frequently executed queries by sampling           you can work in batch mode. You can tune one statement at a
database system tables and intelligently aggregating and          time (either as you write it or after you discover it while
analysing the data in real time.                                  profiling) and simply drop the SQL into the tuner as illustrated
                                                                  in Figure 2 or you can tune batches of DML statements, and
However you go about it, the resulting snapshots, with all        SQL files, which will be parsed and tuned in bulk.
their associated data and metadata, can be saved for
subsequent sharing and analysis, as appropriate.

Reporting

As you would expect from a tool of this sort, DB Optimizer
provides a range of graphical representations of the data it
has profiled, of which Figure 1 provides a typical example
that should be fairly self-explanatory.

Details are presented of CPU, I/O and other sorts of wait
activity and you can drill down into further detail either in
terms of the wait times being analysed or the SQL statement
that you are analysing; in the latter case so that you can see
the full SQL text together with the relevant details for each
line of that statement.
                                                                  Figure 2: SQL tuning using DB Optimizer




© 2009 Bloor Research                                                                                                      A Bloor InBrief paper
Embarcadero DB Optimizer                                                                                                                page 3




The product

The tuner suggests hints, SQL rewrites, and indexes in order      Third party applications
to help you speed up your SQL code, which is accomplished
via a single button click:                                        All the foregoing discussions have been around software
                                                                  that is developed in-house. However, it is commonly the
•	 Hints act as a direction finder for your code in terms of      case that companies use packaged applications in many
  telling the database which turns to take in order to stay on    instances and it is by no means unknown for these packages
  the quickest path.                                              to generate very poorly performing SQL. Of course, you can
                                                                  use DB Optimizer to profile the SQL so that you can
•	 SQL rewrites actually adjust your code to avoid common         demonstrate to your supplier how poor their SQL is but that
  mistakes such as cartesian products and suppressed              may not get you every far, or not very quickly, so
  indexes that can kill database performance.                     Embarcadero provides an additional facility known as a
                                                                  stored outline. The way that this works is that after running
•	 Index analysis dives into the database itself and looks for    a tuning job you can generate the DDL to create a stored
  performance opportunities that could speed up the               outline for the best execution plan. You then insert this into
  retrieval of result sets.                                       the database so that SQL statements from the application
                                                                  will follow this plan rather than the one it did originally.
In addition to tuning per se, DB Optimizer also provides what
might be described as pre-emptive tuning capabilities. For
example, as we have noted, DB Optimizer embeds
Embarcadero Rapid SQL Developer, which is a SQL IDE
(integrated development environment) that is illustrated in
Figure 3. In this example, the code assist features of the
product are illustrated, providing you with context-
appropriate object suggestions. This is generated as you
type and thus provides dynamic syntactic and semantic
error checking.

Code assist is available even when you are not connected to
the database.

Another major feature, apart from support for hints, is Quick
Fixes, as illustrated in Figure 4, whereby suggestions that
accord with best practice (as opposed to out and out errors)
are put before you, based on your own customisation of the        Figure 3: Embarcadero Rapid SQL Developer
tool: you decide, for example, the subset of hints to be
considered for use.

Other tuning features include support for resolving bind
variables, the ability to tune SQL extracted from a procedure,
and index analysis, though in the case of indexes there is no
facility to automate the creation of indexes. To be fair, while
this is a common in-database feature it is not usually
present in third party performance tools, though we see no
reason why a direct link to the database’s software should
not be implemented.

Beyond these features these is also a visual text
differencing tool that will allow you to compare different
SQL statements with automatic highlighting of any
differences between them.

                                                                  Figure 4: Quick Fix support in DB Optimizer




© 2009 Bloor Research                                                                                           A Bloor InBrief paper
Embarcadero DB Optimizer                                                                                                               page 4




The vendor

Embarcadero Technologies was founded in 1993 and its first       Embarcadero floated on NASDAQ in 2000 but went private
product, Embarcadero Rapid SQL, was a Sybase                     again in a $200m deal in 2007. The company has offices in
development product that quickly expanded to support             the United States, Canada, Brazil (CodeGear only), France,
Microsoft SQL Server. From there the company increasingly        Germany, Russia, the UK, Australia, Japan, Singapore and
specialised in the data management arena with products           China. In general, in North America the company’s primary
such as Embarcadero DBArtisan and, more recently, Power          approach is via direct sales (70%) whereas in the rest of the
SQL, J Optimizer and Change Manager as well as the ER/           world it is mostly via channel partners (70%). It has partners
Studio modeling product. In effect, the company markets all      across Europe, in the Far East, India, Asia–Pacific, and in
sorts of products for supporting database and application        both Mexico and South America.
environments, including the design, development and
management of databases, the movement of data to and             While we have yet to see much in terms of integration
from such databases, and the performance management              between the data and application areas (DB Optimizer and J
and testing of databases, applications, and overall systems.     Optimizer being an exception) in terms of products the
The one thing that Embarcadero has not done historically is      company has introduced a new approach to licensing that
to provide a database of its own.                                spans the product sets. This is called All-Access and
                                                                 effectively offers a toolbox style approach. Most
In June 2008 Embarcadero acquired CodeGear, which was            Embarcadero users probably focus on using just one or two
itself split out from Borland in 2006, containing all that       of its products. Although they might look to use some of the
company’s tools that were not related to application lifecycle   company’s other tools once in a while that does not merit
management, upon which Borland is now focused. As a part         taking out a full license. What All-Access offers is a range of
of that acquisition, Embarcadero gained the Delphi, JBuilder     tools for not much more than the cost of the licenses of the
(and variants such as C#Builder) and RAD Studio                  couple of tools you are already using, but providing much
development environments and associated products. During         more flexibility when you, from time to time, want access to
the course of 2009 we are likely to see the first instances of   other technologies.
integration between the CodeGear and Embarcadero product
sets, such as the embedding of ER/Studio within relevant         Embarcadero web addresses:
development environments.
                                                                 www.embarcadero.com
One additional product that Embarcadero has acquired with        www.codegear.com
this purchase is the InterBase database management
system. It remains to be seen what Embarcadero, which has
traditionally been agnostic about the databases products it
supports, does with respect to InterBase.




© 2009 Bloor Research                                                                                          A Bloor InBrief paper
Embarcadero DB Optimizer                                                                                                             page 5




Summary

Embarcadero is established as perhaps the leading               Further Information
independent tools vendor for database management. Viewed
within this context DB Optimizer is a significant addition to   Further information about this subject is available from
the company’s portfolio of solutions and we expect to see       http://www.BloorResearch.com/update/1027
significant uptake of the product. However, DB Optimizer is
perhaps best suited for use by developers rather than in the
database environment per se. We therefore expect that
Embarcadero will also be promoting this product to its
recently acquired CodeGear customers, particularly in
conjunction with J Optimizer. This should make a compelling
combination.




© 2009 Bloor Research                                                                                        A Bloor InBrief paper
Bloor Research overview                          About the author




Bloor Research has spent the last decade         Philip Howard
developing what is recognised as Europe’s        Research Director - Data Management
leading independent IT research organisation.
With its core research activities underpinning   Philip started in the computer industry
a range of services, from research and           way back in 1973 and has variously worked
consulting to events and publishing, Bloor       as a systems analyst, programmer and
Research is committed to turning knowledge       salesperson, as well as in marketing and
into client value across all of its products     product management, for a variety of
and engagements. Our objectives are:             companies including GEC Marconi, GPT,
                                                 Philips Data Systems, Raytheon and NCR.
•	 Save clients’ time by providing comparison
   and analysis that is clear and succinct.      After a quarter of a century of not being
                                                 his own boss Philip set up his own
•	 Update clients’ expertise, enabling           company in 1992 and his first client was
   them to have a clear understanding            Bloor Research (then ButlerBloor), with
   of IT issues and facts and validate           Philip working for the company as an
   existing technology strategies.               associate analyst. His relationship with
                                                 Bloor Research has continued since that
•	 Bring an independent perspective,             time and he is now Research Director
   minimising the inherent risks of product      focussed on Data Management. Data
   selection and decision-making.                Management refers to the management,
                                                 movement, governance and storage of
•	 Communicate our visionary                     data and involves diverse technologies that
   perspective of the future of IT.              include (but are not limited to) databases
                                                 and data warehousing, data integration
Founded in 1989, Bloor Research is one of        (including ETL, data migration and data
the world’s leading IT research, analysis        federation), data quality, master data
and consultancy organisations—distributing       management, metadata management,
research and analysis to IT user and vendor      and log and event management. Philip
organisations throughout the world via           also tracks spreadsheet management
online subscriptions, tailored research          and complex event processing.
services and consultancy projects.
                                                 In addition to the numerous reports Philip
                                                 has written on behalf of Bloor Research,
                                                 Philip also contributes regularly to www.
                                                 IT-Director.com and www.IT-Analysis.
                                                 com and was previously the editor of both
                                                 “Application Development News” and
                                                 “Operating System News” on behalf of
                                                 Cambridge Market Intelligence (CMI). He
                                                 has also contributed to various magazines
                                                 and published a number of reports
                                                 published by companies such as CMI
                                                 and The Financial Times. Philip speaks
                                                 regularly at conferences and other events
                                                 throughout Europe and North America.

                                                 Away from work, Philip’s primary leisure
                                                 activities are canal boats, skiing, playing
                                                 Bridge (at which he is a Life Master),
                                                 dining out and walking Benji the dog.
Copyright & disclaimer




This document is copyright © 2009 Bloor
Research. No part of this publication may
be reproduced by any method whatsoever
without the prior consent of Bloor Research.

Due to the nature of this material, numerous
hardware and software products have been
mentioned by name. In the majority, if not
all, of the cases, these product names are
claimed as trademarks by the companies
that manufacture the products. It is not Bloor
Research’s intent to claim these names or
trademarks as our own. Likewise, company
logos, graphics or screen shots have been
reproduced with the consent of the owner
and are subject to that owner’s copyright.

Whilst every care has been taken in the
preparation of this document to ensure
that the information is correct, the
publishers cannot accept responsibility
for any errors or omissions.
2nd Floor,
        145–157 St John Street
                     LONDON,
     EC1V 4PY, United Kingdom

         Tel: +44 (0)207 043 9750
        Fax: +44 (0)207 043 9748
 Web: www.BloorResearch.com
email: info@BloorResearch.com

Contenu connexe

Plus de Embarcadero Technologies

Python on Android with Delphi FMX - The Cross Platform GUI Framework
Python on Android with Delphi FMX - The Cross Platform GUI Framework Python on Android with Delphi FMX - The Cross Platform GUI Framework
Python on Android with Delphi FMX - The Cross Platform GUI Framework Embarcadero Technologies
 
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
Introduction to Python GUI development with Delphi for Python - Part 1:   Del...Introduction to Python GUI development with Delphi for Python - Part 1:   Del...
Introduction to Python GUI development with Delphi for Python - Part 1: Del...Embarcadero Technologies
 
FMXLinux Introduction - Delphi's FireMonkey for Linux
FMXLinux Introduction - Delphi's FireMonkey for LinuxFMXLinux Introduction - Delphi's FireMonkey for Linux
FMXLinux Introduction - Delphi's FireMonkey for LinuxEmbarcadero Technologies
 
Python for Delphi Developers - Part 1 Introduction
Python for Delphi Developers - Part 1 IntroductionPython for Delphi Developers - Part 1 Introduction
Python for Delphi Developers - Part 1 IntroductionEmbarcadero Technologies
 
RAD Industrial Automation, Labs, and Instrumentation
RAD Industrial Automation, Labs, and InstrumentationRAD Industrial Automation, Labs, and Instrumentation
RAD Industrial Automation, Labs, and InstrumentationEmbarcadero Technologies
 
Embeddable Databases for Mobile Apps: Stress-Free Solutions with InterBase
Embeddable Databases for Mobile Apps: Stress-Free Solutions with InterBaseEmbeddable Databases for Mobile Apps: Stress-Free Solutions with InterBase
Embeddable Databases for Mobile Apps: Stress-Free Solutions with InterBaseEmbarcadero Technologies
 
Rad Server Industry Template - Connected Nurses Station - Setup Document
Rad Server Industry Template - Connected Nurses Station - Setup DocumentRad Server Industry Template - Connected Nurses Station - Setup Document
Rad Server Industry Template - Connected Nurses Station - Setup DocumentEmbarcadero Technologies
 
Move Desktop Apps to the Cloud - RollApp & Embarcadero webinar
Move Desktop Apps to the Cloud - RollApp & Embarcadero webinarMove Desktop Apps to the Cloud - RollApp & Embarcadero webinar
Move Desktop Apps to the Cloud - RollApp & Embarcadero webinarEmbarcadero Technologies
 
ER/Studio 2016: Build a Business-Driven Data Architecture
ER/Studio 2016: Build a Business-Driven Data ArchitectureER/Studio 2016: Build a Business-Driven Data Architecture
ER/Studio 2016: Build a Business-Driven Data ArchitectureEmbarcadero Technologies
 
The Secrets of SQL Server: Database Worst Practices
The Secrets of SQL Server: Database Worst PracticesThe Secrets of SQL Server: Database Worst Practices
The Secrets of SQL Server: Database Worst PracticesEmbarcadero Technologies
 
Driving Business Value Through Agile Data Assets
Driving Business Value Through Agile Data AssetsDriving Business Value Through Agile Data Assets
Driving Business Value Through Agile Data AssetsEmbarcadero Technologies
 
Troubleshooting Plan Changes with Query Store in SQL Server 2016
Troubleshooting Plan Changes with Query Store in SQL Server 2016Troubleshooting Plan Changes with Query Store in SQL Server 2016
Troubleshooting Plan Changes with Query Store in SQL Server 2016Embarcadero Technologies
 
Agile, Automated, Aware: How to Model for Success
Agile, Automated, Aware: How to Model for SuccessAgile, Automated, Aware: How to Model for Success
Agile, Automated, Aware: How to Model for SuccessEmbarcadero Technologies
 
What's New in DBArtisan and Rapid SQL 2016
What's New in DBArtisan and Rapid SQL 2016What's New in DBArtisan and Rapid SQL 2016
What's New in DBArtisan and Rapid SQL 2016Embarcadero Technologies
 
Is This Really a SAN Problem? Understanding the Performance of Your IO Subsy...
Is This Really a SAN Problem? Understanding the Performance of  Your IO Subsy...Is This Really a SAN Problem? Understanding the Performance of  Your IO Subsy...
Is This Really a SAN Problem? Understanding the Performance of Your IO Subsy...Embarcadero Technologies
 
RAD Studio, Delphi and C++Builder 10 Feature Matrix
RAD Studio, Delphi and C++Builder 10 Feature MatrixRAD Studio, Delphi and C++Builder 10 Feature Matrix
RAD Studio, Delphi and C++Builder 10 Feature MatrixEmbarcadero Technologies
 

Plus de Embarcadero Technologies (20)

Python on Android with Delphi FMX - The Cross Platform GUI Framework
Python on Android with Delphi FMX - The Cross Platform GUI Framework Python on Android with Delphi FMX - The Cross Platform GUI Framework
Python on Android with Delphi FMX - The Cross Platform GUI Framework
 
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
Introduction to Python GUI development with Delphi for Python - Part 1:   Del...Introduction to Python GUI development with Delphi for Python - Part 1:   Del...
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
 
FMXLinux Introduction - Delphi's FireMonkey for Linux
FMXLinux Introduction - Delphi's FireMonkey for LinuxFMXLinux Introduction - Delphi's FireMonkey for Linux
FMXLinux Introduction - Delphi's FireMonkey for Linux
 
Python for Delphi Developers - Part 2
Python for Delphi Developers - Part 2Python for Delphi Developers - Part 2
Python for Delphi Developers - Part 2
 
Python for Delphi Developers - Part 1 Introduction
Python for Delphi Developers - Part 1 IntroductionPython for Delphi Developers - Part 1 Introduction
Python for Delphi Developers - Part 1 Introduction
 
RAD Industrial Automation, Labs, and Instrumentation
RAD Industrial Automation, Labs, and InstrumentationRAD Industrial Automation, Labs, and Instrumentation
RAD Industrial Automation, Labs, and Instrumentation
 
Embeddable Databases for Mobile Apps: Stress-Free Solutions with InterBase
Embeddable Databases for Mobile Apps: Stress-Free Solutions with InterBaseEmbeddable Databases for Mobile Apps: Stress-Free Solutions with InterBase
Embeddable Databases for Mobile Apps: Stress-Free Solutions with InterBase
 
Rad Server Industry Template - Connected Nurses Station - Setup Document
Rad Server Industry Template - Connected Nurses Station - Setup DocumentRad Server Industry Template - Connected Nurses Station - Setup Document
Rad Server Industry Template - Connected Nurses Station - Setup Document
 
TMS Google Mapping Components
TMS Google Mapping ComponentsTMS Google Mapping Components
TMS Google Mapping Components
 
Move Desktop Apps to the Cloud - RollApp & Embarcadero webinar
Move Desktop Apps to the Cloud - RollApp & Embarcadero webinarMove Desktop Apps to the Cloud - RollApp & Embarcadero webinar
Move Desktop Apps to the Cloud - RollApp & Embarcadero webinar
 
Embarcadero RAD server Launch Webinar
Embarcadero RAD server Launch WebinarEmbarcadero RAD server Launch Webinar
Embarcadero RAD server Launch Webinar
 
ER/Studio 2016: Build a Business-Driven Data Architecture
ER/Studio 2016: Build a Business-Driven Data ArchitectureER/Studio 2016: Build a Business-Driven Data Architecture
ER/Studio 2016: Build a Business-Driven Data Architecture
 
The Secrets of SQL Server: Database Worst Practices
The Secrets of SQL Server: Database Worst PracticesThe Secrets of SQL Server: Database Worst Practices
The Secrets of SQL Server: Database Worst Practices
 
Driving Business Value Through Agile Data Assets
Driving Business Value Through Agile Data AssetsDriving Business Value Through Agile Data Assets
Driving Business Value Through Agile Data Assets
 
Troubleshooting Plan Changes with Query Store in SQL Server 2016
Troubleshooting Plan Changes with Query Store in SQL Server 2016Troubleshooting Plan Changes with Query Store in SQL Server 2016
Troubleshooting Plan Changes with Query Store in SQL Server 2016
 
Great Scott! Dealing with New Datatypes
Great Scott! Dealing with New DatatypesGreat Scott! Dealing with New Datatypes
Great Scott! Dealing with New Datatypes
 
Agile, Automated, Aware: How to Model for Success
Agile, Automated, Aware: How to Model for SuccessAgile, Automated, Aware: How to Model for Success
Agile, Automated, Aware: How to Model for Success
 
What's New in DBArtisan and Rapid SQL 2016
What's New in DBArtisan and Rapid SQL 2016What's New in DBArtisan and Rapid SQL 2016
What's New in DBArtisan and Rapid SQL 2016
 
Is This Really a SAN Problem? Understanding the Performance of Your IO Subsy...
Is This Really a SAN Problem? Understanding the Performance of  Your IO Subsy...Is This Really a SAN Problem? Understanding the Performance of  Your IO Subsy...
Is This Really a SAN Problem? Understanding the Performance of Your IO Subsy...
 
RAD Studio, Delphi and C++Builder 10 Feature Matrix
RAD Studio, Delphi and C++Builder 10 Feature MatrixRAD Studio, Delphi and C++Builder 10 Feature Matrix
RAD Studio, Delphi and C++Builder 10 Feature Matrix
 

Dernier

All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 

Dernier (20)

All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 

Preventing Database Perfomance Issues | DB Optimizer

  • 1. InBrief Embarcdero DB Optimizer An InBrief paper by Bloor Research Author : Philip Howard Publish date : April 2009
  • 2. Most database performance tools focus on what is happening in the database and fixing it, rather than preventing problems from occurring in the first place. Conversely, this is DB Optimizer’s strength. Philip Howard
  • 3. Embarcadero DB Optimizer page 1 Executive summary In general it is a good idea to get the most out of your investments, regardless of whether these are IT-based or not. Within IT, one area where it is commonplace to not get the most out of your investment is from your databases. This is primarily because they do not perform with optimal efficiency, with the result that service levels are reduced and the business suffers. Historically, the simple answer to such problems has been to increase the power of the hardware supporting the database but this is an expensive solution at the best of times and, in the midst of a recession, is likely to be unappealing. A preferable, and more cost effective, solution is to detect and cure performance problems through software and, better yet, prevent such problems from occurring in the first place. This is what Embarcadero DB Optimizer is designed to do. Fast facts • Tuning, which is available for all supported databases, includes support for hints, SQL rewrites and index The biggest cause of database performance is poorly analysis and there are also batch capabilities for DML written SQL and this is what DB Optimizer focuses on. It is statements, stored procedures and so on. not, however, a general-purpose 24/7 database performance monitoring tool: Embarcadero’s Performance • Ease of use makes DB Optimizer particularly suitable for Center offers those sorts of capabilities. Instead, DB any user interested in the prevention of poor-performing Optimizer is specifically focused on profiling, reporting and SQL as a part of the development lifecycle. tuning SQL so that it is optimised for database performance. These capabilities come in handy when • A major concern within performance management leveraged during performance fire drills in production and, environments is to avoid finger pointing. Thus it is when DB Optimizer is employed during the development important to be able to bridge the developer/DBA divide. lifecycle, costly production issues can be prevented in a We are therefore pleased that Embarcadero has proactive manner. introduced the related product, J Optimizer, which provides Java optimisation that can be used in conjunction Key findings with DB Optimizer. In the opinion of Bloor Research, the following represent the The bottom line key facts of which prospective users should be aware: As the saying goes: “prevention is better than cure”. Most • DB Optimizer is a cross-platform tool that supports database performance tools focus on what is happening in Microsoft, Sybase ASE, Oracle and DB2 LUW the database and fixing it, rather than preventing problems environments. We would like to see the company extend from occurring in the first place. Conversely, this is DB this capability to MySQL. Optimizer’s strength. What may be an issue is that this is a tool for fixing the problems of the database administrator • DB Optimizer supports continuous profiling (the discovery that will actually be deployed, when used preemptively, by of bottlenecks) within a configurable span of time, developers. In environments where these communities work together with reporting and snapshotting capabilities so closely together that will not be a problem but there are that you can diagnose and prioritise remedial efforts and companies where that is not the case. On the other hand, the SQL tuning. use of tools such as DB Optimizer (particularly when used in conjunction with J Optimizer) may help to draw these groups • We are pleased to see that the product uses wait time together to work in a more collaborative fashion. In either measurements as well as conventional CPU, I/O case DB Optimizer is certainly worth serious consideration. monitoring and so forth. © 2009 Bloor Research A Bloor InBrief paper
  • 4. Embarcadero DB Optimizer page 2 The product DB Optimizer was released in July 2008 and is in its second major release, version 1.5. It is a desktop tool that runs under Windows (2003 and later) or Linux (Red Hat and SUSE) and requires the relevant Sun Java 2 Standard Edition. DB Optimizer includes Embarcadero PowerSQL Professional Edition which, at the time of writing, is in version 1.1. Databases supported include Oracle 8i to 11g, Sybase ASE 12.5 to 15.0 (note: there were no versions 13 or 14), Microsoft SQL Server 2003, 2005 and 2008 and IBM DB2 for LUW (that is, for distributed rather than mainframe platforms) version 8.0 through 9.0. The company has not yet introduced support for versions of DB2 later than 9.0. The product is fully Unicode compliant. In terms of functionality DB Optimizer essentially does three things: profiling, reporting and tuning. We shall consider Figure 1: Profiled performance data using DB Optimizer each of these in turn. While you can visually inspect and compare the performance Profiling of different SQL statements, and while you can easily change the time intervals you are inspecting, you can also see Profiling is the process of discovering performance aggregated results over a period of time. In particular, “top bottlenecks caused by poor-performing SQL. There is a ten” listings of the most onerous SQL statements are useful, particular emphasis on discovering problems before they especially when combined with frequency of use statistics. arise, during the development phase, rather than leaving DB Optimizer allows you to focus on the statements with the them to production where they become significantly more most activity and quickly diagnose them in order to ensure costly to fix. Thus you can profile (and tune) a single stored you are putting your efforts into the SQL statements that will routine whenever required so that you can see how efficient yield the greatest performance benefits for your database. it is. This will particularly suit agile programming environments but would also make sense more generally. Finally under the heading of Reporting, the software Alternatively, the product also supports continuous profiling. provides facilities whereby the Explain Plan for each SQL It is also worth noting that there is a command line API that statement can be calculated. This is important because it allows profiling to be initiated from a remote location. allows you to optimise the execution of the SQL. Note that the Explain Plan is worked out without actually running the Of course, in development profiling is not a panacea. Many query and it is presented graphically as a tree diagram. If applications will already be written or have been licensed used in conjunction with the product’s tuning capabilities from third parties, which may result in SQL-related then you can also calculate the costs associated with each performance problems. To support these environments DB Explain Plan. Optimizer provides the facility to profile an entire database instance so that you can look at the relevant details (see next Tuning section). In order to ensure negligible overhead on the target database, DB Optimizer utilises sampling, which captures As with profiling, you can tune individual SQL statements or long running or frequently executed queries by sampling you can work in batch mode. You can tune one statement at a database system tables and intelligently aggregating and time (either as you write it or after you discover it while analysing the data in real time. profiling) and simply drop the SQL into the tuner as illustrated in Figure 2 or you can tune batches of DML statements, and However you go about it, the resulting snapshots, with all SQL files, which will be parsed and tuned in bulk. their associated data and metadata, can be saved for subsequent sharing and analysis, as appropriate. Reporting As you would expect from a tool of this sort, DB Optimizer provides a range of graphical representations of the data it has profiled, of which Figure 1 provides a typical example that should be fairly self-explanatory. Details are presented of CPU, I/O and other sorts of wait activity and you can drill down into further detail either in terms of the wait times being analysed or the SQL statement that you are analysing; in the latter case so that you can see the full SQL text together with the relevant details for each line of that statement. Figure 2: SQL tuning using DB Optimizer © 2009 Bloor Research A Bloor InBrief paper
  • 5. Embarcadero DB Optimizer page 3 The product The tuner suggests hints, SQL rewrites, and indexes in order Third party applications to help you speed up your SQL code, which is accomplished via a single button click: All the foregoing discussions have been around software that is developed in-house. However, it is commonly the • Hints act as a direction finder for your code in terms of case that companies use packaged applications in many telling the database which turns to take in order to stay on instances and it is by no means unknown for these packages the quickest path. to generate very poorly performing SQL. Of course, you can use DB Optimizer to profile the SQL so that you can • SQL rewrites actually adjust your code to avoid common demonstrate to your supplier how poor their SQL is but that mistakes such as cartesian products and suppressed may not get you every far, or not very quickly, so indexes that can kill database performance. Embarcadero provides an additional facility known as a stored outline. The way that this works is that after running • Index analysis dives into the database itself and looks for a tuning job you can generate the DDL to create a stored performance opportunities that could speed up the outline for the best execution plan. You then insert this into retrieval of result sets. the database so that SQL statements from the application will follow this plan rather than the one it did originally. In addition to tuning per se, DB Optimizer also provides what might be described as pre-emptive tuning capabilities. For example, as we have noted, DB Optimizer embeds Embarcadero Rapid SQL Developer, which is a SQL IDE (integrated development environment) that is illustrated in Figure 3. In this example, the code assist features of the product are illustrated, providing you with context- appropriate object suggestions. This is generated as you type and thus provides dynamic syntactic and semantic error checking. Code assist is available even when you are not connected to the database. Another major feature, apart from support for hints, is Quick Fixes, as illustrated in Figure 4, whereby suggestions that accord with best practice (as opposed to out and out errors) are put before you, based on your own customisation of the Figure 3: Embarcadero Rapid SQL Developer tool: you decide, for example, the subset of hints to be considered for use. Other tuning features include support for resolving bind variables, the ability to tune SQL extracted from a procedure, and index analysis, though in the case of indexes there is no facility to automate the creation of indexes. To be fair, while this is a common in-database feature it is not usually present in third party performance tools, though we see no reason why a direct link to the database’s software should not be implemented. Beyond these features these is also a visual text differencing tool that will allow you to compare different SQL statements with automatic highlighting of any differences between them. Figure 4: Quick Fix support in DB Optimizer © 2009 Bloor Research A Bloor InBrief paper
  • 6. Embarcadero DB Optimizer page 4 The vendor Embarcadero Technologies was founded in 1993 and its first Embarcadero floated on NASDAQ in 2000 but went private product, Embarcadero Rapid SQL, was a Sybase again in a $200m deal in 2007. The company has offices in development product that quickly expanded to support the United States, Canada, Brazil (CodeGear only), France, Microsoft SQL Server. From there the company increasingly Germany, Russia, the UK, Australia, Japan, Singapore and specialised in the data management arena with products China. In general, in North America the company’s primary such as Embarcadero DBArtisan and, more recently, Power approach is via direct sales (70%) whereas in the rest of the SQL, J Optimizer and Change Manager as well as the ER/ world it is mostly via channel partners (70%). It has partners Studio modeling product. In effect, the company markets all across Europe, in the Far East, India, Asia–Pacific, and in sorts of products for supporting database and application both Mexico and South America. environments, including the design, development and management of databases, the movement of data to and While we have yet to see much in terms of integration from such databases, and the performance management between the data and application areas (DB Optimizer and J and testing of databases, applications, and overall systems. Optimizer being an exception) in terms of products the The one thing that Embarcadero has not done historically is company has introduced a new approach to licensing that to provide a database of its own. spans the product sets. This is called All-Access and effectively offers a toolbox style approach. Most In June 2008 Embarcadero acquired CodeGear, which was Embarcadero users probably focus on using just one or two itself split out from Borland in 2006, containing all that of its products. Although they might look to use some of the company’s tools that were not related to application lifecycle company’s other tools once in a while that does not merit management, upon which Borland is now focused. As a part taking out a full license. What All-Access offers is a range of of that acquisition, Embarcadero gained the Delphi, JBuilder tools for not much more than the cost of the licenses of the (and variants such as C#Builder) and RAD Studio couple of tools you are already using, but providing much development environments and associated products. During more flexibility when you, from time to time, want access to the course of 2009 we are likely to see the first instances of other technologies. integration between the CodeGear and Embarcadero product sets, such as the embedding of ER/Studio within relevant Embarcadero web addresses: development environments. www.embarcadero.com One additional product that Embarcadero has acquired with www.codegear.com this purchase is the InterBase database management system. It remains to be seen what Embarcadero, which has traditionally been agnostic about the databases products it supports, does with respect to InterBase. © 2009 Bloor Research A Bloor InBrief paper
  • 7. Embarcadero DB Optimizer page 5 Summary Embarcadero is established as perhaps the leading Further Information independent tools vendor for database management. Viewed within this context DB Optimizer is a significant addition to Further information about this subject is available from the company’s portfolio of solutions and we expect to see http://www.BloorResearch.com/update/1027 significant uptake of the product. However, DB Optimizer is perhaps best suited for use by developers rather than in the database environment per se. We therefore expect that Embarcadero will also be promoting this product to its recently acquired CodeGear customers, particularly in conjunction with J Optimizer. This should make a compelling combination. © 2009 Bloor Research A Bloor InBrief paper
  • 8. Bloor Research overview About the author Bloor Research has spent the last decade Philip Howard developing what is recognised as Europe’s Research Director - Data Management leading independent IT research organisation. With its core research activities underpinning Philip started in the computer industry a range of services, from research and way back in 1973 and has variously worked consulting to events and publishing, Bloor as a systems analyst, programmer and Research is committed to turning knowledge salesperson, as well as in marketing and into client value across all of its products product management, for a variety of and engagements. Our objectives are: companies including GEC Marconi, GPT, Philips Data Systems, Raytheon and NCR. • Save clients’ time by providing comparison and analysis that is clear and succinct. After a quarter of a century of not being his own boss Philip set up his own • Update clients’ expertise, enabling company in 1992 and his first client was them to have a clear understanding Bloor Research (then ButlerBloor), with of IT issues and facts and validate Philip working for the company as an existing technology strategies. associate analyst. His relationship with Bloor Research has continued since that • Bring an independent perspective, time and he is now Research Director minimising the inherent risks of product focussed on Data Management. Data selection and decision-making. Management refers to the management, movement, governance and storage of • Communicate our visionary data and involves diverse technologies that perspective of the future of IT. include (but are not limited to) databases and data warehousing, data integration Founded in 1989, Bloor Research is one of (including ETL, data migration and data the world’s leading IT research, analysis federation), data quality, master data and consultancy organisations—distributing management, metadata management, research and analysis to IT user and vendor and log and event management. Philip organisations throughout the world via also tracks spreadsheet management online subscriptions, tailored research and complex event processing. services and consultancy projects. In addition to the numerous reports Philip has written on behalf of Bloor Research, Philip also contributes regularly to www. IT-Director.com and www.IT-Analysis. com and was previously the editor of both “Application Development News” and “Operating System News” on behalf of Cambridge Market Intelligence (CMI). He has also contributed to various magazines and published a number of reports published by companies such as CMI and The Financial Times. Philip speaks regularly at conferences and other events throughout Europe and North America. Away from work, Philip’s primary leisure activities are canal boats, skiing, playing Bridge (at which he is a Life Master), dining out and walking Benji the dog.
  • 9. Copyright & disclaimer This document is copyright © 2009 Bloor Research. No part of this publication may be reproduced by any method whatsoever without the prior consent of Bloor Research. Due to the nature of this material, numerous hardware and software products have been mentioned by name. In the majority, if not all, of the cases, these product names are claimed as trademarks by the companies that manufacture the products. It is not Bloor Research’s intent to claim these names or trademarks as our own. Likewise, company logos, graphics or screen shots have been reproduced with the consent of the owner and are subject to that owner’s copyright. Whilst every care has been taken in the preparation of this document to ensure that the information is correct, the publishers cannot accept responsibility for any errors or omissions.
  • 10. 2nd Floor, 145–157 St John Street LONDON, EC1V 4PY, United Kingdom Tel: +44 (0)207 043 9750 Fax: +44 (0)207 043 9748 Web: www.BloorResearch.com email: info@BloorResearch.com