Synchroniser ses données. C est plus pas facile que c est compliqué!



Documents pareils
SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio

Notes de cours : bases de données distribuées et repliquées

SQL Server Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos)

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Développement de base de données Microsoft SQL Server Durée : 5 jours Référence : DPSQL12. Contenu

SQL Server 2012 Administrez une base de données : Exercices et corrigés

Arian Papillon

Base de données II Module 3b

ORACLE DATA INTEGRATOR ENTERPRISE EDITION - ODI EE

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

Réplication logique avec PostgreSQL 9.4

TP Contraintes - Triggers

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Le Langage SQL version Oracle

TP2_1 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3

Bases de Données Avancées

Intégrité des données

Gestion des utilisateurs, des groupes et des rôles dans SQL Server 2008

Cours Bases de données

GESTION ET OPTIMISATION DES ENVIRONNEMENTS MULTI BASES DE DONNÉES

Introduction. Introduction. Haute disponibilité et capacité à monter en charge

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

CATALOGUE DE FORMATIONS BUSINESS INTELLIGENCE. Edition 2012

Réplication des données

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

Devoir Data WareHouse

Les journées SQL Server 2013

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Bases de Données Réparties Concepts et Techniques. Matthieu Exbrayat ULP Strasbourg - Décembre 2007

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

COMPARAISON DES FONCTIONNALITÉS de MS SQL Server 2012 et PostGreSQL 9.2

PHP. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

EAI urbanisation comment réussir?

Modélisation et Gestion des bases de données avec mysql workbench

CREATION WEB DYNAMIQUE

Cours 6. Sécurisation d un SGBD. DBA - M1ASR - Université Evry 1

Cours de SQL SERVER 2005 SQL SERVER 2005

Les déclencheurs. Version 1.0. Grégory CASANOVA

CATALOGUE DE FORMATIONS BUSINESS INTELLIGENCE. Edition 2014

Fonctionnalités des différentes éditions de SQL Server 2012

Module Communication - Messagerie V6. Infostance. Messagerie

La Continuité d Activité

Installation d un groupe de disponibilité avec SQL Server 2012 AlwaysOn (CTP3) qsjdlkqjs

SQL Server Database Engine : Part1. Modes de récupération / Sauvegardes / Checkpoint

Bases de Données Réparties

TP2 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3

Configuration de SQL server 2005 pour la réplication

Qui est Sybase ianywhere?

La réplication sous SQL Server 2005

Thibault Denizet. Introduction à SSIS

SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...)

Catalogue Formation «Vanilla»

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Technologie data distribution Cas d usage.

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication

Auto-évaluation Oracle: cours de base

Les Géodatabases en 9.2

1200 Incendies par an dans des «Data Center»!! Et vous. Moi j ai Data Guard 10g!!!!

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Continuité d activité : le choix des armes

SQL Historique

Historisation des données

Tutorial sur SQL Server 2000

Adonya Sarl Organisme de Formation Professionnelle 75 Avenue Niel PARIS, France

2011 Hakim Benameurlaine 1

Bases de données et sites WEB

Planifier les rapports d

Master Exploration Informatique des données DataWareHouse

NFP111 Systèmes et Applications Réparties

Description de SQL SERVER. historique

Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle

Synchronisation Mysql (Replication)

BTS/CGO P10 SYSTEME INFORMATION Année

SharePoint et la continuité de services

Urbanisme du Système d Information et EAI

Business Intelligence avec SQL Server 2012 Maîtrisez les concepts et réalisez un système décisionnel

Connecteur bi directionnel SAGE MAGENTO

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques

Date: 22/10/12 Version: 3.2

WEA Un Gérant d'objets Persistants pour des environnements distribués

Introduction à la B.I. Avec SQL Server 2008

Bases de données et sites WEB Licence d informatique LI345

Messagerie & Groupeware. augmentez l expertise de votre capital humain

Module pour la solution e-commerce Magento

TP Bases de données réparties

Si la demande d arrêt est réalisée alors que l environnement est en mode *NOIO, l arrêt ne sera réalisé qu après le passage en mode *IO

