>
> ...
>
> It can be a great advantage when scaling to be able to partition the
> transactions across different parts of the database. If we want this to
> be able to scale, I think we *have* to make it work without requiring
> transactions across environments. There is no way that we can scale
> as far as we'd like to by using a single mongo replica set for all
> environments.
>

You generally shard across replica sets, and if you shard by environ uuid
(say by putting it as a prefix on all the _ids) then each of those is a
different write master.

It seems conceptually easier than trying to route to a different collection
set. Certainly sharding will be easier to rebalance (I think) than moving
the collections around.

John
=:->

>
> This talk is about mysql, not mongo, but I believe some of the lessons
> are relevant to us. https://www.youtube.com/watch?v=qATTTSg6zXk
>
> By my calculations, with a maximum-sized namespace file, a single
> mongo should be able to support over 90000 environments
> using a separate collection-set for each environment.
>
> From my recollection of juju performance, we will be lucky to scale
> a single mongo up to 1000 environments, let alone 90000, so I suspect we'd
> never
> get remotely that far. Perhaps there are other disadvantages
> from having many collections though.
>
> It would be nice if we could make this crucial architectural decision in
> the light of some actual measurements. We may all have some kind
> of gut feeling for how this might perform, but without actually measuring,
> we just don't know.
>
> As usual, my first reaction is KISS.
>
>   cheers,
>     rog.
>
-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev

Reply via email to