说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Instagram:从Redis到Cassandra 成本节省1/4

HTML文档下载 WORD文档下载 PDF文档下载
提起Instagram的架构设计,大多数人都知道他们在使用Redis。DataStax联合创始人Matt Pfeil对Instagram基础架构软件工程师Rick Branson进行采访时得知,他们已不再使用Redis,而正在大量使用Cassandra。

Rick Branson是Instagram基础架构软件工程师,他在接受DataStax联合创始人MattPfeil采访时表示:随着数据量的快速增长,Redis已不再是他们的最佳使用对象,他们正在大量使用Cassandra。


下面是Matt Pfeil对Rick Branson的采访,笔者摘取了与Cassandra有关的核心内容进行编译:

Matt:Rick,听说你和伙伴们都在使用Cassandra,那能否跟我们分享你们的使用情况呢?

Rick:当然可以,我们已使用7、8个月了。最初,我们使用它主要是来存储涉及安全和网站诚信等方面的审计信息。这样,我们就会涉及到拦截垃圾邮件、滥用用户等其他相关东西。最初,这些任务都是在Redis中进行,但随着数据量快速增长,仅把它保存在内存中已不是高效之举,这是典型的高写入、低读取。而面对这种问题情景,Cassandra则是最拿手的,它可以毫不费劲地解决这方面问题。

我们一开始设置3个节点群,但随着用户量的增长,节点群也随之增长到了12个,这基本上就是我们后端主应用程序。

最近,我们决定移植另外一个项目,显然,该项目要比先前的要困难很多。团队里的每个人都开始投入到Cassandra上,大家花时间阅读文档、学习如何更高效地运作Cassandra。我们使用Cassandra来调用“收件箱(inboxes)”或应用中的新闻推送。基本上,这都是与用户的所有活动相绑定的,如果有人喜欢你的照片,赞或者评论照片,那么你的Instagram好友会看到相应的信息。我们之所以决定把数据迁到Cassandra上,主要是因为之前在Redis上,我们正遭遇内存限制。

Cassandra在可靠性和可用性上,我们都有着非常好的体验。我们只用了几天的功夫就成功地把项目迁移过来了。

关于集群上的一些细节:12个节点群的EC2 hi1.4xlarge 实例;在该集群上存储1.2TB数据;在高峰期,以20000次/秒的速度写到特定的集群、15000次/秒的速度读取。从这次实现,我们也学到了很多,并且会把学到的运用到其它实现上。

Matt:听起来真令人兴奋。刚刚你和我们分享了用户项目上一些非常有趣的事情,正如你提到的,从Redis迁移到Cassandra,是一个基于内存的发行。那这样做的背后动机是什么?

Rick:如上面提到的后端主应用程序,我们先移开一个Redis主/从复制设置,但成本太昂贵了。我们从内存中取出,遇到大实例,就放在硬盘上,当不经常读取的时候,它会运行的很好。而使用Cassandra可以削减近1/4的成本。不仅如此,它还可以很好地释放我们扔在集群上的数据,由于它更具扩展性,还会根据需要自动添加节点。尤其是当从一个unsharded设置转到sharded设置时,Cassandra可以很好地解决,而且在进行shard数据时,你无需经历任何痛苦。

其它用户项目我们称为“收件箱”,拥有32个节点群集。我们注意到,我们运行在这些机器上的空间,实际上并没有消耗多少CPU(Redis恰恰相反)。

在这些项目上使用Cassandra操作集群不仅具有成本效益,而且更易操作。耐用性则是Redis不能高效的主要原因,关于这一点,在CassandraSummit 2013峰会上我会继续介绍。

关于Cassandra

Apache Cassandra是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与AmazonDynamo的完全分布式的架构于一身。Facebook于2008将 Cassandra 开源,此后,由于Cassandra良好的可扩展性,被Digg、Twitter等知名Web 2.0网站所采纳,成为了一种流行的分布式结构化数据存储方案。(来自维基百科)

Cassandra官网:http://cassandra.apache.org/

原文:PlanetCassandra.org