SQL Server 2005 Quelle édition et quel mode de licence choisir?

Bases de Données relationnelles et leurs systèmes de Gestion

Intégration de systèmes

Business Intelligence avec SQL Server 2014 Maîtrisez les concepts et réalisez un système décisionnel

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

Introduction à. Oracle Application Express

Programme cours ProConcept ERP

HADOOP ET SON ÉCOSYSTÈME

Gestion de base de données

Sauvegarde d une base de données

Transcription:

Synchroniser ses données C est plus pas facile que c est compliqué!

Merci à nos sponsors

Merci à nos volontaires

Arian Papillon a.papillon@datafly.fr http://www.datafly.fr http://blog.datafly.pro http://mssql.fr

Synchroniser ses données Synchronisons nos montres : nous avons une heure pour parcourir un sujet qui mérite au moins la journée Pourquoi et comment Ce qu il y a sous le capot Change Tracking Change Data Capture Service Broker.. Et la réplication?

Pourquoi faire Avoir des données identiques dans plusieurs tables/bases/instances/serveurs Datawarehouses et bases de reporting Bases de sites web Applications multiples Données distribuées Objectif : synchronisation incrémentielle Répercuter seulement ce qui a changé

Quelles sont nos contraintes et besoins Consommation des réplicas : Base de secours seulement pour HA/DR? Lecture seulement? Mise à jour possible (des mêmes lignes) et gestion des conflits? (synchronisation bi-directionnelle) Hétérogénéïté Structures différentes? Réplicas non SQL Server? Fréquence de synchronisation Périodique ou au fil de l eau? Quelle édition de SQL Server?

Comment conserver ses données synchronisées? Après la première synchronisation : Identifier les modifications Se servir des dates de mise à jour Historiser dans une table Capturer les transactions dans le journal Transmettre un message au destinataire Appliquer les modifications Avec TSQL (insert, update, delete) Avec SSIS Avec une tâche de réplication (TSQL aussi) Traiter un message reçu

Ce qu il y a dans la boîte Change Tracking : suivi des modifications Change Data Capture : capture de données modifiées Service Broker : envoi de messages entre services Réplication : boîte à outils avec plusieurs méthodes de synchronisation (mais ce n est pas pour aujourd hui, faute de temps) SSIS : l ETL pour le transport + Log Shipping, Database Mirroring, AllwaysOn : pour la haute disponibilité et au delà

Suivi intégré au moteur : finis les triggers de journalisation Change Tracking

Change Tracking (CT) suivi des modifications Permet aux applications d identifier quelles lignes d une table ont été mises à jour (par insert, update ou delete) depuis la dernière synchronisation. Ne conserve pas les différentes versions d une même ligne Tracke la PRIMARY KEY, la table surveillée doit en avoir une Suivi SYNCHRONE : l alimentation de la table de tracking fait partie du plan d exécution Scénario : synchronisation périodique, vers SQL Server ou non Editions : disponible dès l édition standard Sélection et transport des données avec TSQL ou SSIS

Demo

CT : Mise en œuvre Activer le CT sur la base ALTER DATABASE MyDB SET CHANGE_TRACKING= ON ( CHANGE_RETENTION = 2 DAYS, AUTO_CLEANUP = ON ) Activer le CT sur chaque table concernée ALTER TABLE MyTable ENABLE CHANGE_TRACKING WITH (TRACK_COLUMNS_UPDATED = ON) Conserver le numéro de version actuelle SELECT @s = CHANGE_TRACKING_CURRENT_VERSION() Extraire les lignes modifiées depuis ce moment SELECT * FROM CHANGETABLE(CHANGES MyTable, @s) CT Tester les colonnes modifiées avec CHANGE_TRACKING_IS_COLUMN_IN_MASK()

Capturer dans le journal de transactions : comme la réplication transactionnelle Change Data Capture

