MySQL 和 Cassandra 的区别

6

cassandra和mysql有什么区别?

我使用了谷歌进行搜索,但是没有得到满意的答案,也不能理解。请您清楚地告诉我这两者之间的区别。


好的,一个是基于SQL范式的,另一个是基于no-SQL范式的。 :) 请阅读NoSQL范式 - Nishant
可能是为什么选择Cassandra而不是MySQL进行NoSQL?的重复问题。 - Mikhail Stepura
1个回答

8
MySQL是一种关系型数据库,支持使用SQL查询语言进行复杂、灵活的查询。本质上,关系模型由表(关系)组成,可以通过多个表共同拥有的键相互关联。
Cassandra是一个键值存储(类似于哈希映射),可根据键查找纯值或结构化值。它不支持复杂/灵活的查询,但作为回报,它提供了更高的可扩展性和性能。它不使用固定预定义的表,而使用“基于列”的模型,其中每行数据可以包含各种类型的数据项,这些数据项不必预先定义。
Cassandra使用Cassandra查询语言(CQL),其语法类似于SQL。Cassandra还通过Thrift协议提供较旧的二进制查询接口。

1
除了数据不必预定义之外,一切都正确。这在早期的Cassandra版本中是正确的,但现在在读/写之前必须定义模式。 - Carlo Bertuccini
这只是部分正确的;这取决于您是使用较新的CQL接口还是较旧的Thrift接口(即使如此,动态行为也由CQL支持)- 请参阅http://www.datastax.com/dev/blog/does-cql-support-dynamic-columns-wide-rows和http://www.datastax.com/dev/blog/thrift-to-cql3以获取更多详细信息!我有空的时候会尽量澄清我的回答... - DNA

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接