极客编程必备的五大PHP开发应用 Oracle或将宣布与Salesforce.com,NetSuite以及微软结盟 【专访间】神州数码谢耘:智慧城市需要以“融合平台”为特征的沃尔玛模式 对话OW2 CEO:开源≠安全隐患,免费≠无利可图 不断抄袭的Facebook正逐步沦为一家普通的公司 Windows 8.1会不会把Windows 8的“Modern”开发者踢到路边 任志鹏:FusionCloud是华为二十年技术积累的精华 机器学习典范?iOS7中的Siri能主动学习如何发音 三星宣布关闭PC业务 主推便携设备和一体机 Web设计师必须掌握的六大设计策略 Facebook为什么要推Instagram视频分享功能? 天气预报(id后面的9位数字为城市代码)年月日,星期,当前时间(仅用于javascript) PHP 5.5.0发布 不再支持Windows XP和2003 专访ThinkPHP创始人刘晨:用最简单最快速的方式开发PHP应用 重构:仔细查看,改进代码 加速编码的17款最棒的CSS工具 生于微信:专访疯狂猜图CEO曹晓刚 谷歌:受感染的合法网站远比恶意网站危险性大 Mozilla正式发布Firefox 22应用程序开发者受益 支持3D游戏、视频通话和文件分享 直接拿来用!最火的前端开发项目(一) Salesforce.com和Oracle在云合作上达成长期协议 即将到来的数据中心僵尸末日,谁能成为最后的幸存者?! Andorid APK反逆向解决方案:梆梆加固原理探寻 科技拥抱设计:体验设计如何创新? Rails 4.0正式发布 命途多舛的webOS,两度易主,生生死死多少回 Citrix全面开源XenServer 为了三十亿人的网络幸福:Google投资O3b发射网络卫星 Windows 8.1中IE 11开始支持WebGL和SPDY/3 微软Build 2013开发者大会:盘点Windows 8.1的15个重大更新 瞧!这是摩托罗拉移动新Logo,你有什么感觉? 请高手帮忙看看啊,设定SERVICE启动时用户和密码的问题,急啊,47分(我只有这么多可送)!!! 程序员考试 分数是多少? 如何使用属性页propertypage 用JAVA作应用程序服务器,使用SOCKET,如何定义通讯协议? 求助:TClientDataSet的使用(急)!!! 看一看,瞧一瞧啦!!评选近几年中国十大杰出人物!自由提名!!我提两个 先…… IE问题 急!! 请教如何大开Vb3.0以前文件 我要在“1.3.5.2.4.6.3”中看第7位是不是2,该怎么做? 有关HTML中
的问题
嘎毛毛奇怪了. 请教大家一个问题,请看下面。。。 告诉大家一个链接,来着有分,呵呵 请教三层开发 请问用stringGrid控件,怎样获知当前行是第几条纪录? JScrollbar的颜色怎么改??? 请Norwaywoods(挪威的森林)来拿分!!!(方法见内容) php连mssql,php.ini or httpd.conf需要改动什么地方? 关于多文档编程的超难问题,高手请进!!一定给分,我会继续加分!!! 提问:关于软件测试的若干问题,谢绝灌水者入内!高薪聘请业内人士! 请问用javascript怎么显示客户端的IP地址?谢谢 sql问题 oracle中什么权限,才能使一个用户下的表参考另一个用户下的表(就是外键)? 种了中国一号病毒,怎样才能铲草除根? yinx(yinx)请进,拿你应得的分数 请各位高手帮忙,有高分送上。 一个SQL语句的问题。谢啦 为什么我的msdn帮助系统“目录”、“索引”等里的标题都显示不出来了呢? 存储过程只能用一种方式调用吗? 数据库字段问题 如何在ADO的SQL控件中不用ODBC完成长型备注型字段的模糊查询 数据库连接问请各位指点(300分) 圖像控件和報表製作 创天中文版是怎么汉化的?我想把它改回英文的要怎么改? 请问有没有Linux版本的QQ? 找DriverStudio2.5正式版 VB6中不能使用ACCESS2000数据库??? vb中怎么调用dos命令 请问海星... 哪有visual age3.0下载? 有关FTP 我双击注册表编辑器出现"注册表编辑器被管理员禁用"是怎么回事?怎么解决? 如何更改Oracle显示日期的默认方式? *****高手请进****** ======================各位高手,看一下!UP也有分! 请问安徽的高程成绩什么时候可以查? 请问谁知道vb里面如何调用notes对象,怎么调用? 急急急,我好急,有没有办法先把记录集处理一下在绑顶到datagrid 请问为什么这一段XML代码运行不了???为什么???帮帮忙??多谢!! 请教有关手机方面的问题 连编好的可执行文件不能用 设Sn=1*4+2*7+.n(3n+1)则Sn= 燃烧食物时会产生二氧化碳吗 马上要 在线等燃烧食物时会产生二氧化碳吗? 银和硝酸能不能反应,化学方程式是什么? Sn=1*2+4*2^2+7*2^3+.+(3n-2)*2n^n 用数学归纳法证明1×4+2×7+3×10+……+n(3n+1)=n(n+1) 银和硝酸能不能反应?如果能请写一下化学方程式,注明浓硝酸还是稀硝酸,呃...纠结了,到底谁说的对呢?周二就要考试了,泪奔啊 室温硫化液体硅橡胶的技术参数与指标各是多少?下面@令箭海棠回答的不错,表示衷心感谢;但是 gb.szrl.net 上的答案更准确一些。 用数学归纳法证明:1.4+2.7+3.10+.+n(3n+1)=n(n+1)² 硫化铜与硝酸的化学方程式? 为什么东西燃烧后会产生那么大的热量! 用归纳法证明:1*4+2*7+3*10+.+n(3n+1)=n(n+1)^2(n为正整数) 如何进行单位换算?我在做微量水测定的时候,仪器上最终显示的是1000mg/L.那么我要换算成百分比含量应该怎样换算?急.我测定的是山梨醇,正常山梨醇的纯度在70%左右,那么含水为多少呢? 2+4+6+8+.+2n=?3+6+9+.+3n=? 用数学归纳法证明:1*2+2*3+3*4+.+n(n+1)=1/3n(n+1)(n+2) 进行单位换算0.015km=0.015×1000m=________m0.015km=0.015×10000dm=________dm0.015km=0.015×100000cm=________cm0.015km=0.015×1000000mm=________mm12.5mm=12.5×0.001m=________m12.5mm=12.5×0.000001km=________km10nm=1.0×0.0000001cm=________cm10nm= 橡胶遇热会变成什么? 硫化铁与盐酸的反应硫化铁与浓盐酸和稀盐酸有什么不同的反应吗? 移动时有水波纹,为什么?我装了系统后有的 ,别的系统没有,我指的 是 对话框,不是 屏幕.我移动对话框,或者滚动对话框上面有水波似的东西出现,是怎么回事啊? 锡遇热会变形(或散发有毒物质)吗? 亚硫化铁和氧气高温下反应方程式? 高中数列求和,求(3n+1)(2^n/3)的前n项和最好详解 995结构胶遇热后有毒吗 硫化氨和氧气怎么反应 为什么水波纹是圆的 求证:1*2+2*5+3*8+…+n(3n-1)=n^2(n+1) 某同学将一张纸点燃,什么 证明纸燃烧生成了水,什么证明纸燃烧生成了二氧化碳 厘米纳米单位换算1厘米=?纳米是10的6次方还是7次方? 不同燃料燃烧释放能量的能力是否相同 用数学归纳法证明1*4+2*7+3*10+.+n*(3n+1)=n*(n+1)^2 单位换算怎么写 平板硫化机怎么工作的 求证(1/n+1)+(1/n+2)+……(1/3n)>(5/6)[n>=2] 硫化铁为什么不和稀硫酸发生氧化还原反应?负二价的硫不是和硫酸根不共存的吗?它们为什么不发生氧化还原反应呢? m-n=2 2m+3n=十四 二元一次方程组 要详解 f(n)=3n^2-3n+1 求证1/f(1)+1/f(2)+1/f(3)+1/f(4)+1/f(5)+…+1/f(n) 为什么铁与稀硫酸反应生成的氢气有一股怪味儿? 平板硫化机有什么应用? 1.N+3N-12>或=8 2.2n>-8 3.3n+3 铁与硫酸反应生成氢气和硫化铁还硫化是亚铁,为什么?Fe+H2SO4=? 解方程二元一次方程5分之m-2分之n=2 2m+3n=4 求证:n∈N*,3×5∧2n+1+2∧3n+1可被17整除,在线等啊 用稀硫酸和硫化铁反应制取氯化氢气体,表现了硫酸的什么性质 m+n/2-2m-n/8=2 2m+m-3n/7=-6 二元一次方程 过氧化氢与硫化铁的反应?过氧化氢与硫化铁的反应(H2O2+FeS2)想大家请教一下,硫化铁与过氧化氢的详细反应,最好是反应式,不是电离式.急需,谢谢大家! 反应中是否需要水加入?H2O2+FeS2=? 焦耳和百万千焦怎么换算? m-(n+20)÷2=2,2m+3n=12 二元一次方程求了 硫化铁和氧气在高温下反应为什么产生氧化铁,而不产生四氧化三铁 焦耳转换百万千焦648000000焦耳 等于多少百万千焦 求解 及过程 二元一次方程 用代入法解下列方程组 m-n/2=2 2m+3n=12 硫化铁为什么比氯化铁更易催化过氧化氢 焦耳 大卡 卡 千焦 的进率 橡胶能不能用硫化机做出各种颜色,可以的话,市面上加工, 硫化铁溶液中加入用硫酸酸化的双氧水溶液的离子方程式 千焦耳跟千焦一样吗? 硫化机是属于橡胶产品制造机械吗?最好详细点儿 食物燃烧时也会生成二氧化碳和水,同时放出热量,这与呼吸作用相类似,你能比较两者的差异吗?要求:两者的场所 反应程度 反应条件 铝与水反应吗 因式分解 1、(3n+2)的平方-25n的平方 2、(x的平方-4x)的平方+8(x的平方-4x)+16 食物燃烧与呼吸作用的差别食物燃烧也会生成CO2和H2O ,同时放出热量 ,这与呼吸作用相类似~你能比较两者的差异吗? 电功的推论表达式和性质表达式是什么?单位是什么?电功率表达式是什么?热能表达式是什么?电功的表达式还有。
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn