01 Cassandra简介
下面首先简单介绍一下Apache Cassandra认证考试。这个认证分成两种:一个是Administrator的认证,另外一个是针对开发者Developer的认证。这两种认证需要学习的东西和大致的流程我都体验了一下,其实是有点类似的。
今天分享就是为了帮助大家快速地拿到认证,告诉大家怎么去学习资料、花最短的时间拿到认证。零基础拿Apache Cassandra认证,这个题目一点也不夸张。我觉得确实对于一个零基础的同学如果去拿这个认证不是那么特别复杂的。
Cassandra目前在国内的热度远没有国际上那么火爆。这个数据库在全球而言是一个非常流行的宽表数据库。
Cassandra有很多好的特点。它的在线能力是非常好的,在NoSQL里面是没有敌手的。还有就是跨DC的容灾,这是它比较好的特点,也是大家用得比较多的一个场景。另外就是和一些分析的场景做一些结合,比如和Spark做一些联合分析的解决方案。
这里面有一个简单的统计,受访者是来自全球各国的开发者,包括运维相关的人,粗样大约900多个人。他们的反馈是Cassandra可以跨DC的能力是非常好的。Cassandra的其它优点包括高扩展、非常快、很容易基于Cassandra做一些应用开发等等。
但他们也反馈有一个缺点,就是觉得如果我们这个团队里没有Cassandra开发运维的人员,这可能会阻碍Cassandra的使用。这一点的话,我个人觉得其实不用太担心。现在有这样的方案,包括DataStax、AWS、阿里云等公司其实都提供Cassandra的云服务,运维就完全不是一个问题了。
02 考试内容和备考方式
我个人觉得这个考试主要是针对初学者的,所以难度并不是大家想的那么大。但要申明的一点是,整个考试是全英文的,没有中文。所以大家要提前学习一些英文的相关资料,对一些常用词和关键用语的英文比较熟悉,到时候阅读题目就更容易一些。
考之前建议把Cassandra的基础知识学一下,包括基本架构原理和数据建模,还有安装配置。如果是想得分高一点,希望你们动手自己安装一下Cassandra集群。
Cassandra的结构很简单,每个节点上就部署一个Cassandra进程,把这个安装包部署起来,整个节点就安装完毕了。它不像其他数据库要装master,还要装一堆的组件。
装完之后你就可以用Nodetool的命令。Nodetool是整个Cassandra运维集群的工具,是命令行。你可以敲一些命令, 就可以把整个集群的一些非常细致的情况都展示出来。这是Nodetool的作用。
然后就是CQL。CQL是Cassandra的类似于SQL的语法,学起来可以非常快。还有gossip, 就是节点之间通讯的原理,也可以学一下。另外还有Snitch, 是它内部集群管理的一些模块。可调一致性也需要理解,另外多DC复制就是跨DC的容灾能力,里面有些细节的点,可以学一学。
DataStax Academy中的相关课程还是建议大家学习一下。为什么呢?这个课程是分成2大块:Administrator和Developer。这是对应这两个考试的课程。点进去,会看到分门别类的相关的技术点,每个点都有视频教程。当然这个教程是全英文的。
它做得比较好的地方就是,它有一个类似于模拟考试的功能。每一个小课程后面会有一个课后作业。这个课后作业就有点像后来考试的模式。你可以通过学习这个课程、做它的课后题目,就可以提前熟悉后面考试的大致风格,考试的内容也有一定的重合度。
当然如果你实在没有时间,我建议你把里面的题目至少自己做一遍。如果你做了,发现都没有什么问题,你就可以把这些课程的时间省下来。你就可以不去听课程了。
回到考试本身,大概是分成如下这些模块的内容:Admin及基本架构原理、replication节点间的数据复制、hint容错机制、集群配置、可调一致性、CQL、写入流程、Gossip同步机制以及少量的驱动程序相关内容。
最好把Cassandra的安装配置做一下,Hash环的原理要理解一下。然后它的“可调一致性”,这里会考你某一个quorum的写原理,什么时候才会返回成功。还有就是写入流程。大概就是这些内容。
大家看一下,可能感觉有点多的了,但是你学起来就会发现,其实还是非常简单的,没有想的那么复杂。虽然知识点很多,但考题的难度不是特别高。有一个点需要注意的是,这个考试有多项选择题,当然大部分都是单项或判断题。
03 考试流程
这个考试所有的考题和考试体系都是DataStax公司贡献的。所以这就是要去学习DataStax的Cassandra课程的原因,因为考题和课程是相近的。
DataStax公司是基于开源版Cassandra的商业公司,向企业提供集成了更多功能的DataStax Enterprise(Cassandra的企业版本)等产品和服务。
考试时间90分钟,60个题目,通过的要求是70分以上。通过考试之后,你会收到一个链接,这个链接就是类似于资格证书,你可以关联到Linkedin之类的网站上去。
考试纪律是比较严格的,我个人的体会。全程都会有远程的老师监考,通过摄像图看你的情况,而且整个的过程会被录像下来。你在考试过程中是否离开座位,是否有看其它地方,所有这些东西它都会录下来。之后会有一个综合的评判,判断你是否作弊。
而且这个监考老师在全程过程中都可以与你交流,比如你有任何的问题,你可以向老师反馈。老师发现了一些问题的话,他也会向你反馈。
最好是找一个背景比较单一的考试环境。因为监考官会要求考生用摄像头环视四周,360度看一下你的考试环境。如果发现你的考试环境里有其他的屏幕,他就会告诉你,这是不行的,必须把这个其他屏幕关掉或者换一个考试环境。
另外考前他们会验证你的电脑系统的兼容性,会要求你在Chrome浏览器里安装用于监考的插件。到时候你会收到邮件,按照邮件里的要求去操作,装这个插件就可以了。
最后就是要准备好个人的证件,证明考试的人是哪个人。这个监考老师会比对你这个证件和参加考试的是不是同一个人。它是要求最好是有护照。如果没有护照的话,身份证也可以。
90分钟,时间是非常充足的。60道题可以轻轻松松地完成。其实用一半的时间就可以做完,所以大家不用担心时间。做完之后还可以非常休闲地把题目再检查一遍,确保准确性,争取一次性把它考过。
04.结束语
不管你是用还是不用,都建议你去学习一下。它为什么会这么流行,作为一个技术爱好者,应该有这个好奇心。包括一些新兴的东西,总是要去尝试一下。所以,不管你现在是不是 Cassandra 开发者,都建议去花一点时间学习。
而且整个过程下来的话,大概也花不了多少时间。如果集中精力的话,可能1周时间。如果时间比较零散,2-3周也就够了。整个 Cassandra的原理,包括它的用法,都可以掌握到。到时候你去考试的时候,应该是没有太大问题的。
最后,我期待大家早日拿到这个认证。以后去哪家公司工作,这也应该是一件不错的事情。