Replication avec Londiste



Documents pareils
Slony1 2.1 Londiste 3

Haute disponibilité avec PostgreSQL

Synchronisation Mysql (Replication)

La replication dans PostgreSQL

Ora2Pg Performances. (C) 2013 Gilles Darold

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

MYSQLDUMP & ZRM COMMUNITY

Sommaire. Origine du projet Équipe principale, contributeurs et sponsors Principes fondateurs Fonctionnalités Versions La communauté Outils tiers

PostgreSQL, le cœur d un système critique

PostgreSQL. Formations. Catalogue Calendrier... 8

Architectures haute disponibilité avec MySQL. Olivier Olivier DASINI DASINI - -

TP2_1 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3

REMBO Version 2.0. Mathrice 2004 DESCRIPTION MISE EN OEUVRE CONCLUSION.

GESTION DU CYCLE DE VIE. Albert Amar Avant-vente Middleware

Plan. Présentation du logiciel Sympa Architecture La gestion des hôtes virtuels Listes avec inclusion des abonnés Les modules d authentification

FOURNIR UN SERVICE DE BASE DE DONNÉES FLEXIBLE. Database as a Service (DBaaS)

ARCHOS Activity Tracker

PRODUCTS LIST (updated 11th January 2010)

Réplication des données

Utilisation du BDE pour la maintenance des fichiers DBF de l'application TopoCad:

Cloud Computing Maîtrisez la plate-forme AWS - Amazon Web Services

Exploiter les statistiques d utilisation de SQL Server 2008 R2 Reporting Services

Configurer la supervision pour une base MS SQL Server Viadéis Services

Procédure d'installation de PostgreSQL pour Windows

MOBILITE. Datasheet version 3.0

Installation de SQL Server Reporting Services avec l intégration dans un site Windows SharePoint Services V3

Présentation du projet

ADMINISTRATION EXADATA

Nuxeo 5.4 : les nouveautés

Maarch Framework 3 - Maarch. Tests de charge. Professional Services. 11, bd du Sud Est Nanterre

Travail de diplôme 2011 Business Intelligence Open Source SpagoBI/Talend Résumé

Veeam Backup & Replication v6

sur ce site :

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

Tungsten: une implémentation du futur clustering de PostgreSQL

Master Exploration Informatique des données DataWareHouse

Notre Catalogue des Formations IT / 2015

Sommaire. La haute-disponibilité. L'offre OpenSource. Les systèmes tiers. MySQL

Gestion de clusters de calcul avec Rocks

Introduction aux SGBDR

contact@nqicorp.com - Web :

ALOHA LOAD BALANCER MISE EN ŒUVRE DU SSL FRONTEND

Département Génie Informatique

BIRT (Business Intelligence and Reporting Tools)

Client windows Nagios Event Log

TP LINUX Travaux avec Debian ETCH

Installation et configuration du logiciel BauBit

TP2 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3

EXALOGIC ELASTIC CLOUD MANAGEMENT

THE FLASH REVOLUTION IS RIGHT NOW. Pure Storage France Contact : france@purestorage.com Pure Storage, Inc. 1

2 Serveurs OLAP et introduction au Data Mining

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

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

ASUS WebStorage Guide d utilisation

Serveur DNS et DHCP couplé à LDAP Debian GNU/Linux

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

Créer un rapport pour Reporting Services

WDpStats Procédure d installation

A2I. Site Web de l association des ingénieurs INSA de Lyon ESPACE EMPLOI

eps Network Services Alarmes IHM

SQL2005, la migration Atelier 316

Jean-François Boulicaut & Mohand-Saïd Hacid

Enterprise Intégration

HSCS 6.4 : mieux appréhender la gestion du stockage en environnement VMware et service de fichiers HNAS Laurent Bartoletti Product Marketing Manager

Gestion du projet pour qu'il soit pérenne et collaboratif

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux


Démos Reporting Services Migration vers SQL2008

Synerway - Agent SQL Server

MF-Test. Les tests de non-régression de vos applications mainframe

