Beyond the database schema changes and the small differences in the
code's beginning and ending, described above, software incorporating
the hybrid database can be moved seamlessly between the different
set-top box types, disk-enabled and disk-less.
No changes are needed in the body of the application; the system
stores data on the hard disk (or flash memory, SD card, etc.) of a
device with permanent media, and stores records entirely in memory
within a disk-less box.
This contrasts sharply with the major alterations in code required
to port an application between two different database systems, as would
be required using a dedicated on-disk database system, and one designed
for in-memory storage only.
Approaches to error-handling,
database locking, and transaction models are just some
of the areas where database systems can differ radically, even when the
separate DBMSes are generally
considered "embedded databases." Accommodating these differences
typically demands substantial changes in program logic.
One especially thorny area when moving between DBMSs is application programming interfaces (APIs),
which vary widely between database software vendors. "Ripping out the
database" is common programmer slang for moving an application from one
DBMS to another.
It accurately describes the code disruption of taking out the
"stitching" that the API provides between application logic and
database system. Functions comprising one database system's API often
do not map directly to another DBMS, often requiring substantially
different syntax and arguments.
Using an API that supports the ANSI SQL and open database connectivity (ODBC)
APIs standards can mitigate the pain of moving between databases, but
to be 100% portable (or as close as possible) a developer would have to
stay away from any vendor's advantages and be satisfied with a
least-common-denominator solution. Developers are rarely eager to do
that.
With eXtremeDB Fusion, DIRECTV gained the ability to design a
unified software platform, incorporating one embedded database, for
both disk-less and disk-enabled set-top boxes. To adapt the
applications between these hardware environments, the company's
developers still must make changes at both the database design and
application code levels.
However, the porting is greatly simplified. It is safe to say that
programmer-weeks are saved in initial development of the software
platform, and even greater savings should occur post-release, as the
efficiencies are gained from maintaining and extending one code base
rather than two.
As software applications increasingly reside on embedded devices
(rather than desktop or server computers), and as manufacturers offer
more feature-set choices within product lines, then embedded software
engineers increasingly face target environments that are split between
disk-enabled and disk-less devices.
Hybrid database systems help developers meet this challenge while
preserving much of the database coding simplicity of dealing with a
single approach to data storage.
Steve Graves is CEO and founder of
McObject