![]() |
1
3
MySQL的NDB集群将做到这一点。但这远不容易建立和有很多gotchas。 而且,它的性能通常相当糟糕,它将数据保存在内存中(是的,我知道它们听起来很矛盾)。 本质上,更新需要获取整个集群中的分布式锁(或者至少在保存这些表的存储节点组中) 这不容易管理,但您可以做一些级别的热添加。 除非您需要非常快速的故障转移和一致性,否则我建议您不要这样做。 我建议忽略multi-master,改用ha-mysql(例如innodb),这很容易设置,并且在典型的30秒以下的故障转移时间下工作得很好。这是一个主从系统,从系统甚至不能进行读取(但如果不需要它们完全更新,您可以通过复制添加读取从系统) |
![]() |
2
1
关键值存储不一定是容错的。它们主要是性能工具。只有当数据存储在多个服务器上时,才存在任何形式的容错。如果只是为了安全,减少单点故障,最简单的解决方案可能是设置镜像解决方案,在该解决方案中,您有一个只跟踪主数据库的镜像。当主控系统以某种方式出现故障时,您可以快速切换(希望是自动切换)。 这一点的复杂性要低得多,因为在正常运行期间不需要一致性管理。镜像是只读的,只跟踪主数据库。当主控系统发生故障时,后视镜切换到主控系统,链路断开。在主控形状恢复后,它们之间的状态不一致,您必须确保从现在充当主控形状的镜像中更新原始主控形状。大多数数据库系统都可以处理这种情况,如果您没有疯狂的正常运行时间要求或非常重的负载,那么这是最实用的解决方案。 |
![]() |
3
0
我认为甲骨文已经确定了这个概念。但是,如果你是一个没有瑞士银行账户的凡人,那么也许你应该调查一下 MySQL's NDB Cluster 。 |
![]() |
CuriousMind · 在数据库设计中说父子表不对吗? 7 年前 |
![]() |
AndreaNobili · 为什么我不能在一个日期范围内获得记录? 7 年前 |
![]() |
Prashant · 如何在Postgresql中建立父子表之间的关系 7 年前 |
![]() |
Sankar · postgresql数组ALLOF和ANYOF条件 7 年前 |