NACIRI Mehdi. Rapport de stage : Mise en place d un moyen pour anticiper les pannes des serveurs de l IUT. Promotion BTS SIO Option SISR

Visual Paradigm Contraintes inter-associations

Hadoop, les clés du succès

Instructions Mozilla Thunderbird Page 1

MySQL - Réplication. Fichiers de relais et de statut de la réplication. Mise en place de la réplication

PHP. Performances. Audit et optimisation LAMP. Julien Pauli. Cyril Pierre de Geyer. Guillaume Plessis. Préface d Armel Fauveau

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

Procédure d installation de la solution Central WiFI Manager CWM

ArcGIS 10.1 for Server

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

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

Sendmail milter/greylisting

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

De EnvOLE 1.5 à EnvOLE 2. Document pour l administrateur

Systèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche

Haute-disponibilité et bases de données

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

Hudson Serveur d Intégration Continue. Adrien Lecharpentier IR3 Ingénieurs2000, Université de Marne la Vallée

Frequently Asked Questions

Fiche Technique Windows Azure

Microsoft Dynamics CRM 4.0

SWISS ORACLE US ER GRO UP. Newsletter 5/2014 Sonderausgabe. OBIF DB licensing with VMware Delphix 12c: SQL Plan / Security Features

Fully Automated Nagios

Préparation d un serveur Apache pour Zend Framework

Sommaire. Etablir une connexion avec une base de données distante sur PostGreSQL

Procédure d Installation et de mise à jour du client CAN-8 32 bits

CENTRE CLIENTÈLE DE LA POSTE CH AG SERVICES EN LIGNE CREER LES CENTRES DE COUTS

Les Utilisateurs dans SharePoint

L Information en Temp Réel

Transcription:

Replication avec Londiste Directeur technique de Fotolia, banque d'images libres de droits Postgresql Base de données principale: Environ 150 GB de données Dans 150 tables La plus grosse table: 22 millions d'enregistrements, 12 GB Choix de londiste Écrit en python, donc compréhensible et maintenable Utilisation future d'autres parties de skytools, comme pgq, logutriga, cube_dispatcher,...... par rapport à slony Marre d'avoir des fichiers de config à recommencer de comprendre à chaque fois Envie de tester de nouvelles solutions

Utilisations Migration 8.1 vers 8.3, en mai 2008 Postgresql Migration la plus rapide possible, en s'embêtant le moins Volonté d'avoir la coupure du site la plus courte Pas possible de passer par un pg_dump/pg_restore, beaucoup trop long pour 120 GB de données Serveurs 'slaves' utilisé en lecture uniquement Pour décharger le serveur principal Statistiques Business intelligence Serveur de test Tests de requêtes, de partitionnement, etc... Peut être supprimé et réinstallé facilement

Migration 8.1 vers 8.3, préparation Lecture des release notes de la 8.3 Installation du serveur 8.3 Mise aux normes de l'applicatif pour la 8.3 (cast essentiellement) Choix de londiste Installation de londiste sur les deux serveurs, du provider sur la 8.1 et du subscriber sur la 8.3 Ajout des tables et des séquences au provider

Migration 8.1 vers 8.3, synchro et tests Ajout des tables et des séquences au subscriber Ne pas oublier de créer les index sur les tables (peut se faire après la copie) Lancement de la synchronisation Aucun problème rencontré Copie totale en moins de 24 heures, création des index incluse La synchronisation est effective Tests de requêtes sur la 8.3, en lecture seule évidemment

Migration 8.1 vers 8.3, fin Mise en maintenance du site, page d'attente affichée aux visiteurs Coupure de la 8.1, coupure réplication Changement applicatif pour la connexion à la base de données principale Tests privés Réouverture du site

Conclusion et questions La coupure du site aura alors duré moins d'une heure L'essentiel dans les tests applicatifs après le changement de connexion Où me joindre: ludovic@fotolia.com luddic@gmail.com Skype: ludoviclevesque Physiquement en Seine et Marne Ou bien dans un resto/bar sur Paris... Crédits icônes: Sergiy Timashov, http://fr.fotolia.com/id/4536653

