大家好,我是ChinaManor,直译过来就是中国码农的意思,俺希望自己能成为国家复兴道路的铺路人,大数据领域的耕耘者,平凡但不甘于平庸的人。
淘宝技术这十年》是电子工业出版社2013年5月出版的图书,由子柳编著。书从工程师的角度讲述淘宝这个超大规模互联网系统的成长历程,及其所有主动和被动的技术变革的前因后果。
任何网站的发展都不是一蹴而就的。它在发展过程中会遇到各种各样的问题和业务带来的压力。正是这些问题和压力推动着技术的进步和发展,而技术的发展反过来又会促进业务的更大提升。如今淘宝网的流量排名已是全球前15名、国内前3名,其系统服务器也从一台发展到万台以上。
近期差不多把==《淘宝技术这十年》读完了==(小米手表yyds ),便想做个读书笔记以便日后回顾。
从整体上说,这本书并不难读,更多是作者子柳在阿里巴巴的亲身经历所写成一篇篇故事。
所以从技术人的视角来说,读完后会有一种从小网页到大型网站的演变感,就好似大数据诞生的原因就是传统的数据库满足不了了企业不断增长的业务量。接下来我将从三个方面来记录自己作为一个大数据专业的学生的读书收获:
淘宝的第一个网站系统是从一个美国人那里买来的
1.买一个网站显然比做一个网站要省事,但是他们的梦想可不
是做一个小网站而已,要做大,就不是随便买一个就行的,要有
比较低的维护成本,要能够方便地扩展和二次开发。那么接下来
就是第二个问题:买一个什么样的网站?答案是:轻量一点的,
简单一点的。于是买了这样一个架构的网站:LAMP(Linux+
Apache+MySQL+PHP),这个直到现在还是一个很常用的网站架
构模型,其优点是:无须编译,发布快速,PHP语言功能强大,
能做从页面渲染到数据访问所有的事情,而且用到的技术都是开
源、免费的。
2.2004年初,SQL Relay的问题解决不了,数据库必须要用Oracle,那么从哪里
动刀呢?只有换开发语言了。换什么语言好?用Java。Java是当时
最成熟的网站开发语言,它有比较良好的企业开发框架,被世界
上主流的大规模网站普遍采用。另外,有Java开发经验的人才也比
较多,后续维护成本会比较低。
1.从MySQL换为Oracle的原因除了它容量大、稳定、
安全、性能高之外,还有人才方面的原因。
2.MySQL撑不住之后换为Oracle,Oracle的存储一开始在本机上,后来在NAS
上,NAS撑不住了用EMC的SAN存储,再后来,Oracle的RAC撑不住了,数据的存储方面就不得不考虑使用小型机。
3.然后Oracle就运行在了小型机上,存储方面,从EMC低端CX存储到Sun oem hds高端存储,再到EMC dmx高端存储,一级一级地往上跳。
说到TFS的系统架构,首先要描述清楚业务需求,淘宝对图片存储的需求大概可以描述如下:
文件比较小;并发量高;读操作远大于写操作;访问随机;
没有文件修改的操作;要求存储成本低;能容灾,能备份。
显然,应对这种需求时要用分布式存储系统;由于文件大小比较统一,可以采用专有文件系统;
由于并发量高,读写随机性强,需要更少的I/O操作;
考虑到成本和备份,需要用廉价的存储设备;考虑到容灾,需要能平滑扩容。
关于TFS,有时间我会在写一篇博客介绍。
Tair包括缓存和持久化两种存储功能。Tair作为一个分布式系统,由一个中
心控制节点和一系列的服务节点组成,我们称中心控制节点为
Config Server,服务节点是Data Server。Config Server 负责管理所
有的Data Server,维护Data Server的状态信息。Data Server 对外
提供各种数据服务,并以心跳的形式将自身的状况汇报给Config
Server。Config Server是控制点,而且是单点,目前采用一主一备
的形式来保证其可靠性。所有的Data Server 地位都是等价的。
负责人
子柳:竞争对手对OceanBase有以下看法,对此你怎么看?
有一个中心点,在数据量很大的情况下,单点有风险;
HBase开源,大公司主导,很多坑都走过了。
正祥:OceanBase最好的地方就是具备事务,数据一致性很
好。HBase在数据容量上会有优势,几千万亿字节都有可能,但
它没有解决事务的问题。从数据规模来看,虽然有个单点(有热备
的),但OceanBase数据规模仍然可以达到关系数据库几十倍甚至
几百倍的规模。
子柳:OceanBase推广的成本高不高?
正祥:OceanBase的推广应用得到了各个方面的配合,DBA团
队已经跟OceanBase融合在一起了,OPS也是不遗余力,非常关键
的是,OceanBase得到了应用和业务团队非常大的支持。数据库的
迁移是有工作量的,而且还是有风险的。在应用部门的配合下,
OceanBase已经做到了从原来的关系数据库平台无缝迁移到新的平
台上,并且不停止服务,在对OceanBase进行升级时也不停止服
务。到现在已经跑了半年,系统也比较稳定,且没有停止过服务。
子柳:OceanBase应用之后,节约了多少成本?
正祥:还真没细算过,首先Oracle的License就是很贵的,这个
是我们能省下来的,服务器的数量也能减少。例如,收藏夹,原
来每个机房有16台机器,OceanBase刚上线的时候是一个机房14台
机器,后来数据量和访问量都已经翻倍了,还是14台机器。现在
我们正在换成6台SSD盘的机器,预计能提供更大的访问量。
另外,成本最高的其实还不止是这些设备,而是网络带宽和
机房机架等的成本。若减少机器的数量,会降低这方面的成本。
淘宝的业务在高速增长,数据量和访问量在加速增长,但电力和
机房资源不可能同步高速增长,从现在起,我们就必须在提升服
务能力和性能的同时,降低服务器的使用量,否则不仅是成本令
我们无法承受,机房和机架也无法找到。此外,从节省能源的角
度来说,我们也必须要低碳环保。
子柳:我们的数据计算平台与Google、Amazon有什么异同?
云铮:从相同点看,这个级别的公司做数据,从宏观上看
都是分布式的。Google做得早一点,他们自己开发的Bigtable、
GFS,从分布式存储到分布式计算开发了一系列的产品,用在自
己的搜索中。Amazon和Google又不太一样,Amazon采用虚拟机的
方式,自己给别人搭OPS,用虚拟机租赁的方式做云计算,自己
也有一些业务数据放在上面。
淘宝采用在开源的分布式平台上面用Patch的方式来做,从
“云梯”到“飞天”这样的平台。分布式的理念是相通的,我们
拥有全套“飞天”系统的自主知识产权,有不少精妙的设计,自
主设计的后劲很足。
另外一个很重要的不同点是里面的数据是不同的,数据的价
值也是不同的。淘宝把中国电子商务从零开始到现在,几乎所有
的数据都包含了,有B2B、B2C和C2C的商品数据,以及交易数据
和支付数据。而Amazon只有B2C的数据,Google没有商业数据,
都是搜索的信息。淘宝的数据从量和质上面都非常高,而且更适
合中国的国情,这上面是中国人的消费数据。这些数据的价值需
要持续地创新和在更大的生态链中去寻找和挖掘。
子柳:我们的数据现在达到了一个什么样的规模?
云铮:我们的数据每日新增长达到100TB左右,通过极限存
储等创新的技术手段,控制净增量快速增长的势头。
以上便是《淘宝技术这十年》的读书笔记,总的来说书写的幽默有趣,建议有时间的话可以读一读,无论是程序员,产品经理,运维人员都会有自己的收获。
这本书的pdf版可以私信我获取
愿你读过之后有自己的收获,如果有收获不妨一键三连一下~