View Single Post
  #3  
Old 05-13-2009, 02:40 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

(KLS, I know you fully understand what I am explaining below, but I am just trying to explain my understanding of it so others can follow and so I can be corrected if I am wrong about something. And I am trying to figure out if we should really care about the blob struct anymore.)

I figured that the profile blob didn't really matter at all. It is essentially used as a table inside a table. In that we pull out the blob, pull the data from whatever piece of it we are needing and then save changes if needed and put it back in. Seems like we could arrange it in any order we wanted. It doesn't send the actual blob itself, unmodified. It creates the profile 1 field at a time by us telling it where to look in that blob based on the structure we have set for it.
There is so much wasted space in our current profile blobs, that I am sure it eats up a fair amount of space in the DB. Any unknowns in there are just a waste as far as I can tell.

One problem I have is that all of our clients have encodes set on the player profile. This means that the structures for our clients do not match our blob structure. So, even if we did ever identify new fields on either Titanium or SoF, the player profile blob is completely useless to us for that since it most likely isn't going to line up perfectly anyway (they are very different). So, we have a ton of fat on the current PP blob that is just there for no reason as far as I can tell. We should probably either try to use it, or get rid of it.

Just a little math (and yeah, sorry I am getting off subject lol):
The player profile structure for the blob is currently about 20,000 bytes (20k)
If PEQ has 100,000 characters (just making up a number), then their total space used just for player profile blobs is about 2GB (100k X 20K)
That makes for a fairly large database backup file I am sure. So, over half of that blob is unknown, and I believe completely unused. So, they could be saving 1GB of space if the unknowns were removed. The Storm Haven full database backup is about 2GBs and 500MBs of that is just the character_ table alone, and I am sure almost all of that table is player profile blob. Not that size is really an issue, but just giving an example of how much space we are wasting with the unknowns.

Since we do encodes of the whole thing anyway for all of the expansions we use on EQEmu, couldn't we just make up our own PP structure to however we wanted it? I am sure it would be a hassle to convert it over, but other than that, I don't see why not. I personally would love to see it moved into it's own table, but that would probably be a nightmare to write that all up.

Sorry again about getting off of the subject, but I just think the old player profile is not as useful as it probably once was. Before needing to do the encodes, we could probably just send that whole thing in 1 big chunk! But now, we break it down and put it back together again however we want it, so it probably isn't that great of a way to handle it anymore.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!

Last edited by trevius; 05-13-2009 at 10:45 AM..
Reply With Quote