2

我目前支持的系统位于中国的数据中心内,但由于防火墙,在中国以外的地方性能很差。我们正在 AWS 中建立数据中心,需要复制数据。我们的应用程序是为旅行者设计的,因此用户可以在几小时内轻松访问中国境内和境外一次的系统。要求:

  • 近实时(但非实时)数据一致性
  • 处理分区的能力,其中网络可能一次关闭几分钟
  • 处理高延迟的能力,例如 300-500ms
  • 处理失败请求的能力,其中一定比例的请求将挂起或被丢弃
  • 免费或几乎免费
  • 能够进行相对灵活的查询(例如按不同字段排序,部分关键字搜索,如 LIKE 子句等)

我们目前在 Cassandra 上,它将处理除此列表中的最后一项之外的所有内容。我们的很多数据并不适合 Cassandra 的格式,而是在我们完全理解 Cassandra 的数据模型之前就以这种方式构建的。所以为了支持最后一个需求,我们有两个想法:

  1. 在每个数据中心添加 MySQL 服务器,使用某种排队机制与 Cassandra 数据同步,数据消费者只对这些服务器进行只读查询。
  2. 将数据迁移到 MySQL 或 PostGres,跨数据中心搭建 Multi-Master 异步集群。

我有两个问题:

  1. 对于那些有跨低质量 WAN 设置多主复制经验的人,以下哪种方法更好?如果两者都不是,你是如何解决你的问题的?
  2. MySQL、PostGres、MariaDB 或任何其他免费数据库或 3rd 方扩展是否能很好地支持这种情况?
4

1 回答 1

1

我有第三种选择:为DataStax Enterprise及其在 Cassandra 上的集成 Solr 搜索付费。

于 2013-07-19T00:53:59.133 回答