II.5.5. Transparence
vis-à-vis à la réplication
Afin de réduire la quantité de données
transmises sur le réseau, et améliorer la disponibilité
des données et par conséquent les performances des
requêtes, plusieurs options de réplication peuvent être
envisagées.
II.5.5.1. copy
La commande COPY de SQL*Plus permet de copier des
données entre deux SGBD's. La meilleure utilisation est
d'exécuter cette commande sur la machine où réside la base
de données.La syntaxe est la suivante :
COPY {FROM database | TO database | FROM database TO
database}
{APPEND|CREATE|INSERT|REPLACE} destination_table [(column,
column, column, ...)]
USING query
· database a la syntaxe suivante:
username[/password]@connect_identifier
· APPEND : si la table n'existe pas (CREATE + INSERT)
sinon (INSERT)
· CREATE : si la table n'existe pas (CREATE + INSERT)
sinon (erreur)
· REPLACE : si la table n'existe pas (CREATE + INSERT)
sinon (DROP + CREATE + INSERT)
· INSERT : si la table n'existe pas (ERREUR) sinon
(INSERT)
II.5.5.2. Snapshots
Un snapshot est une copie conforme (cliché) d'une table
(ou plusieurs) située sur une base de donnée du système
distribué. Il permet de diminuer les coûts réseau, en
rendant locales les données situées à distance. Afin
d'assurer la cohérence de données, une mise à jour
régulière et automatique est effectuée à partir du
site d'origine ou MASTER.
Il existe deux types de snapshot : en lecture seule
(read-only) ou mis à jour (updateable).
a. Les read-only Snapshots
: non modifiables à partir du site esclave.
La syntaxe pour la creation de snapshot en lecture seule est
:
CREATE SNAPSHOT nom_snapshot
[REFRESH FAST | COMPLETE | FORCE]
START WITH date_de_debut_de_synchronisation
NEXT date_de_la_prochaine_synchronisation
AS requéte_select;
· FAST: Le mode rapide permet de faire un
rafraîchissement en tenant compte seulement des mises à jour
effectuées sur le site Maître.
Un SNAPSHOT LOG doit être crée pour la table
Maître afin de noter les différents changements subvenus qui
seront répercutés sur le snapshot:
CREATE SNAPSHOT LOG ON nom_de_la_table;
· COMPLETE: à chaque rafraîchissement, toute
la table est transférée.
Ce mode est obligatoire pour les snapshots complexes,
b. Les updateable Snapshots :
Les snapshots de mise à jour peuvent être
directement modifiés. Dans ce cas, les données mises à
jour à leur niveau sont répliquées vers le site Master
lors du processus de rafraîchissement.
La syntaxe pour la creation de updateable snapshot est :
CREATE SNAPSHOT nom_snapshot
[REFRESH FAST | COMPLETE | FORCE]
START WITH date_de_debut_de_synchronisation
NEXT date_de_la_prochaine_synchronisation
ENABLE QUERY REWRITE
AS requéte_select;
|