美文网首页
三、Slony-I 基础知识

三、Slony-I 基础知识

作者: shark_tear | 来源:发表于2018-06-02 17:06 被阅读0次

    基本概念

    • 集群(cluster)
    • 节点(Node)
    • 复制集合(replication set)
    • 数据原始生产者(Origin)、数据提供者(Providers)和数据订阅者(Subscribers)
    • slon 守护程序(slon daemons)(俄语里的大象,slony表示slon的复数,一群大象)
    • slonik 配置程序(slonik configuration processor)(俄语里的 小象)

    集群
    指的是一组PostgreSQL数据库实例,在集群间发生数据复制。集群在每个Slonik脚本中通过变量cluster_name = cname来指定。
    Slony-I在各个数据库中用集群名称创建一个模式,Slony-I内部使用的函数(包括触发器函数)、表、视图和序列都放在这个模式下。

    节点
    数据库集群里的单个数据库实例,在Slonik脚本里的开头定义,基本格式:
    NODE 1 ADMIN CONNINFO = 'dbname=testdb host=server1 userslony'
    1表示节点1,节点号在集群中唯一。“CONNINFO” 是用来连接PostgreSQL数据库的参数字符串,里面是键值对组成,键值对之间用空格隔开。这个字符串配置好以后,Slony-I不会检查是否正确,只在连接的时候才会判断。

    复制集合
    指的是需要复制的表和序列的集合,目的是把要复制的对象进行分组,然后对不同的分组进行不同的操作。

    数据原始生产者、提供者和订阅者
    节点生产数据时,被称为数据原始生产者,复制原始数据的节点被称为数据订阅者,但是Slony-I支持级联复制,因此当一个复制节点为另外一个复制节点提供数据时,它又被称为数据提供者。即同时具有提供者和订阅者的角色。

    slon守护程序
    集群的每一个节点上都有一个slon守护进程,用于处理复制中的事件,事件分为两类:

    1. 配置事件:做管理配置时,使用slonik程序发出的配置事件(修改或删除配置等)
    2. 同步事件:当源数据库上需要同步的表发生数据变更时,变更的多个事务组合成一个同步事件。

    slonik配置程序
    slonik是一个命令行工具,可以处理slonik命令以及slonik命令组合成的脚本

    Slony-I复制的限制

    限制主要有:

    1. 对大对象的变更不能复制
    2. DDL的变更不能复制
    3. 用户和权限的变更不能复制
      基本上只支持对于表数据的同步(大多数基于触发器的数据同步软件特性),此外Slony-I还支持对于序列的同步。
      对DDL,支持使用命令“SLONIK EXECUTE SCRIPT”来将DDL执行到所有节点上。使用PgAdmin Ⅲ做表结构变更时,可以使用里面的“使用Slony选项来让表变更在Slony集群里执行”。

    对表的要求是:

    1. 要有主键,可以自动识别
    2. 没有主键要有唯一键
    3. 没有主键,要手动指定唯一键,没有唯一键,则不能复制表数据。

    相关文章

      网友评论

          本文标题:三、Slony-I 基础知识

          本文链接:https://www.haomeiwen.com/subject/xnfksftx.html