我目前正在支持一个位于中国数据中心内的系统,但由于防火墙而在中国境外的系统性能很差。我们正在AWS中设置数据中心,需要复制数据。我们的应用程序适用于旅行者,因此用户可以在中国境内轻松访问该系统,并在数小时内在中国境外访问。要求:
- 近实时(但不是实时)数据一致性
- 处理分区的能力,网络可能一次关闭几分钟
- 处理高延迟的能力,例如300-500ms
- 处理失败请求的能力,其中一部分请求将挂起或被丢弃
- 免费或近乎免费
- 能够进行相对灵活的查询(例如,按不同字段排序,部分关键字搜索,例如LIKE条款等)
我们目前在Cassandra上,它将处理除此列表中的最后一项之外的所有内容。我们的很多数据都不适合Cassandra的格式,但是在我们完全理解Cassandra的数据模型之前就是以这种方式构建的。因此,为了支持最后的要求,我们有两个想法:
- 使用某种排队机制在每个数据中心添加与Cassandra数据同步的MySQL服务器,数据使用者只对这些服务器执行只读查询。
- 将数据迁移到MySQL或PostGres,并跨数据中心设置多主异步群集。
醇>
我有两个问题:
- 对于那些有经验在低质量WAN上设置多主复制的人,哪种方法更好?如果不是,你是如何解决问题的?
- MySQL,PostGres,MariaDB或任何其他免费数据库或第三方扩展程序是否支持此方案?
醇>