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 .
<<Prev 1 2 3
Database Server Watch SQLSummit Home Page Articles
© 1998-2005, Ken North Computing, LLC. All rights reserved.