哪个数据库对复制有最好的支持 [英] Which database has the best support for replication

查看:72
本文介绍了哪个数据库对复制有最好的支持的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个相当好的感觉什么MySQL复制可以做。我想知道什么其他数据库支持复制,以及它们如何与MySQL和其他人比较?

I have a fairly good feel for what MySQL replication can do. I'm wondering what other databases support replication, and how they compare to MySQL and others?

我会有一些问题:


  1. 复制是内置的还是附加的/插件?

  2. 复制如何工作(高级)? MySQL提供基于语句的复制(和5.1中的基于行的复制)。我对其他数据库如何比较感兴趣。什么是通过电线运输?

  3. 很容易检查主人和奴隶之间的一致性吗?

  4. 如何轻松地获得失败?副本与主服务器同步?

  5. 性能?我讨厌MySQL复制的一件事是它是单线程的,并且副本经常遇到麻烦,因为主服务器可以并行运行许多更新,但复制副本必须连续运行它们。

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

  1. Is replication built in, or an add-on/plugin?
  2. How does the replication work (high-level)? MySQL provides statement-based replication (and row-based replication in 5.1). I'm interested in how other databases compare. What gets shipped over the wire? How do changes get applied to the replicas?
  3. Is it easy to check consistency between master and slaves?
  4. How easy is it to get a failed replica back in sync with the master?
  5. Performance? One thing I hate about MySQL replication is that it's single-threaded, and replicas often have trouble keeping up, since the master can be running many updates in parallel, but the replicas have to run them serially. Are there any gotchas like this in other databases?
  6. Any other interesting features...


推荐答案

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

MySQL's replication is weak inasmuch as one needs to sacrifice other functionality to get full master/master support (due to the restriction on supported backends).

PostgreSQL的复制是弱的,因为只有主/备支持内置(使用日志传送);更强大的解决方案(如Slony或Londiste)需要附加功能。归档日志段通过线路发送,这是用于确保独立数据库在不干净启动时处于工作,一致状态的相同记录。这是我目前使用的,我们有重新同步(和设置和其他功能)完全自动化。这些方法都不是完全同步的。从PostgreSQL 8.5开始将提供更完整的支持。日志传送不允许数据库脱离同步,因此不需要进程来测试同步状态;使两个数据库恢复同步包括在主机上设置备份标志,rsyncing到从机(数据库仍然运行;这是安全的),并且取消设置备份标志(并重新启动从属进程)备份过程可用;我的商店有这个过程(像所有其他管理任务)自动化。性能是一个没有问题的,因为除了做其他工作之外,master需要在内部重放日志段;

PostgreSQL's replication is weak inasmuch as only master/standby is supported built-in (using log shipping); more powerful solutions (such as Slony or Londiste) require add-on functionality. Archive log segments are shipped over the wire, which are the same records used to make sure that a standalone database is in working, consistent state on unclean startup. This is what I'm using presently, and we have resynchronization (and setup, and other functionality) fully automated. None of these approaches are fully synchronous. More complete support will be built in as of PostgreSQL 8.5. Log shipping does not allow databases to come out of synchronization, so there is no need for processes to test the synchronized status; bringing the two databases back into sync involves setting the backup flag on the master, rsyncing to the slave (with the database still runnning; this is safe), and unsetting the backup flag (and restarting the slave process) with the archive logs generated during the backup process available; my shop has this process (like all other administration tasks) automated. Performance is a nonissue, since the master has to replay the log segments internally anyhow in addition to doing other work; thus, the slaves will always be under less load than the master.

Oracle的RAC(这是不正确的复制,因为只有一个存储后端,但你有多个前端共享负载,并且可以将冗余构建到共享存储后端本身中,因此这里值得一提)是比其他解决方案更全面的多主方法,但是非常 昂贵。数据库内容不是通过电线运送;而是存储到共享后端,所有涉及的系统都可以访问。因为只有一个后端,所以系统不能同步。

Oracle's RAC (which isn't properly replication, as there's only one storage backend -- but you have multiple frontends sharing the load, and can build redundancy into that shared storage backend itself, so it's worthy of mention here) is a multi-master approach far more comprehensive than other solutions, but is extremely expensive. Database contents aren't "shipped over the wire"; instead, they're stored to the shared backend, which all the systems involved can access. Because there is only one backend, the systems cannot come out of sync.

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

Continuent offers a third-party solution which does fully synchronous statement-level replication with support for all three of the above databases; however, the commercially supported version of their product isn't particularly cheap (though vastly less expensive. Last time I administered it, Continuent's solution required manual intervention for bringing a cluster back into sync.

这篇关于哪个数据库对复制有最好的支持的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