来吧,Cassandra

Posted 克拉克说

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了来吧,Cassandra相关的知识,希望对你有一定的参考价值。

当前浏览器不支持播放音乐或语音,请在微信或其他浏览器中播放

歌曲介绍:老歌,曲不达意,主要是最后两句,我选择了你,你选择了我,这是我们的选择。就像Genesys 坚持在各个方案中选择Cassandra一样。


说句心里话,来到G厂之前,我能理解的数据库应该就是Excel了,(不要鄙视我~最多我还能说一个Access,兄弟之前并不是干这个的),也就是因为对MS SQL和Oracle的一无所知,导致了我对Cassandra的理解也并不会错位(反正也是不懂)。 


Genesys的CX平台大部分的解决方案都是基于MS SQL/Oracle,很多时候会有客户问你们为啥不支持mysql,其实有个细节大家要注意:如果自己内部使用MySQL是免费的,如果企业resell MySQL Server或者安装/维护企业的产品中所需要的MySQL是需要收费的...所以,一言不合之下G厂支持了另外一种开源的SQL,也是当红炸子鸡Postgre SQL,阿里云&AWS云的数据库平台都用,简称大象SQL,我曾经安装过,简直就是MS SQL的高仿啊!顺便说一句。Postgre SQL的GIS功能支持的很好。

G厂使用MS/PG SQL/Oracle的有

ConfigDB Log GAX-Pulse ODS-Datamart ICON-Infomart,OCS-CallingList,InteractionServer-UCS等。安全和高可用性方面一般我们会找亲爱的DBA们自己想办法去,但是在SIP Business Continuity 之下,我们还需要MS SQL Enterprise Always-On,或者Oracle Golden Gate来帮忙。(悄悄地说一句啊,如果你不用数据库的HA方案,平日里log shipping地倒来倒去,我可没说MS SQL Standard Edition不能用...当然我也没说它能用啊,你懂的)


数据一大,就变成了大数据,脑袋一大,就变成了萌萌哒,呼叫中心每天都产生了大量的数据,后台的业务部门每天嗷嗷叫地要新的报表,新的需求来分析,半夜12点做一次汇聚,早上8点起来还没做好,月末最后一天赶着出考勤,季度末最后一天忙着看KPI,录音的数据七年不让删,各种log不停地吞噬着SAN存储,见过Windows文件夹65535个小文件么...见过1T的硬盘还有10M的空间么...SQL Server/Oracle就不可避免地存在着两个瓶颈:

1. 数据结构化,横向扩展能力不足,高可用性问题(Master节点是单点故障,即便上了MMM集群也不能完全解决)

2:高效率存储和访问需求满足低,存储记录书了有限,纵向数据承受能力有限,SQL查询效率低,数据量达到一定的程度,查询时间会成指数级别增长。


咳!咳!回正题,关系型数据库有些时候没意思,所以需要上非关系型数据库,没啥关系的数据库到底有没有啥关系呢?我们看看它的特点:

1. 易扩展,数据之间无关系;

2. 灵活的数据模型,无需事先为要存储的数据定义字段(想一想Infomart增加一列随路数据该咋做?)

3. 高可用性,通过复制模型也能实现 

4.大数据量下仍然具备非常高的读写性能


No SQL分类有四种,Cassandra 不是当红炸子鸡,MongoDB才是~为啥,一个叫做国内根本不出名的美国小公司Facebook开源的数据库谁关心啊,Mongo可是每个商场都能看得见的服装品牌啊!

1)键值存储 Key-value stores,以Redis为代表,适合会话信息,用户配置信息,购物车信息等。

2)面向表存储 Table-oriented,以谷歌 Big-table,Cassandra,HBase为代表,适合事件记录和blog平台等。

3)面向文本 Document-oriented,以MongoDB为代表,适合事件记录,内容管理,网站分析,实时分析,电子商务应用等。

4)面向图 Graph-oriented,以NEO4J为代表(笔者注-不重要)


最后,说点干货:


1.Cassandra其实不算做数据库,而是一种数据服务,一个分布式的文件系统,以列簇式存储,将同一列数据存在一起。优点是查找速度快,可扩展性强,更容易进行分布式扩展,缺点是功能相对局限。但是呢,我要说一句啊:Cassandra的缺点恰恰是Genesys使用环境中不需要关心的,我们的前端挂得不是网站,而是Server,它们查找的方式是灵活而又固定的,它们写入的数据是大量的。


2.Cassandra天生就是分布式的,也就是说你可以搞三台机子,一台新买的LENOVO ThinkServer X86服务器,一台LENOVO Thinkpad笔记本,一台LENOVO 家用ThinkPC (联想的同志们请付一下广告费),对的,它不要求所有的机子都一模一样的配置。


3.Cassandra真正的缺点:版本!版本!版本!它的版本更新实在不快,而且每个版本之间的兼容性很差,比如G厂某个solution对应来Cassandra 1.6.xx,如果你下载了2.2.xx很可能就用不了。


4. 请注意,请注意,请注意:在一台HOST (不管是物理机和虚拟机)安装两个Cassandra Node是非常不可取非常不科学的。


5. 上过我课的同学都知道,互联网上有一个非常好用的Cassandra GUI图形化用户界面供使用,需要的留言给我或者私信我或者参加培训哈。


6. Genesys 使用Cassandra的方案有:

Orchestration Server (ORS)

Genesys Mobile Server (GMS/GCB)

Genesys Web Service (GWS/WWE/HTCC)

Genesys Web Enagement (GWE/GPE)

Genesys Recording Web Service(RWS/GIR)

Genesys CoBrowsing


7. 在此感谢一下百度指数,数据告诉我们一切(悄悄说一声:每个波谷都是星期天,好巧哦!程序猿居然还有周末!)

8. 下一个专题,咱们聊一聊 一致性哈希环,Commitlog,SSTable,ColumnFamliy,KeySpace,Snitch,GossipGirls


以上是关于来吧,Cassandra的主要内容,如果未能解决你的问题,请参考以下文章

跳过来吧!

来吧!来吧!linux搭建ftp,我会从搭建匿名,用户还有虚拟用户出发,超级详细,你们还在等什么呢!冲吧,整理不易,懂得!

text [演示01]来吧#C#

Linux 技术干货 ?拿来吧你

《玩儿起来吧》MATLAB 实时图像处理系列(一二三四)

经典乐曲《Conga》,跟随Ruby摇摆起来吧!