This last application type is probably more relevant today in consumer applications, whether they are completely web-based or mobile-native apps or a combination of both.
Some of the key characteristics of this type of application are:
The application should be able to scale because of the enormous volume of content that it operates on, the sheer number of users, and the vast geography where the users access it because of which one datacenter is unfeasible.
The users of this application may be fine working with non-real-time, relatively stale data. The staleness may range from few tens of milliseconds to few days, but the latest data may definitely not be available within the fraction of millisecond.
The schema may evolve over time as the application allows integration with other applications.
Since the data can never be completely normalized or denormalized, the relationships will exist.
An example of this application is a web analytics application or a social microblogging...