Classroom Exercise Questions, Seeking Expert Guidance

Note:
This topic has been translated from a Chinese forum by GPT and might contain errors.

Original topic: 课堂练习题,求大佬解惑

| username: 履霜知冰

There are two points in the course that are unclear:

  1. 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.
  2. 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? :thinking:

| username: xuexiaogang | Original post link

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.

| username: 履霜知冰 | Original post link

Now that I think about it, that seems right :smile:, but why isn’t horizontal scaling one of the correct options?

| username: xuexiaogang | Original post link

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?

| username: 履霜知冰 | Original post link

Oh, got it, got it, thank you for your explanation.

| username: 我是咖啡哥 | Original post link

I feel that these two answers should be unfriendly. You can’t just dismiss it and say others don’t support it. :smile: