大数据时代各种涨姿势玩转大数据大数据,机器学习,人工智能

为什么选用cassandra

2016-11-12  本文已影响681人  姚小强

刚开始使用cassandra的时候,不太清楚为什么要使用cassandra。在想用mysql或redis等不是可以替代cassandra吗? 为什么要花时间去了解使用它呢?

下面简单讲一下,我们为什么要使用cassandra。

cassandra的特点好处

具体解释

Cassandra是分布式系统,==只需要增加节点就可以扩充存储空间==;众所周知,mysql的单表数据量是有瓶颈的,当数据量到达一定级别,就需要考虑分库分表或者分区等等。并且mysql不是一个分布式的数据库(虽然有主从,这不是真正意义上的分布式)。

使用cassandra,则不需要考虑该问题,当数据量增加,只需要增加cassandra的机器即可(运维层面扩展),对于开发来讲,几乎没有影响。

cassandra的设计机制决定了,它的数据模式(列的增减)的改动的成本是非常低的。在mysql中,对一张大数据的表进行schema改动(列的增删改)的成本是非常非常高的,一不小心就会导致锁表,导致业务异常。而==有的业务数据量很大又由于需求的不稳定性会经常要求改动数据的模式定义==,这时就可以考虑cassandra,Cassandra很适合做这样的事;

Cassandra写入性能是非常高的,Netflix曾经在一次测试中达到每秒超过100万次的写入;非常适合高写入的应用,如广告点击记录,用户浏览记录等等

有的业务在选择使用cassandra的时候会因为从某些资料里面得知,cassandra的读取性能很低,而不敢使用。这点其实是误解,在cassandra的早期版本确实是这样。但是随着cassandra的发展,该问题已经得到了显著解决。具体可以参考DataStax公司的CTO兼联合创始人的这篇文章关于cassandra的错误观点

但是当你的业务对读取有较高的要求时,建议选择正确的cassandra版本并进行合理的测试

适用场景

使用实例

上一篇 下一篇

猜你喜欢

热点阅读