Application database relationships
Application databases are sometimes small enough that they can be deployed to
the same server as the application. With application databases there is more infra-
structure freedom as well.
With small application databases, it is generally easier to convince companies to
buy into using cheaper open source RDBMS solutions such as My SQL or Postgre SQL
instead of spending money on Oracle or SQL Server. Some applications may even
use an embedded application database that runs within the same virtual environ-
ment as the application itself, and therefore does not require a separate SQL at all.
i BATIS works very well as a persistence framework for application databases.
Because of the simplicity of i BATIS , a team can get up to speed very quickly with a
new application. For simple databases, it's even possible to generate the SQL from
the database schema using the administrative tools that come with your RDBMS .
Tools are also available that will generate all of the i BATIS SQL Map files for you.
Enterprise databases are larger than application databases and have greater exter-
nal influence. They have more relationships with other systems that include both
dependencies, as well as dependents. These relationships might be web applica-
tions and reporting tools, but they might also be interfaces to complex systems
and databases. With an enterprise database, not only are there a greater number
of external interfaces, but the way that the interfaces work is different too. Some
interfaces might be nightly batch load interfaces, while others are real-time trans-
actional interfaces. For this reason, the enterprise database itself might actually be
composed of more than one database. Figure 1.5 depicts a high-level example of
an enterprise database.
Enterprise databases impose many more constraints on the design and use of
the database. There is a lot more to consider in terms of integrity, performance,
and security. For this reason, enterprise databases are often split up to separate
concerns and isolate requirements. If you tried to create a single database to meet
all the requirements of an enterprise system, it would be extremely expensive and
complex, or it would be completely impractical or even impossible.