What makes Cassandra (and NoSQL in general) a better solution to an RDBMS?

前端 未结 11 2061
醉梦人生
醉梦人生 2021-02-02 12:00

Well, NoSQL is a buzzword right now so I\'ve been looking into it. I\'m yet to get my head around ColumnFamilies and SuperColumns, etc... But I have been looking at how the data

11条回答
  •  无人共我
    2021-02-02 12:29

    Cassandra in and of itself is not better than an RDBMS. It is better under some circumstances. An RDBMS is vastly superior for transaction processing, master data management, reference data, data warehousing and (some forms of) BI.

    Use NOSQL if your application requires a flexible schema, variable length rows, variable types of columns, eventual integrity, horizonal scalability on commodity servers, and high availability achieved by means of a distributed architecture.

    NOSQL does not do joins for several reasons: you already joined the data before the NOSQL file was loaded so there is no need to; because a distributed join over far-reaching servers would be resource intensive. The first reason above is simple: you have embedded all the data you need into a single structure. If you do not embed the data and have to link, don't expect great performance out of it. Linking is a euphemism for application-provided joining without the benefit of consolidating the data as a join does. Assuming hashing a key is the method of data distribution, different records that have the same hash key would be collocated. Thereby if joining were permitted, the joined data would all be on the same server.

    It's not just black and white.

提交回复
热议问题