Okay, as evan noted, a database-backed system for the client downloads would be ideal. It's also what I was planning, but I've run into a couple of questions.
- Do I need to worry about clustering at all? This isn't per-user data.
- What names should the tables, IDs, and indices (the globally consistent stuff) have?
- Should there be a platform table with a platID and a pretty name for the vanilla index, and another table with all the client data for the by-platform views? Or is the hit rate low enough that trying to optimize the database is a waste of time? (Hell, is splitting a table and running a join on by-platform views even an optimization?)
- Addendum: How do I decide limits for the fields? Just pick a random number like 255?