大家好,我是刘军民,我是阿里云数据库的产品经理,目前负责云数据库的产品规划以及相关工作。曾在2019年和多位小伙伴一起发起了中文社区,我希望有更多的小伙伴能加入到社区建设中,这样可以让Cassandra在中国变得生机勃勃大放异彩。

我今天会分享很多Cassandra典型的应用场景,同时也会对社区进行年度的回顾。

我们刚开始接触Cassandra时,发现这是一个不错的产品,但问题是国内没有中文社区。所以我们联合了阿里云的小伙伴以及其他公司的开发者发起了一些建设工作,包括现在的钉钉群还有微信公众号。

现在,越来越多的公司已经加入进来了,尤其像DataStax的孔令子和邓为老师。他们在社区中做了很多的布道工作,非常感谢他们的付出。


 
社区大事件年度回顾
 
我们前年就在北京开展过线下的meet up。今年本来也想组织线下的meet up,但因为疫情的反复,所以最终改成了线上。

2020年我们也做了很多的技术直播,包括关于应用场景的。在去年4月份也邀请邓为老师做了一些关于DataStax的布道工作, 提到关于Cassandra数据库的特点,很多中国的开发者也是在这时候开始接触到Cassandra。

在7月份时,社区也搞了两次比较大的活动。活动包括两大部分,第一个是邓为老师的研习班课程。第二部分则是邀请到到阿里云的郭超、华为的吴太银先生,360的国浩、网龙公司的阙乃祯等讲师分享他们自己的应用场景,包括他们对Cassandra的看法。

然后8月份我们就讲了Cassandra4.0,其实我也刚刚看到群里面有很多同学在说4.0,好像大家都很期待,但是它一直没有发布。

但是目前看,2021年上半年应该是很有希望发布的。而且我们现在阿里云公司其实也在很紧密的关注4.0的一个动态。针对它的一些优秀的特性,我们也在积极的做一些测试和跟进。

9月份时,我就分享了一个Apache Cassandra的国际认证考试。其实我建议大家如果有时间的话,可以花一点时间去学习一下这个课程,然后做这个认证考试。因为你通过认证考试的话,不仅仅只是为了拿一个证,更主要的是这样你就可以比较系统性的学习Cassandra的理论知识。这样对Cassandra会有一个比较初步的认识,这我觉得是很有意义的。

11月份,我们组织了首次线上的圆桌会议,这也是孔令子包括邓为老师花了很多精力的一个事情。这里,有些嘉宾分享了自己当时选Cassandra的原因,在他们眼中的Cassandra有哪些优势和劣势。

最近一次,我们看到有些同学也会提到在K8S上部署Cassandra,我们在12月份做了一个这样的直播。

这些所有直播都可以在我们的社区的钉钉群、社区网站、b站上找到回放。

我们其实依然希望各个公司的这种开发人员和讲师来我们社区讲课,分享他们在某些的应用场景上面的心得,做一些类似于建模或者是各种各样的分享。我们很欢迎大家来联系我们做一个这样的技术直播。

 

 
社区的流行度情况
 

接下来是展望,其实Cassandra在宽表数据库领域其实已经连续9年霸榜了。大家可以看到这个数据库本身是一个非常好的非常优秀的数据库产品,它从2012年开始到现在流行一直都是第一的。所以大家可以看到它在国际上的地位,它其实是非常流行的一个数据库。

在社区里,包括前面有很多嘉宾做了分享。其实目前在国内Cassandra也有超大规模集群的应用,现在包括阿里云也在积极投身Cassandra云上产品的开发。

