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

Reply via email to