В какой-то момент в ближайшие несколько месяцев наше приложение будет иметь размер, где нам нужно очертить нашу БД. Мы используем Heroku для хостинга, стек Node.js/PostgreSQL.База данных, основанная на Heroku
Концептуально для нашего приложения имеет смысл, чтобы каждый логический очерк представлял одного пользователя и все данные, связанные с этим пользователем (каждый пользователь нашего приложения генерирует много данных, и между пользователями нет взаимодействия). Нам нужно сохранить возможность для пользователя выполнять сложные специальные запросы по своим данным. Я прочитал много статей, таких как этот, который говорит о шрамах: http://www.craigkerstiens.com/2012/11/30/sharding-your-database/
Концептуально я понимаю, как работает Шардинг. Однако на практике я понятия не имею, как это реализовать на Heroku, с точки зрения того, какой код мне нужно написать, и какие части моего приложения мне нужно изменить. Было бы очень полезно оценить ссылку на учебник или некоторые указатели.
Вот некоторые ресурсы, я уже посмотрел на:
- http://www.craigkerstiens.com/2012/11/30/sharding-your-database/
- MySQL sharding approaches?
- Heroku takes care of multiple database servers?
- 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
- Why do people use Heroku when AWS is present? What distinguishes Heroku from AWS?
Вы проверили Octopus? https://github.com/tchandy/octopus – catsby