複数のデータセンターにMongoDBを配備する戦略
MongoDB: Strategies for Multiple Data Center Deployment | Architects Zone
MongoDB NY 2012の資料から。
これ、普通にオンプレミスやってたら縁遠いけど、AWSだと複数のリージョンをまたがせてすぐに試せるので、グローバルなアプリケーション作る時の参考になるかも。
Multi Data Center Strategies
View more presentations from Steve Francia
===
例として、3拠点(US,ヨーロッパ,オーストラリア)のユーザにサービス提供するソーシャルネットワークのシステムを考える。
チャレンジングなことは、データの一貫性、ユーザ体験の維持、スケールである。
USにDBがあると遅いのでユーザ体験が悪くなる。
USにR/WのDB, それ以外にROのDBを置くと参照は速くなるが、ユーザのデータは局所的であるはずなので、データローカリティを意識し、グローバルな障害に耐えるようにし、リモートのデータも早く操作できるようにしたい。
MongoDBだと、Replica Setsを各拠点に設置することでクリアできる。
でも、アプリは参照先を意識する必要がある。将来的には GeoAware Shardingができるようになる。シャードキーに、GeoAwareなキーを加えるらしい。