Would you consider it bad practice to store various user data in a database as serialized binary? Is it a good, bad or really ugly idea?
I'm talking about pretty much arbitrary things, like the last splitter distance on a form, the last value in a search text box, prevously selected checkbox indexes, et cetera. Things that should be remembered that is not critical if it is forgotten.
I kind of like it since I would then only need one table with for example four columns: userid, source, key and value. And if I create a nice wrapper class to save and load values to this table things could work pretty nicely. For example I wouldn't have to fix the database whenever a new kind of setting comes in to play.
It would of course not work with searching and ordering and things like that, but that wouldn't be needed anyways since you would only access those key value pairs directly from their index (user id + source + key). The columns would also not be human readable, but again that wouldn't really be a problem. The data would be data that could be cleared out without much problems.
Any feedback on this idea? Is it an awful one? Is it a good one? Have you done something similar?