SOA, Multi-Tier Architectures and Logic in the Database
<<Prev
1
2
3
A New Wave of
Database Servers
Performance is a major factor
contributing to the evolution of scalable, distributed
architectures that use powerful database servers, but OOP,
extensibility and the need for rich data types such as XML play
a role. Those influences, plus integrated messaging and business
intelligence, have driven the demand for features that produced
a new wave of servers. The new servers promise to make life
easier for developers. They also open the door for application
designs not feasible a decade ago.
HP/Compaq Proliant
BL20p G3 Blade Server |
Recently I was reflecting on some of my past projects and how I
would do them differently, given today's technology. One example
was systems that stored mug shots, fingerprints, and biometric
data. The mug shot system, for example, used separate servers
for SQL tables and images. The SQL database included personal
descriptors such as name, height, and hair color. The system
used an SQL database that could store
tabular data but was unable to store and retrieve images and fingerprints. If I were building those applications
today, my technology of choice would be a universal database
capable of querying over tabular data, image data and documents. |
Universal database servers provide object-relational capabilities and the ability to add
extensions to support new data types. The fundamental premise of
the universal database, is that a single server
should be capable of serving up all types of data. The server
understands types such as biometric data, HTML pages, images,
time series, and other data. If I chose IBM's DB2 Universal
Database (UDB) for these applications, the DB2 server would be a
single source for tabular data, images, and biometric data (or
descriptors, mug shots and fingerprints, respectively). Like
other universal-server products, DB2 UDB evolved
from an SQL server product. A traditional SQL server would be quite
capable of handling my row and column data, but the UDB product includes DB2 Extenders that could
handle the images and fingerprint data types.
DB2 Extenders, like IBM Informix DataBlades and Oracle Data
Cartridges, introduced APIs that are separate and distinct
from core APIs such as SQL/CLI, Oracle Call Interface and JDBC. For
example, DB2's IAV extender API includes about 90 C functions
for operating with images, audio, and video data. Storing
fingerprints may not be for everyone, but many developers are
likely to be writing applications using large text databases,
HTML pages, XML documents, email archives, and other data sources.
The universal database concept unifies all data types under
the umbrella of a powerful server, with the theoretical advantage of
query optimization that can operate across indexes for tables,
spatial data, text, images, and other complex types. Instead of
adopting a universal database concept, of Sybase and Microsoft
initially opted for an integration strategy. Rather than use a single
data store for all types of data, Microsoft and Sybase advocated
distributing data across specialized data stores: video servers,
SQL databases, spatial data servers, image servers and OLAP
servers.
Microsoft and Sybase developed component-based middleware for
integrating data from heterogeneous sources. The Microsoft
approach, known as Universal Data Access, works with
data distributed across specialized servers, mail folders,
legacy databases, directories and other data sources. Microsoft
based OLE DB on its Component Object Model (COM)
while Sybase developed an Adaptive Component Architecture that
supported technologies such as Enterprise JavaBeans (EJB). Microsoft and Sybase
have subsequently moved closer to the model of the Swiss Army Knife server -- a
powerful class of database servers that can integrate SQL processing, XML
document processing and business intelligence processing.
Consider Your
Options
When you build new web, intranet,
extranet or grid applications,
requirements may dictate your choice of architecture and tools.
If you need to integrate databases into the picture, consider
your options for putting logic and rules in the database. Those
options should include using servers that permit you to add
object-relational extensions, stored procedures, user-defined
functions, and user-defined types.
About the Author
Ken North wrote the Database Developer column for
Dr. Dobb's Sourcebook and Web Techniques. He is the author of Windows Multi-DBMS
Programming (John Wiley & Sons) and Database Magic with Ken
North (Prentice-Hall). Ken
develops software, speaks at conferences, and teaches
seminars. He is the editor of SQLSummit.com
and
WebServicesSummit.com.
<<Prev
1
2
3

Database Server Watch
SQLSummit Home Page Articles
© 1998-2005, Ken North Computing, LLC. All rights
reserved.