Re: location transparency / replication

From: Don Vick <dvick_at_lanier.com>
Date: Fri, 16 Dec 1994 14:46:08 GMT
Message-ID: <D0wrox.KG3_at_lanier.com>


In article <787358255snx_at_kbigate.stgt.sub.org>, Willy Klotz <willyk_at_kbigate.stgt.sub.org> wrote:
>If I have a distributed database (across 2 or more nodes) and want to
>implement location transparency (so that the application does not
>know where the tables actually are stored), I can do this defining
>synonyms pointing to the different oracle instances.
>
>Is it possible to use replicated tables in this environment ? And to
>do inserts / updates on the tables without modification of the
>application ?
>
>What I want to do is something like this:
>
>Database A Database B
>
>Table_ONE ---replicated to ---> TABLE_ONE
>
> ^ I
> I reads
> I I
> I V
> +-------< --- updates ------ Application
>

This is possible with some caveats:

If you mean you want a _physical_ copy of Table_ONE in Database B, you would have to consider the propagation time of your changes to DatabaseA's copy of Table_ONE back into your copy in DatabaseB. This may or may not be a problem for your application.

If Table_ONE in DatabaseB is only a VIEW or synonym of the real table, using database links, then you can use update, insert, etc against either the DatabaseB view, or the DatabaseA table. Here you may have to depend on two-phase commit working properly to ensure changes made by the remote database are commited properly. You may also have performance problems using the database link. Again, it depends on the needs of your application.

Another variation (and possibly the preferred one) is to use either a physical copy, a view, or a synonym in DatabaseB for RETRIEVAL, and use procedure calls to DatabaseA for the updates.



Donald E. Vick (dvick_at_lanier.com, dvick_at_crl.com) Voice: (404) 493-2194 Fax: (404) 493-2399 Received on Fri Dec 16 1994 - 15:46:08 CET

Original text of this message