Change Data Capture (CDC) : capture des données modifiées Capture toutes les activités de mise à jour d une table (insert, update, delete) et fournit l historique détaillé des changements aux applications. Conserve les différentes versions Suivi ASYNCHRONE par un job de «log reader» exécuté par l Agent SQL Scénario : synchronisation périodique, vers SQL Server ou non Editions : disponible en édition Entreprise (et développeur ou évaluation) Sélection et transport des données par TSQL ou SSIS : composants SSIS spécifiques

Demo TSQL

CDC : mise en oeuvre Activation du CDC : Dans la base : EXEC sys.sp_cdc_enable_db Sur chaque table : EXEC sys.sp_cdc_enable_table @source_schema = N'dbo', @source_name = N MyTable', @role_name = NULL, Localiser les lsn de début et de fin sys.fn_cdc_get_min_lsn('cdcinstance') sys.fn_cdc_get_max_lsn() sys.fn_cdc_map_time_to_lsn('largest less than or equal',@datevar) Extraire les modifications cdc.fn_cdc_get_all_changes_cdcinstance(@from_lsn, @to_lsn, ' ') cdc.fn_cdc_get_net_changes_cdcinstance(@from_lsn, @to_lsn, ' ')

CDC : composants SSIS CDC Control Task : gestion de l état de synchronisation et des plages de LSN ILSTART, ILEND, ILUPDATE TFSTART, TFEND, TFREDO ERROR CDC Source : extrait les données du CDC CDC Splitter : sépare les données modifiées en 3 flux : INSERT, DELETE et UPDATE

Demo Avec SSIS

3 updates et 2 inserts... Communiquer par messages entre bases de données Service Broker

Service Broker Middleware orienté message (MOM) : outil de messagerie de base de données permettant de gérer des flux de données de manière asynchrone entre bases ou serveurs SQL Server. Déjà utilisé en interne par Database Mail, Query Notification et les notifications d évènements Utilisable pour toutes sortes de scénarios de données distribuées Scénario : synchronisation de bases de données SQL Server différentes, via des messages transmis entre bases ou instances Editions : disponible dès l édition standard Mise en œuvre avec TSQL

Fonctionnement de Service Broker

Demo

Mise en oeuvre Activer : ALTER DATABASE SET ENABLE_BROKER Créer les objets : message types, contracts, queues, services, endpoints, routes Initialiser la conversation et envoyer : BEGIN DIALOG CONVERSATION FROM SERVICE TO SERVICE SEND ON CONVERSATION Recevoir : RECEIVE Terminer la conversation : END CONVERSATION

Plusieurs méthodes pour synchroniser ses données Et la réplication?

La réplication Un ensemble de technologies pour copier, distribuer, synchroniser des données (articles) entre bases Basées sur un modèle à 3 rôles : éditeur / distributeur / abonné Utilise des agents de réplication (exécutables lancés par l agent SQL Server Configurable par assistant (ou en TSQL) Editions : disponible en édition Standard (sauf la réplication peer to peer) Scénarios : synchronisation périodique ou au fil de l eau (transactionnelle et fusion) vers SQL Server ou autres plates-formes prises en charge* * La réplication hétérogène (depuis Oracle ou vers un abonné non SQL Server) est une fonctionnalité dépréciée et sera supprimée dans une prochaine version!

Ce qu offre la réplication 3 types de réplication Snapshot : basée sur une copie des données (bcp) pour une première synchro ou un annule et remplace Transactionnelle : basée sur un log reader, pour maintenir synchrones des réplicas essentiellement utilisés en lecture Fusion (merge) : basée sur des triggers et des tables de tracking, pour des scénarios de synchro bi-directionnelle avec une prise en charge des conflits

Réplication transactionnelle

Réplication de fusion (merge)

Choix d une solution de synchronisation Mise à jour sur les réplicas et Réplicas Synchro au fil de Edition Standard gestion des conflits hétérogènes l'eau Change Tracking non oui - via ETL non oui Change Data Capture non oui - via ETL non non Service Broker non non oui oui Réplication snapshot Updatable subscriptions déprécié non oui Réplication transactionnelle Updatable subscriptions déprécié oui sauf peer to peer Réplication fusion oui non oui oui

Questions

http://guss.pro/sqlsat Et en plus on peut gagner des cadeaux