我个人觉得有如下4个方面是值得大家选Cassandra的数据库的:

  • 第一点就是Cassandra对我们开发者是非常易用的。它有CQL语法的支持,这其实就是一个简化版的SQL语句。如果是MySQL开发者切换到Cassanda上,其实不用花太多的精力,很快便可以上手。它还有表级TTL、行级TTL、列级TTL的支持,这可以简化我们数据的处理。

  • 第二点是高性能,大家可以去测一下数据库,你可以发现它数据库的性能表现是非常好的。

  • 第三点就是持续在线能力,它其实有一个非常好的功能。比如我在3副本QUORUM读写这种模式下,单节点故障和单节点下线其实对整个集群没有一个太大的影响,应用甚至都感知不到这个故障,这是它很好的在线能力。同时它还有原生的跨DC容灾的能力,这些都是非常好用的一些特性。

  • 最后就是它的海量扩展能力,单个节点就可以起配,它是没有任何起配门槛的。随着你整个集群慢慢扩大,单个集群可以扩大到几百上千节点的规模。

我觉得这一个很好的大数据的数据库。在2020年,AWS也加入了Cassandra玩家的阵列,它在4月份时发布了一个Amazon Keyspaces云产品,这其实就是一个Cassandra云产品。

所以现在大家可以看到,整个Cassandra的发展应该是呈现一个越来越成熟、越来越丰富的趋势。

 

 
中文社区发展展望
 
其实我希望和大家一起来立一个新年的 flag。
 

全球:

现在全球有数千万开发者,我们希望可以联手包括DataStax和其它的一些公司,在东南亚甚至是在欧美这些比较发达的一些国家建设生态、建设社区。这样能把更多国际上的一些优秀的案例,包括一些最佳实践,回流到中国区,然后给国内的开发者带来参考和便利。

包括海外的一些嘉宾,我们也希望社区里一些非常优秀的讲师能来中国区给我们国内的开发者做一些布道, 这是我们在全球区的期望。

国内:

在中国区,我们也希望把Cassabdra社区建设成一个开放性的社区,然后每个月都定期组织这种技术直播。

我们也希望在各个行业,包括整个的一些应用场景上面,有一个比较成熟的最佳实践来分享给大家。比如说我们的互联网、车联网、IoT场景、包括我们现在正在新兴的智能制造等行业,我们都希望有对应Cassandra的最佳实践。我们也希望能把这些案例同步到我们社区里面来,给大家做更多各种各样的参考。这样其实就可以指导我们的开发者更好地去用好Cassandra数据库。

我们希望在2021年能够把这些事情做的更完善。包括我们线下meet up,等疫情过去的话,我们依然想坚持把线下meet up活动一直做下去,然后从线上走到线下,和大家面对面做一些交流或讨论。

因为我最近其实也没有时间去写博客了,但我也希望大家能够把自己的一些心得,包括把自己的一些在Cassandra上的一些应用实践,以博客的方式投稿到开发者社区来。然后给大家所有的这些周边的一些团队、同行去做一些这种交流,这我觉得是非常好的一个事情。

所以我们在2021年的话,我们依然会推动去做这些事情。

目前我们钉钉群有1500多号人。我们希望通过一年的努力,至少翻可以翻一倍。我们的微信公众号现在也有2800号人左右,我们也希望能够达到5000人,这是我个人的一些期望。

最后,我们也希望和中国区的Cassandra开发者,包括我们的一些领域行业专家一起联手去出一本书。那么这本书是属于我们中国开发者自己的Cassandra技术书籍。我们期望行业内顶级Cassandra技术的专家,甚至国际上的一些专家都能够加入进来,把这本书做成一个高质量的输出。


 
Cassandra典型应用场景
 

现在让我们进入比较关键的一个话题,Cassandra到底在哪些场景可以使用。或者先让我们聊一下为什么像Cassandra或HBase这种宽表数据库会出现。

我觉得这也是因为数据的爆炸式增长,对数据的需求变得多样化。流量,包括现在各种APP、各种场景的丰富度,导致原先传统的SQL关系数据库很难覆盖所有的使用场景。

随着技术的发展,其实越到后面你就会发现除了要一个RDS之外,还需要一个NoSQL的大数据的数据库。我们Cassandra就是为了这种场景而诞生的。


 
云上典型应用场景

那它具体可以应用到哪些场景?下图中我将阿里云的一些客户做了一个大致的汇总。

