zoukankan      html  css  js  c++  java
  • PostgreSQL Replication之第四章 设置异步复制(8)

    4.8 处理时间线

    时间线是一个您必须要知道的一个重要的概念,尤其是当您规划一个大型的设置的时候。

    那么,什么是时间线呢?事实上,它是XLOG的一个分支。正常情况下,刚设置的一个数据库实例使用的时间线号为1.我们假设,我们开始复制我们的master数据库到一个slave系统。slave也会在1号时间线处操作。有些时候,您的master可能会出现故障,您的 slave将被提升为一个新的master。这是当一个时间线切换发生时的时间。现在新的master将创建它自己的事务日志。从逻辑上讲,我们想确保它的XLOG不会和其它过去一段时间的XLOG混淆。

    我们如何知道时间线已经更新了呢?让我们一起来看看刚刚转换为master的系统的XLOG目录:

    00000002.history    

    000000020000000000000006

    000000020000000000000007

    000000020000000000000008

    XLOG文件的第一部分是有趣的事情。现在,您可以观察到,总有一个1在我们的文件名中。这不再是这样了。通过检查XLOG第一部分的文件名,您可以看到数字已经随着时间变化了(把一个slave 转换为master之后,我们已经能够到达了2号时间线)。

    值得一提的是您不能简单地传送时间线为5的 XLOG到一个时间已经到达9的数据库实例。这是不可能的,它们不会走在一起。

    在PostgreSQL9.3中,我们能够更加灵活地处理这些时间线。这意味着时间线改变将会放到事务日志中,slave可以很容易地遵循时间线切换。

    [当级联复制和多个slave时,时间线尤其重要。毕竟,如果您的master出现故障,您必须把您的slave连接到一些服务器。]

    4.9 总结

    在本章,您学会了流复制。我们看到了如何创建一个流连接,配置您需要的流复制您可以做什么。我们还简要地讨论了幕后事情是如果工作的。

    记住复制的确可以引起冲突也是非常重要的,这需要适当的修复。

    在接下来的章节,是时候把注意力集中在同步复制了,这是合乎逻辑的下一步。您将学习没有潜在数据丢失的复制数据。

  • 相关阅读:
    UI:UITableView表视图
    UI:页面传值、单例模式传值、属性传值、NSUserDefaults 数据持久化
    UI:UINavigationController、界面通信
    UI:UIScrollView、UIPageControl
    UI:tomcat(说话小程序)、相框动画、UISgmentcontrol、UISwitch
    UI:触摸事件 与 事件的回应
    UI:转自互联网资料
    UI:MVC设计模式
    OC:copy 与 retain 的区别
    UI:数据持久化
  • 原文地址:https://www.cnblogs.com/songyuejie/p/4743566.html
Copyright © 2011-2022 走看看