Note:
This topic has been translated from a Chinese forum by GPT and might contain errors.
Original topic: 课堂练习题,求大佬解惑
There are two points in the course that are unclear:
- The support for horizontal scaling in traditional database and table sharding middleware is shown as unsupported in the course, but this option is not available in the exercise answers.
- The support for global IDs in traditional database and table sharding middleware is shown as unfriendly in the course, but the exercise answers indicate it is unsupported.
I don’t understand this post-course exercise. Is there any expert who can help clarify this?
Sharding and partitioning are independent of each other, with no global control, or global control is managed by other means such as applications or architecture. It’s very cumbersome and consistency is not guaranteed. In short, it’s not a good choice.
Now that I think about it, that seems right , but why isn’t horizontal scaling one of the correct options?
Because it can indeed scale horizontally, as long as you don’t mind the hassle. For example, originally there were 10 databases with 100 million records, averaging 10 million per database. Remember, this is an average. Now, if it grows to 200 million and can’t fit or for other reasons, you expand to 20 databases, still averaging 10 million each. But you have to take the 20 databases as a whole and reallocate them. Moving everything. Do you think that’s troublesome or not?
Oh, got it, got it, thank you for your explanation.
I feel that these two answers should be unfriendly. You can’t just dismiss it and say others don’t support it.