汇总下来,我们发现主要的使用场景可以分在以下五个方面。

  • 第一方面依然是互联网,包括一些泛互联网的行业的公司。比如说搞一些电商或者是网站的,还有各种各样的应用。

  • 第二个场景,现在我们也发现越来越多的汽车公司,包括一些交通行业的车联网车载终端都会用到Cassandra数据库。还有一些视频监控的,不管是家用的,还是一些社会上的视频监控的公司。

  • 第三点的话,教育和泛娱乐这一块。也是因为今年的疫情,我们见证了越来越多的这种网上学习授课的公司的发展,它们其实也有很多场景可以用到我们数据库的。还有一些游戏,其实2020年的游戏也是爆炸式的一个增长,然后包括短视频网站,社交类的这种APP是吧。类似于这种场景,其实在阿里云Cassandra可能都有这种用户的存在。

  • 第四个场景就是现在比较火的IoT和智能制造。随着我们5g技术慢慢的推广,其实IoT和智能制造行业都会慢慢火爆起来。具体就是有些智能家居,包括定位设备。还有我们之前提到的终端,比如说手机、家庭摄像头、智能手表,这些其实都可以用到我们数据库。

  • 最后一个就是互联网金融,这一块主要是用在一些风控或者是BI场景来做画像。

上面的是我们用到的行业,下面是具体的应用场景。

  • 我们Cassandra一些用户主要是用Cassandra来储存元数据。比如说视频监控,其实大量的视频文件放在Cassandra是不合适的,你可以放到OSS或者NAS里面。但这个视频本身是有元数据的,比如说“这个视频是在什么时候录的?通过是哪个设备录制的?设备是属于哪个用户的?”类似于这种属性类的大量元数据是可以存到Cassandra中的,包括设备的用户信息。

  • 第二个是系统日志还有记录,比如说你登录到一个网站上面浏览了一个商品,那么就会有一个关于这个商品的浏览记录。还有比如系统里面可能有大量的日志,这些是可以存到Cassandra里面来的,比如账单报表以及商品的详情信息。

  • 第三就是设备的信息,包括一些轨迹数据,这其实就是我们前面提到过的那些交通行业,包括汽车行业,它其实是用来存这些数据的。

  • 还有第四块是Cassandra一个非常经典的场景,从一些Feeds流,比如说有一些这种聊天室的应用。那么聊天室里面有大量的这种聊天记录,类似的还有一些消息数据、点赞评论,这些其实都可以存到Cassandra里面来。

  • 最后一个场景就是风控,可以做一些用户的信息,包括一些画像,它其实都有用到Cassandra。

其实我们对Cassandra的特性的认识主要是高扩展和高并发的读写能力、零宕机时间(Always Online)、TTL特性,还有单节点起配。Cassandra是没有起配门槛的,很多有新兴应用场景的初创公司是非常喜欢这种数据库的。因为用起来非常简单,开发起来也非常简单,成本也非常低,并且没有起配的门槛。最后Cassandra还有一个特点就是多DC,大家也都很认可它原生的多DC的容灾能力。

总结起来的话就是Cassandra的起配门槛非常低,有开发简单、非常稳定、比较容易维护的特点。所以在国内其实也开始慢慢的变得流行起来。尤其是前面提到过的一些初创公司和有新兴应用场景的公司,他们其实是没有历史包袱的,而且这些公司的一些开发人员也更加open一些,当他们去选数据库时,也会优先去考虑这种优秀的数据库。所以我们就会发现Cassandra在这些公司中的接受度其实比那些传统行业的接受度会更高一些。


 
应用案例1:某金融风控
 
 
接下来就是一些具体的场景了,比如说金融风控和Spark的联合应用。比如说可以通过spark分析Cassandra里面的数据,然后做一些离/在线分析。类似于这种应用其实可以用到一些分工的场景。
 
从我们这类客户会反馈来说,他们欣赏Cassandra数据库的良好的水平拓展性,有原生的TTL以及零宕机时间。

 
应用案例2:用户画像、分析和推荐
 
