There is no easy answer to this. The requirements vary widely even within a particular "type" of application. If you have a list of specific requirements for a given application, it is easier to say whether it is a good fit.
If you need a schema marshaling system, then you will have to build it into your application somewhere. Some client libraries support this type of interface. Otherwise, Cassandra doesn't make you pay for the kitchen sink if you don't need it enough to let it take up space and time in your application. The storage layout of Cassandra mimics lists, sets, and maps, as used by programmers everywhere. Cassandra is responsible for getting the data to and from those in-memory structures. Because there is little conceptual baggage between the in-storage representation and the in-memory representation, this is easier to optimize for the general case. There are a few necessary optimizations for dealing with the underlying storage medium, but the core concepts are generic. There are lots of bells and whistles, but they tend to fall in the happy zone between need-to-have, and want-to-have. Because Cassandra provides a generic service for data storage (in sets, lists, maps, and combinations of these), it serves as a good building block for close-to-the-metal designs, or as a layer to build more strongly-typed or schema-constrained systems on top of. I know this didn't answer your question, but maybe it got you in the ballpark. Jonathan On Tue, Jun 1, 2010 at 7:43 AM, 史英杰 <shiyingjie1...@gmail.com> wrote: > Hi,ALL > I found that most applications on Cassandra are for web applications, > such as store friiend information or digg information, and they get good > performance, many companies or groups want to move their applications to > Cassandra, so which kind of applications are Cassandra fit for? Thanks a > lot! > > Yingjie