I usually don't have lofty opinions about game engine architecture unless drawing pictures is involved, so I got really excited today when I found that I have a non rendering opinion on the subject, which is that you should generally try to avoid writing relational databases from scratch on accident because otherwise you will write a relational database from scratch on accident and it won't be a good one.