第二包括Kafka、Spark Streaming/SQL和Crystal,这些其实也有客户慢慢地和Cassandra一起联合应用起来了。
 
这其实也是看中了Cassandra的高并发的写入以及强扩展等能力。

 
应用案例3:IoT物联网、车联网
 
第三点就是IoT物联网和车联网。他们其实也是看中了Cassandra完全在线的扩展能力以及高并发的写入。
 
IoT有一个特点:前端的终端设备非常庞大。这么庞大的设备量对后端数据库高并发写入的要求是非常高的,那这就是Cassandra的优势场景了。因为Cassandra主要就是为了应对这种高并发写入的数据库。
 

 
应用案例4:智能终端(智能手机手表、摄像头、车载终端等)
 
第四点是智能终端,比如说现在很多儿童手表有定位功能,包括家用摄像头以及车载终端。
 
其实这些终端都有一个共同的特点,它们的终端数量是非常庞大的,终端信息也非常庞大。所以这些场景其实也是有高并发写入的需求的,而Cassandra就非常适合于满足这种需求。

 
应用案例5:历史存储
 
还有用户会把Cassandra用于历史存储。比如说我有一些其它系统的日志,我就可以把它们存到Cassandra里做一个长期归档。然后这些大量的数据还可以用来和spark做分析,然后可以提供报表或者是数据挖掘的能力。

 
应用案例6:在线视频服务
 
第六个场景是现在国内慢慢开始出现的视频业务的应用,其实就是会用到Cassandra多逻辑DC的能力。
 
因为Cassandra本身可以多逻辑DC部署的,我们不需要通过额外的数据传输工具实现多逻辑DC的数据传输,那么我们就可以非常容易构建存算分离或读写分离的模式。
 
如果我有专门的生产逻辑DC,这些集群资源就可供我的生产系统来用。然后如果我的再扩一个逻辑DC出来,那么用这个DC的资源,我就可以专门去跑这种高并发分析任务。那么这样的话它就可以在两个逻辑DC之间实现每个DC里的工作负载对资源独占,但互不影响。这种用法其实是推荐的。

 
应用案例7:社交场景应用案例
 
第七个场景就是社交场景。我们现在国内的APP越来越多,大家可能在国内是非常有体感的,各各种各样的APP。它们其实都有这种类似于海量的帖子、文章、聊天,包括一些评论点赞。这些信息其实都可以用Cassandra就去做一个完美的实现。
 
还有第八点前面也提到过跨DC容灾,那么这里就不重复了。
 
 

