in reply to Data on the fly?

I have read the details you provided in your reply to data64.

I would say, go database. There are lots of advantages you will get from database, but base on what you said, I want to stress one point:

Although you just started, and it looks like the data structure is not complex, and amount of data is not big, you still should go database.

You have to make your system ready for future, ready for growth. For sure, in the future, you will want to store more types of data, and the amount of your data will grow (maybe rapidly), database is definitely the technology provides you the flexibility and the power you want.

For long term, database definitely requires less development effort.

Replies are listed 'Best First'.
Preparing for the Future
by chromatic (Archbishop) on Mar 01, 2003 at 07:47 UTC
    You have to make your system ready for future, ready for growth.

    Another option to make your system ready for the future is to make it as simple as possible. If it does exactly what it needs to do with no duplication, you'll have the flexibility to add necessary complexity.

      Another option to make your system ready for the future is to make it as simple as possible. If it does exactly what it needs to do with no duplication, you'll have the flexibility to add necessary complexity.

      Sure, provided that:

      1. You write unit tests to make sure that your necessarily complex additions (heh) don't break anything, and
      2. Your code is sufficiently decoupled that adding new components doesn't involve (excessive) changes to old.

      Both of these requirements are more easily met with simple software than with complex, "try to predict the future" designs. I need to tell myself that about once a week, on a good week. :-) I guess my point is that just making your software simple isn't enough, although it's a big help.

      --
      F o x t r o t U n i f o r m
      Found a typo in this node? /msg me
      The hell with paco, vote for Erudil!

      I absolutely agree with you that, making your system simple is one of the way to support growth.

      FoxtrotUniform gave a very good point: decoupling. I see decoupling as one way to modulize your application, and there are lots of other ways: put your code in a function, wrap your code in classes. You can even view multi-process, multi-threading as sort of modulization...

      Said all this, I am thinking whether we can combine your thought, FoxtrotUniform's thought and mine together, and say:

      To simplify the functionality of each module, and make modules have clearly and carefully defined/designed boundaries, would absolutely support future growth.