Thanks for asking these questions.
Just to give a bit of background to everybody, sharded bucket means to have virtually one single bucket, that is sharded "behind the scene" between multiple buckets (or container, using OpenIO terminology). But from the application perspective, you have only one bucket, no matter how much buckets are involved in the sharding.
The goal here is to have at the end of the day, a bucket without any limitation in term of number of objects stored.
I do agree that this feature is not yet documented. I created an issue on github to implement it, so you can follow its status: https://github.com/open-io/oio-docs/issues/99
More than that, it's already in production on many platforms.
Very good question. For now it has to be activated during the setup.
But we will release by the end of this month (June 2017) the possibility to enable it at the container (bucket) level. So at the end of the day, you will be able to mix sharded and non-sharded container in the same cluster.
It depends on many factors, but in theory the recommended number is 100 000 objects per container.
You can go up to that, but the performance may suffer. That's also why the sharding is valuable.