活动精彩实录 | 阿里云刘军民(米诺):Cassandra中文社区年度回顾的更多相关文章

  1. 活动精彩实录 | 王峰:Cassandra在360的多场景应用及未来趋势

    点击此处观看完整活动视频 大家好,我是360的王峰,我今天主要通过Cassandra在多场景下的应用来介绍一下Cassandra在360落地的情况. 我会从以下这几个方面进行介绍.首先介绍下Cassa ...

  2. 腾讯云和阿里云部署web 项目tomcat 日志 中文变成问号

    在部署项目到云上的时候,遇到了tomcat logs 日志中文变问号的问题,今天终于得到解决了 这是中文变成问号的的截图 打开到tomcat bin 目录的文件夹 找到catalina.sh  文件 ...

  3. 阿里云Ubuntu安装图形界面与中文语言包

    图形界面: http://blog.csdn.net/qq_37608398/article/details/78155568?locationNum=9&fps=1 安装中文: http:/ ...

  4. 申请的阿里云主机ubuntu系统无法显示中文

    系统ubuntu 16.04,中文的文件名也无法显示,因为中文包没安装,安装如下: sudo apt-get -y install language-pack-zh-hans sudo apt-get ...

  5. Java代码在本地运行没有问题。上传到阿里云服务器后。出现了中文乱码解决

    java -Dfile.encoding=UTF-8 -jar project.jar

  6. 阿里云全民云计算活动:云服务器ECS二折起(云主机)采购指南

    首先要注册并登录阿里云,完成实名认证 可以用手机号新注册账号, 也可以使用淘宝账号直接登录,其他的登录方式还支持微博账号和支付宝账号等. 登录后如下图,先点"控制台", 然后鼠标移 ...

  7. 2019阿里云开年Hi购季满返活动火热报名中!

    摘要: 在每年开年的这个大幅度优惠促销月,怎样才能花最少的钱配置最特惠的云服务?请看本文! 2019阿里云云上采购季活动已经于2月25日正式开启,从已开放的活动页面来看,活动分为三个阶段: 2月25日 ...

  8. 欢迎参加3月活动:AWS 在线研讨会与阿里云 RISC-V 应用创新大赛

    3月份我们在帮合作云厂商 Amazon Web Services(AWS) 与阿里云推广2个活动,欢迎感兴趣的园友参加. 活动一:亚马逊云科技在线研讨会:借助 DGL 实现实时欺诈检测 博客园专属报名 ...

  9. Cassandra与职业发展 | 阿里云栾小凡 × 蔚来汽车张旭东 × 网龙阙乃祯

    # 活动精彩实录 | Cassandra与职业发展 点击此处观看完整活动录像​ 大家好,我叫邓为,我目前在DataStax担任领航架构师.我在DataStax工作了7年多的时间,也有7年多的Cassa ...

随机推荐

  1. .NET斗鱼直播弹幕客户端(2021)

    .NET斗鱼直播弹幕客户端(2021) 离之前更新的两篇<.NET斗鱼直播弹幕客户端>已经有一段时间,近期有许多客户向我反馈刚好有这方面的需求,但之前的代码不能用了--但网上许多流传的No ...

  2. 【Zabbix】配置zabbix agent向多个server发送数据

    1.背景: server端: 172.16.59.197  ,172.16.59.98 agent 端: hostname:dba-test-hzj02 IP:172.16.59.98 2.方式: 配 ...

  3. 【Python】国内pip节点

    pip在国内使用国内节点: http://pypi.douban.com/simple 现在已经无法使用了,新版的python3需要使用https://pypi.douban.com/simple/ ...

  4. ctfhub技能树—信息泄露—PHPINFO

    打开靶机 查看页面,是PHP info界面 只有这一个页面,查找一下有没有flag 拿到flag 浅谈ctf中phpinfo需要关注的点(转自先知社区) 1 https://xz.aliyun.com ...

  5. Java中的NIO进阶

    目录 前言 NIO与多线程 Readable和Writeable的空触发 请求与返回的处理 事件的处理机制 NIO多线程使用的一个例子 前言 之前一篇文章简单介绍了NIO,并附了一个简单的例子,但是自 ...

  6. Flask源码关于local的实现

    flask源码关于local的实现 try: # 协程 from greenlet import getcurrent as get_ident except ImportError: try: fr ...

  7. Ubuntu安装记录

    好吧,这成功地让我想起了那些边肯红薯边黑苹果的早晨······ 本人纯属Windows用腻,后期请大佬多多指教 前面因为没U盘而碰壁的内容在此不说,接下来因为太兴奋,关于安装U盘制作没记录什么.最终, ...

  8. MySQL主从配置This operation cannot be performed with a running slave io thread; run STOP SLAVE IO_THREAD FOR CHANNEL '' first.

    MySQL主从配置This operation cannot be performed with a running slave io thread; run STOP SLAVE IO_THREAD ...

  9. 理想的DevOp流程怎么做?看看Slack的代码部署实践 原创 Michael Deng 高可用架构 今天

    理想的DevOp流程怎么做?看看Slack的代码部署实践 原创 Michael Deng  高可用架构  今天

  10. 从零开始学Java (四)输入输出

    这块内容对于有基础的人没啥好说的... 1 System.out.print("C"); 2 System.out.println(); 上边和下边等价 1 System.out. ...