国内生产环境使用Cassandra比较多的大公司有360,从公开的资料看,应该有至少1500台服务器的集群。360选用cassandra的原因如下:团队人员少,需求紧,选择开源项目;无单点,无中心,适合在线业务;代码易懂,团队成员有代码基础;社区比较活跃。
另外一些中小型公司和创业公司也有在使用。
这里要解释几个对cassandra的误解:
1、Facebook弃用?Facebook当初想用cassandra实现其消息系统,但后来发现不合适,原因不是cassandra不靠谱,而是Cassandra的最终一致性模型不适合Message System,HBase具有更简单的一致性模型。Cassandra强调AP ,Hbase强调CP。目前Facebook的inbox search系统在使用,8亿用户,200T数据;其移动应用开发平台也使用cassandra。
2、Twitter弃用?本质是mysql和nosql之争。cassandra能进入twitter的视野,恰恰说明cassandra是nosql的代表性产品之一。为什么twitter在tweets系统中不使用cassandra?"这是一次战略上的变化。我们将继续维护我们原本基于Mysql的存储。我们相信,现在还没有到大规模迁移数据到一个新技术的时候。”目前twitter也有使用cassandra——Using Cassandra in production for geolocation and analytics。
3、Cassandra不火?国内对mongodb和hbase推崇备至,究其原因是因为mongodb这个公司进入了中国市场并建立了中文组,而hbase在阿里的大范围使用和推广下培养了一大批用户和公开材料。Cassandra最近两年在大数据公司Datastax的大力培育下获得长足发展,功能和性能均大幅提升,Datastax的估值也达数亿美元。从apache cassandra首页来看,大概有超过1500个公司在使用cassandra。其中除了facebook和twitter外还一些有代表性的公司列举如下:
Instagram:inbox、newsfeed、 audit、fraud detection,12 EC2 node,1.2T,2w+ wps,1.5w+ rps;
eBay:200+TB,400+M写,100+M读,应用场景:商品详情页上的Social Signals,如Like,Want,Own,Favorites等;用户和商品的hunch taste graph;时间序列如移动通知,反作弊,soa,监控,日志服务等;
Netflix:包含288+96+60个实例的大规模集群,每秒110万的写操作,3个AWS EC2 美国东部region的zone自动复制副本,总计330万写操作/秒;
Apple:75000+ nodes, 10s of PBs,Millions ops/s, largest cluster 1000+ nodes。
从技术实现上来讲,cassandra同时具备AWS Dynamo和Google Bigtable的设计理念,同时引入了P2P技术,具备大规模可分区行存储能力,强调AP,实现了最终一致性,具备多数据中心复制支持,具备市场上最具有竞争力的可扩展性,无中心节点,一致性和时延可调,无单点故障,每个节点只有一个进程等等大数据存储管理的先进特点,并支持spark、storm、hadoop的集成。但同时,Cassandra实现复杂性高,没有相应的中文社区,文档太少,国内应用和实践太少,Datastax也未进入中国市场,因此在中国的推广会比较困难。
从现在国内的生产环境来看使用Cassandra数据库的公司还是比较多的,那么,有哪些公司正在使用Cassandra数据库呢?
有在国内的生产环境更卡桑德拉360大公司。从开放的数据中,应该有至少1500台服务器的集群。360、选择Cassandra的原因如下:几个团队成员,紧张的需求和开源项目;无单点,没有中心,适合在线业务;代码很容易理解,团队成员的代码库;社区更活跃。其他中小型公司和初创企业也在使用中。
1、脸谱网弃用?脸谱网当初想用卡桑德拉实现其消息系统,但后来发现不合适,原因不是卡桑德拉不靠谱,而是卡桑德拉的最终一致性模型不适合留言系统,HBase具有更简单的一致性模型。卡桑德拉强调AP,HBase强调CP目前脸谱网的收件箱搜索系统在使用,8亿用户,200t数据;其移动应用开发平台也使用卡桑德拉。
推特抛弃吗?的本质是MySQL和NoSQL之间的纠纷。卡桑德拉可以进入推特视觉,这说明卡桑德拉是一个NoSQL的代表产品。为什么不在推特微博系统使用卡桑德拉?”这是一个战略转变。我们将继续维护我们原来的基于MySQL的存储。我们认为,没有时间大规模地将数据迁移到一项新技术上。”目前,推特也使用Cassandra使用Cassandra在定位和分析生产。