在接下来的几个月里,我们的应用程序将达到我们需要对数据库进行分片的大小。我们使用 Heroku 来托管 Node.js/PostgreSQL 堆栈。
从概念上讲,我们的应用程序让每个逻辑分片代表一个用户以及与该用户关联的所有数据(我们应用程序的每个用户生成大量数据,并且用户之间没有交互)是有意义的。我们需要保留用户对他们的数据进行复杂的即席查询的能力。我读过很多文章,比如这篇关于分片的文章:http ://www.craigkerstiens.com/2012/11/30/sharding-your-database/
从概念上讲,我了解分片是如何工作的。但是在实践中,我不知道如何在 Heroku 上实现这一点,就我需要编写的代码以及我需要修改应用程序的哪些部分而言。一个教程或一些指针的链接将不胜感激。
以下是我已经看过的一些资源:
- http://www.craigkerstiens.com/2012/11/30/sharding-your-database/
- MySQL分片方法?
- Heroku 负责多个数据库服务器?
- http://petrohi.me/post/30848036722/scaling-out-postgres-partitioning
- http://adam.heroku.com/past/2009/7/6/sql_databases_dont_scale/
- https://devcenter.heroku.com/articles/heroku-postgres-follower-databases
- 当 AWS 存在时,为什么人们会使用 Heroku?Heroku 与 AWS 的区别是什么?