Back in 1988 I was working with a brand new Oracle 8 database building a billing application for a major telco and we came up with an architecture which had two databases, one for logging the billing information and then one which was updated from this transactional system for reporting. This was my first exposure to the whole area of Business Intelligence and the configuration and tuning of databases for query.
So for the last 15 years I have always thought of two database usages, Transactional and BI. Recently I have been looking at a lot of really big web sites (multimilion users) and have been getting more and more uncomfortable with this model. This was bought into focus by Adam Bosworth's blog over Christmas but I just didn’t agree with his examples.
Then yesterday I was reading an analyst report about MySql and the whole issue came into focus for me. There are actually 4 database usage types not 2, Transactional, BI, Single user state and Organizational state.
Single user state is the information held by a big web site on a per user basis. It is row level based, very performance critical but has little or no relational, indexing or locking requirements. It holds the attention data of a user.
Organizational state is used by SaaS systems to hold multi tenancy information. It is closely linked to the transactional databases and is mainly metadata.
The single user state database has a very different database usage characteristics than the other three and so we will start to see databases configured and built for this usage.
mike, i guess this should read 1998 instead of 1988, for the release of oracle 8.
I think there is a possible link to something I've just posted on the Asymmetric Design blog, based on the work of Max Boisot.
Boisot identifies four types of knowledge, which are associated with four organizational cultures and four strategies. Do your four types of database map onto Boisot's four types?
Proprietary = Transaction?
Personal = Single User?
Public = Organizational State?
Common-Sense = BI?
Actually the 1988 was correct but it was of course version 6 not 8. Good catch.
Yes they sort of do although Max's work is ore about organisational structures than data
Isn't "single user state" and "organizational state" similar to Pat Helland's "activity" and "resource" data? Your states seem to depend on who can access them, while Pat's seem more about how quickly they changed.
But both cases speak to the nature of the locking required. "Single user state" and "activity" data can benefit from optimistic lock while the others would be better served with pessimistic locking.
Yes Hal, they do sort of map to what Pat was talking about but not exactly.
I do agree that different lock types are the characteritics of these uses