当前位置:  开发笔记 > 后端 > 正文

哪个数据库对复制具有最佳支持

如何解决《哪个数据库对复制具有最佳支持》经验,为你挑选了2个好方法。

我对MySQL复制可以做的事情有一个相当不错的感觉.我想知道其他数据库支持复制,以及它们与MySQL和其他数据库的比较?

我会遇到的一些问题是:

    是内置复制,还是附加/插件?

    复制如何工作(高级)?MySQL提供基于语句的复制(以及5.1中基于行的复制).我对其他数据库的比较感兴趣.什么通过电线发货?如何将更改应用于副本?

    检查主站和从站之间的一致性是否容易?

    将失败的副本与主服务器同步恢复是多么容易?

    性能?我讨厌MySQL复制的一件事是它是单线程的,并且副本经常无法跟上,因为master可以并行运行许多更新,但副本必须以串行方式运行它们.在其他数据库中有没有这样的问题?

    任何其他有趣的功能......

Charles Duff.. 8

MySQL的复制很弱,因为需要牺牲其他功能来获得完全的主/主支持(由于受支持的后端的限制).

PostgreSQL的复制很弱,因为只有内置支持主/备用(使用日志传送); 更强大的解决方案(如Slony或Londiste)需要附加功能.存档日志段通过线路传送,这些记录与用于确保独立数据库在不干净启动时处于工作,一致状态的记录相同.这就是我目前正在使用的,我们完全自动化了重新同步(和设置,以及其他功能).这些方法都不是完全同步的.从PostgreSQL 8.5开始,将构建更完整的支持.日志传送不允许数据库不同步,因此不需要进程来测试同步状态; 使两个数据库重新同步涉及在主服务器上设置备份标志,rsyncing到slave(数据库仍在运行;这是安全的),并且使用备份过程中生成的存档日志取消设置备份标志(并重新启动从属进程); 我的商店有自动化这个过程(像所有其他管理任务一样).性能是一个非问题,因为除了做其他工作之外,主人必须在内部重播日志段.因此,奴隶的负荷总是低于船长.

Oracle的RAC(没有正确复制,因为只有一个存储后端 - 但是你有多个前端共享负载,并且可以在共享存储后端本身构建冗余,所以这里值得一提)是一个多主机方法远比其他解决方案更全面,但是非常昂贵.数据库内容不是"通过网络发送"; 相反,它们被存储到共享后端,所涉及的所有系统都可以访问该后端.因为只有一个后端,系统不能不同步.

Continuent提供第三方解决方案,可完全同步语句级复制,并支持上述所有三个数据库; 然而,他们产品的商业支持版本并不是特别便宜(虽然价格便宜得多.上次我管理它时,Continuent的解决方案需要手动干预才能使群集恢复同步.



1> Charles Duff..:

MySQL的复制很弱,因为需要牺牲其他功能来获得完全的主/主支持(由于受支持的后端的限制).

PostgreSQL的复制很弱,因为只有内置支持主/备用(使用日志传送); 更强大的解决方案(如Slony或Londiste)需要附加功能.存档日志段通过线路传送,这些记录与用于确保独立数据库在不干净启动时处于工作,一致状态的记录相同.这就是我目前正在使用的,我们完全自动化了重新同步(和设置,以及其他功能).这些方法都不是完全同步的.从PostgreSQL 8.5开始,将构建更完整的支持.日志传送不允许数据库不同步,因此不需要进程来测试同步状态; 使两个数据库重新同步涉及在主服务器上设置备份标志,rsyncing到slave(数据库仍在运行;这是安全的),并且使用备份过程中生成的存档日志取消设置备份标志(并重新启动从属进程); 我的商店有自动化这个过程(像所有其他管理任务一样).性能是一个非问题,因为除了做其他工作之外,主人必须在内部重播日志段.因此,奴隶的负荷总是低于船长.

Oracle的RAC(没有正确复制,因为只有一个存储后端 - 但是你有多个前端共享负载,并且可以在共享存储后端本身构建冗余,所以这里值得一提)是一个多主机方法远比其他解决方案更全面,但是非常昂贵.数据库内容不是"通过网络发送"; 相反,它们被存储到共享后端,所涉及的所有系统都可以访问该后端.因为只有一个后端,系统不能不同步.

Continuent提供第三方解决方案,可完全同步语句级复制,并支持上述所有三个数据库; 然而,他们产品的商业支持版本并不是特别便宜(虽然价格便宜得多.上次我管理它时,Continuent的解决方案需要手动干预才能使群集恢复同步.


昂贵.数据库内容不是"通过网络发送"; 相反,它们被存储到共享后端,所涉及的所有系统都可以访问该后端.因为只有一个后端,系统不能不同步.

2> Philippe Gro..:

我对MS-SQL 2005(发布者)和SQLEXPRESS(订阅者)有一些海外合并复制的经验.以下是我的评论:

1 - 内置复制,还是附加/插件?

内置

2 - 复制如何工作(高级)?

从快照(在订户级别提供静态数据)到事务复制(每个INSERT/DELETE/UPDATE指令在所有服务器上执行)的不同复制方式.合并复制仅复制最终更改(复制期间将立即在同一记录上成功更新).

3 - 检查主站和从站之间的一致性是否容易?

我从未做过的事......

4 - 将失败的副本与主服务器同步恢复是多么容易?

基本的重新同步过程只需双击即可....但如果你有4Go数据重新初始化64 Kb连接,除非你自定义它,否则它将是一个漫长的过程.

5 - 表现?

那么......你当然会遇到瓶颈,包括你的连接性能,数据量,或者最后你的服务器性能.在我的配置中,用户只写入订阅者,这些订阅者都使用main database = publisher进行复制.然后,该服务器永远不会被最终用户所吸引,并且其CPU严格专用于数据复制(到多个服务器)和备份.订阅者专注于客户端和一个复制(发布者),这为最终用户的数据可用性提供了非常有趣的结果.发布者和订阅者之间的复制可以一起启动.

6 - 任何其他有趣的功能......

有一些预期,可以继续开发数据库,​​甚至不用停止复制过程....表(以间接方式),字段和规则可以添加并复制到您的订阅者.

主发布者和​​多个嫌疑人的配置非常便宜(与其他人相比......),因为即使在运行合并或事务复制时,您也可以在suscriber一侧使用免费的SQLEXPRESS

推荐阅读
mobiledu2402851173
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有