- 需要在后端大量重写代码
- 将所有表迁移到64位主键在300-400GB大小的表上是非常困难的工作
- 使用Postgres的特殊算法生成ID会使得无法将数据从分片移动到另一个分片。此外,我们有很多旧ID的大型数据库。更新所有这些ID也是一个很大的问题。
- 使用特殊表生成ID会使我们每次插入数据时都要特殊查询主数据库。我们有很高的写入负载,这不太好。
- 除了Citus和PostgresXL之外,还有其他分片解决方案吗?在迁移时最好不要在我们的数据库中做太多更改。
- 关于PostgresXL的一些问题:
- 我理解得对吗,它不是Postgres扩展,而是一个独立的分支?所以我应该从源代码构建它的所有部分,然后以某种方式移动数据?
- Postgres和PostgresXL版本如何兼容?我们有PostgreSQL 9.4。我在PostgresXL中没有看到这样的版本(9.2或9.5没有中间版本?)。那么我可以使用流复制进行迁移吗?
- 如果是/否,什么是迁移数据的最佳解决方案?如果我有一个2Tb的数据库,有大量写入,我能否在不停机的情况下进行迁移?
谢谢。