How do you decide to put as sharding-key? Something like 'user_id'. What if a user becomes too big? Something like id=uuid. Then you lose the semi-free user_id index.
I believe the holy-grail of sharding is range-based (bigtable, hbase, hypertable etc).
Comments
How do you decide to put as sharding-key? Something like 'user_id'. What if a user becomes too big? Something like id=uuid. Then you lose the semi-free user_id index.
I believe the holy-grail of sharding is range-based (bigtable, hbase, hypertable etc).
You mean like Oracle has supported since version 8 or so?
If it is automatic (meaning you don't have to manually define the ranges)+ ranges can split/join, then probably yes.