View Single Post
03/04/22, 06:09 AM   #8
Messajah
AddOn Author - Click to view addons
Join Date: Feb 2022
Posts: 11
Yeah sorry about the tone of my first reply.

Regarding the tracking of per-character data: They mentioned that their database now contains billions of rows.

Something like this:

Code:
Row ID       | Character ID  | Achievement ID | Achievement Status
9132139423   | 9312398138    | 49123821389    | 1298
1 database row per character, per achievement.

Since every character has 1 row per available achievement, then it makes sense that they've now reached billions of database rows. Which means that the time it takes to lookup or update a row is going to be extremely slow now, meaning that the server process will stall/freeze and cause lag for players while it updates the bogged-down, bloated database. And consider that many achievements update every time a mob dies (such as kill X amount of mob Y achievements).

This problem is a result of having a megaserver where every person plays. They can't "shard" their databases into smaller servers.

There aren't any solutions to this except to merge all database rows into per-account instead of per-characters. They've done the math on this and seen the savings they will get, which will allow the game servers to run smoothly without database lag. It's a crisis that forced them to act now. They can't let people keep per-character achievements. It's unfortunately not up to us.

The harm is mostly mitigated by how they implemented this:
  1. Every character you login with is merged into the account-wide achievement database.
  2. If the character you login with has completed an achievement earlier than what the acocunt-wide database says, then the account-wide record is updated with the earliest achievement date and character name.
  3. Therefore, it doesn't matter what order you login with your characters. The earliest one will always be recorded as the one that achieved it.
  4. However, incomplete/partial achievements will be merged, meaning that the character that contributed the final pieces of the account-wide version (such as "collect all 18 skyshards" in their example) will be recorded as the character that completed it. So if absolute cleanliness of your achievement data matters, I guess it's gonna be a bit tricky to login in a way that ensures your "main" gets the completion of those partial achievements. But ehhh, that's really, really picky... Try to be happy with the fact that the achievement is done on your account, not what character name it says if you go to "OCD-inspect" that single achievement. How often does someone go in and read their achievements and then gawk at the character names? Does anyone do that? I think the vast majority of people won't care about that. It's a near-invisible detail of the GUI that nobody really goes to look at. I think most people will be happy that their achievement progress merges so that they don't have to waste their IRL health/time doing the same achievement over and over again on alts. The biggest sentiment I've seen is happiness that the achievement grind will finally become easier.
  5. ZOS said that if there's some problem with the merging or anything else, they'll rollback and try again later. So no need to worry. Let's see how it goes, and if there's some issues, we can expect outrage and a rollback. :P

Last edited by Messajah : 03/04/22 at 06:21 AM.
  Reply With Quote