Appliances: what can replication do for you?
data availability and scalability without
performance, security and application usability. Replication
can be used in many ways, solving many problems. Summarized here are a
few of those possibilities.
Not much details are given:
these have to be recovered during the design phase of the
typically each solution has it own set of points of interest
using Frext as an asynchronous
data replication tool, applications
become always available, even when the network is down. Mobile
applications are typically off line
and using synchronization.
is an option provided by Frext for reducing network overhead.
Typically, on the remote side
there are many or even a large number databases involved which can be
handled well by Frext.
Mobile applications uses a
master-remote model: remotes are fully
dependent from the master, but the master is in no way dependent from
any remote. Remotes can be recreated anytime from the master data set.
- sales force on the road
on the road
Integration of two or more databases
on the same server or between
different back end servers at the same or different location. Servers
are always connected, but are treated as an mobile application, so off line.
- distribution or mirroring:
copying data from one database to one are more (read-only) databases
for better data access, e.g. workload for viewing (for reporting) is
separated from production database
from two or more remote databases into one master database, e.g. point
of sale systems replicating back cash operations to a central database
on the end of the day
support: sharing a predefined set of (static) tables between different
databases; in this situation, the different databases are equally
important, thus can not be recreated from a single. master database as
opposed to mobile applications where there's a specific
- fail safe backup by providing a warm
standby mirror (crash recovery)
- roll forward logging to
provide recovery in a point of time
- redo &
undo for testing purposes
Connecting servers can be done in several ways:
- over a LAN: company with divided branches, all in
one location, possible multiple databases on one server
- over a WAN (internet): company with geographical
facilitate the connection or integration between different information
systems with each other (not restricted by Firebird) by providing
a common interface. Frext is able to function as a front end (message
consumer) or as back end (message producer); the other end does not
to be an instance of Frext/Firebird. Thus, Frext acts as an interface
between different, heterogeneous servers or applications.
- application integration
- message end point
Frext, it is easy to change (enhance) data on a field level as
replicated from the sender
to the receiver. This can be implemented in two ways:
of data can mean any of the following:
produced message files; this is possible because
in plain, open, transparent XML-format, so choose any preferred
- the other way is
using an intermediate (stager-) database where
changes are done by triggers on that database. The latter option is
cleaner is a way that only standard functions of Frext are
used. Because both implementations are outside Frext (but facilitated
by Frext through transparent operation), data transformation is an
implementation issue and thus this is implicit functionality of Frext.
- field mappings
Frext can be also used in more a technical way, i.e.
for statistical analysis and auditing of database
usage. Frext implements a pseudo transaction log (Firebird does not
have a transaction log), publicly viewable thus facilitating these
solutions. See architecture.
about application integration and data transformation, see Enterprise
Patterns (Hohpe & Woolf).