在未来几个月中,我们的应用将达到需要对数据库进行分片处理的大小。我们使用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