Monitoring & maintenance Nagios plugin Basé sur pgq.get_consumer_info(); (postgres@fo-db4:5432) [fotolia] # select consumer_name, EXTRACT(second from lag) from pgq.get_consumer_info(); consumer_name date_part ------------------------------+----------- londiste_db4_db3_replication 1.60188 londiste_db4_db5_replication 0.597607 (2 rows) Vérification de la synchro Fait un COUNT() sur les deux serveurs après avoir synchronisé les données /usr/bin/python./bin/londiste.py etc/londiste db4 db5.ini compare $TABLE /usr/bin/python./bin/londiste.py etc/londiste-db4-db5.ini compare content 2008-09-17 00:26:36,032 29693 INFO Locking public.content 2008-09-17 00:26:36,033 29693 INFO Syncing public.content 2008-09-17 00:26:38,039 29693 INFO Counting public.content 2008-09-17 00:26:41,515 29693 INFO srcdb: res = 9386928 2008-09-17 00:26:43,507 29693 INFO dstdb: res = 9386928

Installation de londiste Récupération des sources https://developer.skype.com/skypegarage/dbprojects/skytools/londiste Compilation, création de.deb si voulues Installation Création des fichiers de config Pour pgqadm Pour chaque réplication Installation et lancement du ticker /usr/bin/python./bin/pgqadm.py install /usr/bin/python./bin/pgqadm.py d etc/ticker.ini ticker Installation et lancement de londiste /usr/bin/python./bin/londiste.py etc/londiste db4 db5.ini provider install /usr/bin/python./bin/londiste.py etc/londiste db4 db5.ini subscriber install /usr/bin/python./bin/londiste.py etc/londiste db4 db5.ini replay d Création des tables, londiste ne le faisant pas tout seul Ajout des tables et des séquences à la réplication

Ajout d'une replication Ajout des subscribers /usr/bin/python./bin/londiste.py etc/londiste db4 db5.ini subscriber install Ajout des tables souhaitées Création de la table sur le subscriber Ajout au provider (seulement si elle n'est pas encore déclarée comme répliquée) /usr/bin/python./bin/londiste.py etc/londiste db4 db5.ini provider add $TABLE Ajout au subscriber /usr/bin/python./bin/londiste.py etc/londiste db4 db5.ini subscriber add $TABLE On attend la copie des données Commandes utiles Liste les tables disponibles sur le provider non répliqué sur le subscriber /usr/bin/python./bin/londiste.py etc/londiste db4 db5.ini subscriber missing Check la structure des tables du suscriber par rapport au provider /usr/bin/python./bin/londiste.py etc/londiste db4 db5.ini subscriber check

etc/ticker.ini [pgqadm] job_name = pgqadm_fotolia_db4 db = dbname=fotolia user=postgres host=127.0.0.1 port=5432 # how often to run maintenance [seconds] maint_delay = 600 # how often to check for activity [seconds] loop_delay = 0.1 logfile = /usr/local/skytools 2.1.7/log/%(job_name)s.log pidfile = /usr/local/skytools 2.1.7/pid/%(job_name)s.pid

etc/londiste db4 db5.ini [londiste] job_name = londiste_db4_db5_replication provider_db = dbname=fotolia user=postgres port=5432 host=fo db4 subscriber_db = dbname=fotolia user=postgres port=5433 host=fo db5 # it will be used as sql ident so no dots/spaces pgq_queue_name = londiste.db4_replika #logfile = /usr/local/skytools 2.1.7/log/%(job_name)s.log pidfile = /usr/local/skytools 2.1.7/pid/%(job_name)s.pid

etc/londiste db4 db3.ini [londiste] job_name = londiste_db4_db3_replication provider_db = dbname=fotolia user=postgres port=5432 host=fo db4 subscriber_db = dbname=fotolia user=postgres port=5433 host=fo db3 # it will be used as sql ident so no dots/spaces pgq_queue_name = londiste.db4_replika #logfile = /usr/local/skytools 2.1.7/log/%(job_name)s.log pidfile = /usr/local/skytools 2.1.7/pid/%(job_name)s.pid