在PostgreSQL11中实现数据库分片的一种方法是对表进行分区,然后使用外部数据包装器对其进行设置,以便分片在它们自己的容器上运行。read more here
使用这种方法得到的结果是,您只需要处理一个数据库。
在PostgreSQL11中实现数据库分片的另一种方法基本上是运行postgres的多个实例,并使用代码处理所有的分片逻辑。例如,在数据表中有一个标题为sharding_id的额外字段,我们可以使用它来确定我们需要查询哪个实例来检索数据。如果分片id为1,则查询实例1。
就性能而言,这些方法中哪一种更好?
发布于 2020-10-13 13:49:51
如果使用外部数据包装器进行分片是可行的,那么这个问题将像“哪个更好: PostgreSQL还是Oracle”一样无法回答。
遗憾的是,通过外部数据包装器进行分片还不起作用。缺少的一环是,目前(v13),PostgreSQL不能并行扫描作为外部表的分区。
https://stackoverflow.com/questions/64328696
复制相似问题