I am writing an app to manage customers and projects for a family handyman business.
I am trying to decide on an approach to data storage and am considering two possibilities, but I'm not sure that I know all of the considerations. My first thought is to create classes to instantiate for each customer or project, and to pickle those objects before writing them to either a flat file or Berkely DB (which type? btree doesn't seem to be the one...). I would appreciate any advice from an experienced python coder. Of course I have also considered just pickling a tuple for each customer or project, but still can't decide whether a flat file or DB is better. I do not anticipate more than several hundred customers or a few thousand projects, so a DB seems to be overkill. There are keys in each record type, but the application manages the relationships (because of the GUI presentation it just made better sense to me than trying to make BDB act relationally). I don't really want a full blown Oracle instance and SQL services running for a single user application.
Does anyone see something I'm missing? Are there any compelling reasons to go the DB route vs flat file? Or is there a better choice?
Thanks,
conhed