在Postgresql中进行水平分区的正确步骤是什么?

在Postgresql中进行水平分区的正确步骤是什么?,第1张

概述我们有一个具有 Postgresql 9.1数据库的电子商务门户.一个非常重要的桌子目前有3200万条记录.如果我们要提供所有项目,这个表将增长到3.2亿条记录,主要是日期.哪个会很重 所以我们正在考虑水平划分/分片.我们可以将此表中的项目分成12个水平(每月1个).什么是最好的步骤和技术呢?数据库中的横向分区是否足够好,或者我们必须开始考虑分片? 虽然3.2亿不小,但也不是很大. 它在很大程度上 我们有一个具有 Postgresql 9.1数据库的电子商务门户.一个非常重要的桌子目前有3200万条记录.如果我们要提供所有项目,这个表将增长到3.2亿条记录,主要是日期.哪个会很重

所以我们正在考虑水平划分/分片.我们可以将此表中的项目分成12个水平(每月1个).什么是最好的步骤和技术呢?数据库中的横向分区是否足够好,或者我们必须开始考虑分片?

虽然3.2亿不小,但也不是很大.

它在很大程度上取决于您在表上运行的查询.如果您始终在查询中包含分区键,则“常规”分区可能会起作用.

这个例子可以在Postgresql wiki中找到:
http://wiki.postgresql.org/wiki/Month_based_partitioning

本手册还解释了分区的一些注意事项:
http://www.postgresql.org/docs/current/interactive/ddl-partitioning.html

如果您正在考虑分片,您可能会看到Instagram(由Postgresql提供支持)是如何实现的:

http://instagram-engineering.tumblr.com/post/10853187575/sharding-ids-at-instagram

如果您有大多数读取查询,另一个选项可能是使用流式复制设置多个服务器,并通过连接到热备用来分发读取查询,以进行读取访问并连接到主机以进行写访问.我认为pg-pool II可以做(有点)自动.这可以与分区结合,以进一步减少查询运行时间.

如果您是冒险的,并没有非常紧迫的需求,您也可以考虑Postgres-XC,它承诺支持透明的水平缩放:
http://postgres-xc.sourceforge.net/

目前还没有最终版本,但是看起来这并不是太久了

总结

以上是内存溢出为你收集整理的在Postgresql中进行水平分区的正确步骤是什么?全部内容,希望文章能够帮你解决在Postgresql中进行水平分区的正确步骤是什么?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1169353.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存