  Database system architectures are undergoing revolutionary changes.
Algorithms and data are being unified by integrating programming languages with
the database system. This gives an extensible object-relational system where
non-procedural relational operators manipulate object sets. Coupled with this,
each DBMS is now a web service. This has huge implications for how we structure
applications. DBMSs are now object containers. Queues are the first objects to
be added. These queues are the basis for transaction processing and workflow
applica-tions. Future workflow systems are likely to be built on this core.
Data cubes and online analytic processing are now baked into most DBMSs. Beyond
that, DBMSs have a framework for data mining and machine learning algorithms.
Decision trees, Bayes nets, clustering, and time series analysis are built in;
new algorithms can be added. Text, temporal, and spatial data access methods,
along with their probabilistic reasoning have been added to database systems.
Allowing approximate and probabilistic answers is essential for many
applications. Many believe that XML and xQuery will be the main data structure
and access pattern. Database systems must accommodate that perspective.These
changes mandate a much more dynamic query optimization strategy. Intelligence
is moving to the periphery of the network. Each disk and each sensor will be a
competent database machine. Relational algebra is a convenient way to program
these systems. Database systems are now expected to be self-managing,
self-healing, and always-up.
