Hello all,
Lately, I've been trying to develop an application for personal use that has been causing some problems for me. Specifically, the design of my database is questionable and I need help.
The thing is, this isn't an ordinary make-a-transaction, give-me-some-detailed-info database. What I'm trying to do is analyze information over a period of time. If anyone is familiar with the concepts of OLAP versus OLTP databases, I'm talking about OLAP. As you probably guessed though, I'm only familiar with OLTP concepts (and only vaguely), and that's where the problem arises.
Imagine this scenario: a program designed to analyze how much I like yogurt over a long time span, say five or ten years. Say each day or week I make an entry in my application rating how much I like yogurt that day, say a number between 1 and 10.
The system must then store separate pieces of data for each day or week I come into the system and log this data. This is in stark contrast to a transaction-based database which simply needs accurate data of the present, rather than storing aggregate information from the past. This is entirely unlike anything I've encountered in the past and I'm not sure how to proceed designing a database of this kind.
As a more practical example, take a look at the companies tracking and analyzing the stock market. Those databases are providing big-picture analysis and store years and years of old data. What do those databases look like?
If anyone can give me some pointers or some helpful resources I would be most appreciative.
Thanks,
-Meitar