【问题标题】:Geographical redundency for database: What are the options?数据库的地理冗余:有哪些选项?
【发布时间】:2011-12-14 08:02:26
【问题描述】:

我们需要在我们的项目中提供地理冗余,它具有海量数据库(2-20 TB,具体取决于特定客户的要求)。我们有来自网络的持续数据流入(例如每小时 1-20 GB)。

目前,我们在 RHEL (Linux) 集群上使用带有 J2EE AppServer 的 Oracle(无 RAC)和用于存储的 SAN 磁盘,简而言之,一个 DB,多个 AppServ。

我们需要的是地理冗余。需求可以概括为,只要一切正常,我们产品的 2 个独立安装服务于 2 个不同的网络(每个服务一个)。当其中一个倒下时,另一个应该同时为两者服务。

补充说明:

  • 我们需要一个支持 SQL 的关系数据库,因为仓储是基本需求之一。
  • 不希望使用托管/云服务,例如:http://aws.amazon.com/vpc/,因为我们的客户可能对安全/隐私非常挑剔(即使托管/云服务提供这些服务)。

打折应用程序逻辑有哪些选项仅用于复制我的数据? STFW 仅得出以下结果(由于我不是 DBA 专家,因此我的解释可能是错误的):

  • 令人惊讶的是,我找不到 Oracle 的地理冗余产品。 Oracle RAC 用于本地集群(更多的是水平可扩展性而不是冗余)。
  • MySQL seems to support 仅活动备用,当分布时。我需要主动-主动。
  • Guident 似乎提供了基于某些 Oracle 产品的服务,但没有产品。

谢谢——卡什亚普

【问题讨论】:

    标签: database distributed distributed-computing redundancy distributed-system


    【解决方案1】:

    我想MySQL cluster 应该适合你。 其他多主解决方案可以找到here

    【讨论】:

    • 没有得到我想要的一切,但你是唯一能回答的人......谢谢...... :)
    【解决方案2】:

    在考虑使用复制的地理分布式数据库时,我们必须考虑在首选 A(可用性)或 C(一致性)(存在 WAN 分区)或 L(延迟)或 C(一致性)之间进行权衡(没有 WAN 分区)。

    现在,如果您的应用程序可以容忍具有强大 WAN 骨干网的中等延迟,则您应该寻求一致性(这是为 dbms 设计的),否则如果应用程序可以在 WAN 中偶尔过时和定期断开连接,则寻求可用性。

    接下来是如何确保应用的一致性、可用性和延迟要求的挑战。我所理解的复制 dbms 中的一致性来自同步通信,其中提供可用性主要降低一致性属性(NoSQL 系统现在提供的)。但是,确保此类 dbms 的延迟要求对于数据库和系统研究人员来说仍然是一个悬而未决的问题(我猜!!)。

    阅读更多http://danweinreb.org/blog/improving-the-pacelc-taxonomy

    我最喜欢看到这类问题出现在整个社区面前。这些是真实的需求,我们仍然缺乏合适的解决方案。从像 Oracle 这样的系统迁移到新的或开放的架构并不是一个容易做出的决定。看起来像谷歌这样的巨头仍在寻找正确的答案。见http://research.google.com/archive/spanner.html

    【讨论】:

    • 感谢您抽出宝贵时间。有用的提示,但正如你所说的有点理论。我确实研究了 BASE 和 ACID 的基础知识(过去 8-10 年来一直在使用分布式系统)等,但底线是你必须想出实际的解决方案,理论只会有帮助。与本地分发(有 RAC 等开箱即用选项)不同,地域分发似乎没有可用的通用解决方案。虽然不知道 abt spanner,但听起来像是一个有趣的选择,除了我的关系/仓储需求。
    猜你喜欢
    • 2015-01-23
    • 1970-01-01
    • 2017-02-27
    • 1970-01-01
    • 2010-09-28
    • 1970-01-01
    • 1970-01-01
    • 2011-01-17
    • 1970-01-01
    相关资源
    最近更新 更多