Dueling databases:
Which is best?
By Peter Marsh
Special to Newspapers & Technology
Dave
Barry once said, “Buying the right computer and getting it to work properly is
no more complicated than building a nuclear reactor from wristwatch parts in a
darkened room using only your teeth.”
Barry was referring to a home
computer, so imagine the pressure on a newspaper IT director charged with buying
an enterprise-wide publishing or business system, which needs to be robust,
reliable, highly scalable, secure, and fully available 7 days a week, 24 hours a
day and 365 days per year.
For the past several years,
most companies in the media industry have continued to rely on relational
database platforms like Oracle or Microsoft SQL Server to power their
business-critical software systems. These databases provide the optimum
technology foundation for the complex, deadline-driven, multimedia environments
in which our customers operate.
Recently, however, a few
industry suppliers have introduced editorial content management systems based on
object-oriented database platforms from companies such as Versant, InterSystems
(Caché), Objectivity and GemStone.
Proponents of object-oriented
databases often cite the following three main advantages over relational
database technologies:
•They run faster for
transactional applications.
•They offer better developer
productivity.
•They are easier to manage.
Limitations abound
It is true that
object-oriented databases are designed to make development easier. However,
these platforms are lacking in functionality, reliability and media industry
experience.
In response, some industry
vendors, such as Atex, have taken a “best of both worlds” approach, engineering
object-relational mapping tools to provide customers with the rapid response of
object-oriented development while allowing the back-end to remain on robust
Oracle or SQL Server database platforms.
Yet the fact remains that
databases such as Oracle and SQL Server are superior to smaller, lesser
well-known object-oriented database (OODB) architectures.
Here’s why:
•Oracle and SQL Server
databases deliver consistently better performance than their OODB counterparts.
On March 10, 2008, the
Transaction Processing Council (TPC), an independent non-profit software testing
organization, conducted its latest performance benchmarking tests for databases
ranging in size from 3TB to 30TB. Oracle ranked No. 1 in performance in all
these database size categories. In addition, Oracle databases led all
competitors in enterprise software benchmark tests of both clustered and
non-clustered environments.
TPC also recently completed a
benchmarking test of Web-based applications running on a variety of hardware
platforms, including those from IBM, Hewlett Packard, Fujitsu, and NEC. Each
hardware/software combination was evaluated in terms of online processing
performance. Oracle and SQL Server databases powered eight of the top 10
configurations tested. The other two leading performers ran on IBM’s DB2,
another relational database. Not a single OODB configuration shows up in the
top-10 list.
One of the main reasons that
OODBs often perform poorly is that many OODB implementations do not provide the
kind of sophisticated data-locking that Oracle and SQL Server offer.
Without these built-in tools
for row-level locking, application software running on an OODB can often lock
huge chunks of data for every transaction that’s processed. The problem is
compounded in sophisticated applications —such as content management — where
multiple relationships exist among data objects and database transactions can
often lock more than one page in more than one table. As a result, multiple
users competing for database requests often have to wait until one or more pages
of data is unlocked before the transaction can be completed. This translates
into longer wait times for each user on an OODB system.
By contrast, by only locking a
single row of data for each transaction, granular locking schemes employed by
Oracle and SQL Server provide the optimal mix of secure data management,
load-balanced support for many thousands of concurrent database requests and
rapid end-user response times.
•Oracle and SQL Server provide
better, more flexible tools for querying and accessing content in the database.
One of the hallmarks of Oracle
and SQL Server databases is their ability to construct sophisticated queries to
access and report on content and metadata in the database. Queries can be
created and run by end-users in a highly structured manner, and frequently-used
queries can be optimized for performance through the use of stored procedures.
In addition, Oracle and SQL Server provide numerous built-in tools for
constructing and executing ad-hoc queries.
OODBs, on the other hand,
typically provide much weaker support for ad-hoc queries against the database.
Navigation through a complex database can be challenging with an OODB and query
optimization tools and functionality lag behind those available in major
relational database systems. This leads to a higher IT cost when integrating
OODBs into existing and future enterprise infrastructures, such as Web portals,
digital archives and other systems demanding flexible workflow tools.
The InterSystems Caché OODB,
for example, was developed in the 1970s for processing hospital patient records.
Caché’s original name was MUMPS, and it was designed to handle a large volume of
relatively small transactional records with few interrelationships with other
records, such as the type of data that would be found in patient information
cards. Such applications are vastly different from the multithreaded
relationships, dependencies and conditionals required in a newsroom content
management application.
•Oracle and SQL Server provide
a more secure database environment for business-critical applications requiring
99.999 percent uptime.
The U.S. National Computer
Security Center (NCSC) has given Microsoft SQL Server a C2 Certification, which
is the highest government security classification available. In addition, Oracle
is consistently the market leader in formal security evaluations with 19
established and validated security certificates from independent industry global
testing agencies (see
http://www.oracle.com/ technology/deploy/security/seceval/security-evaluations.html
for details).
•There are a lot more trained
resources available to support and maintain Oracle and SQL Server databases than
any OODB on the market today.
As of March 2008,
Careerbuilder.com has more than 4,500 resumes in its database with candidates
who have Oracle database experience. An additional 4,000+ candidates have
Microsoft SQL Server experience. By comparison, only 147 CareerBuilder
candidates have Versant OODB experience and only 61 have Caché experience.
Matching qualified job
candidates with open positions remains a major challenge for technology
companies. The North American high-tech job site Dice.com illustrates the wide
disparity in resumes and available jobs for each database platform: Oracle
(19,813); SQL Server (14,702); Versant (3); Caché (20).
Furthermore, finding
individuals with proven, deep experience in OODB administration will be
challenging. Granted, many OODB users feel that OODBs require less
administration in the early stages, but like most growing systems OODBs still
require tuning in preparation for deployment. Switching from a relational to an
OO database paradigm also will require some training and mentoring because
issues such as performance, locks and joins often require different approaches.”
Finally, the difficulty in
finding trained resources to support a Versant or Caché database is compounded
for companies considering a move to a hosted or managed services model.
Most of the major data center
providers (e.g. NaviSite, Rackspace, Savvis, Qwest, etc.) are fully capable of
providing first and second-tier support for Oracle and SQL Server databases.
Providing similar support for lesser-known OODB platforms would add significant
cost to the monthly hosting fees because of the extra training and specialized
skill-sets required.
Consequently, even though the
initial price tag of an OODB software license may be lower than that of an
Oracle or SQL Server license, the total cost of ownership (TCO) is often much
greater. Because there are fewer experienced OODB specialists on the job market,
training costs can be quite high when compared to Oracle or SQL Server experts,
who are able to bring their training and experience to a new position, and
effectively “hit the ground running.”
Lost flexibility
Clearly, OODB solutions like
Versant and Caché are valuable for software developers who want to build
object-oriented platforms where the database design is tightly coupled with the
application. This tight coupling simplifies both the design and the coding
process, and helps speed up development times. The downside of this simplistic
approach is lost flexibility and software agility. With Oracle and SQL Server,
the applications are loosely coupled, and there is a valuable abstraction layer
sitting between the applications and the database.
The loosely coupled model
offered by Oracle and SQL Server is ideal for the fast-changing, convergent, and
agile technology foundation essential for high-powered publishing applications.
With Oracle and SQL Server, database schema changes can be made independently of
the actual applications.
Conversely, in an OODB,
because the applications and the database are so closely linked, schema changes
often involve a system-wide recompile. This translates into an OODB operating
environment that, in many instances, is not responsive to changing business
needs or new market opportunities. In addition, companies selecting an OODB
solution often remain heavily reliant on their database or application vendor
for any changes required, which further increases the TCO through ongoing
year-over-year support and professional services expenditures.
Peter
Marsh is chief technology officer of Atex Ltd. He can be reached at
pmarsh@us.atex.com
Agree? Disagree? Send your
comments to cmoozakis@newsandtech.com.