Replication::Recall::DBServer

Database replication server
Download

Replication::Recall::DBServer Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Publisher Name:
  • Ashish Gulhati
  • Publisher web site:
  • http://search.cpan.org/~agul/

Replication::Recall::DBServer Tags


Replication::Recall::DBServer Description

Database replication server Replication::Recall::DBServer is a Perl module that interfaces to Recall, a data replication library written by Eric Newton, to enable the setup of replicated database servers.Recall is based on a data replication algorithm developed at DEC's SRC for the Echo filesystem. It implements a fast protocol with low network overhead and guranteed fault tolerance as long as n of 2n-1 replica nodes are up.The Replication::Recall::DBServer module provides the functionality needed to set up replication servers to be accessed through the DBD::Recall module.You'll probably need root access, or at least access to restart your database server, to make this work properly. You probably don't want to use the same database server to host databases other than the replicated one because Replication::Recall::DBServer will stop and restart the server during replica recovery.Further - if you want to use Replication::Recall::DBServer with PostgreSQL, you'll definitely have to dedicate an entire PostgreSQL "database system" to the replicated database. This is necessary because PostgreSQL maintains unique object identifiers across an entire database system, which can't be kept consistent across replicas otherwise.It's a good idea to never access or update replicas without going through the replication system, or you may end up with lost or inconsistent data, unless you really know what you're doing.Developer commentsI've only tried Replication::Recall::DBServer with MySQL so far on Debian GNU/Linux. If you get it to work with another database engine or on another operating system, please email me about your experiences so I can include information about your platform in future releases.SYNOPSIS use Replication::Recall::DBServer; my $port = 8500; my $server = new Replication::Recall::DBServer ( Replicas => , DSN => 'DBI:mysql:database=replica1;host=localhost;port=', StopServer => sub { system ('mysqladmin','shutdown') }, StartServer => sub { system ('start-stop-daemon', '--start', '-b', '-x', '/usr/bin/safe_mysqld') }, SyncPath => '/var/lib/mysql/replica1/', SyncCmd => 'ssh -l mysql', Debug => 1 ); unless (fork) { $server->run() } wait(); Requirements: · Perl


Replication::Recall::DBServer Related Software