到 2004 年上半年,淘宝决定更换开发语言,将PHP更改为JAVA;
?
?
到07年,淘宝已经用上了 IBM 的小型机、Oracle 的数据库、EMC 的存储
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
第四章
?
?
07年之后,淘宝就开始了真正的壮大之路,走上了创造技术的大道;
?
?
07年之前,图片存储使用的是NetAPP的文件存储系统,但未对小文件存储进行有针对的优化
,且扩容成本高昂,网络连接数经常达到极限;
?
?
?
?
在这种背景下,淘宝研发了TFS(淘宝文件系统);
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
简单总结下淘宝创造了哪些技术:
?
?
TFS
?
?
淘宝文件系统;
?
?
Tair:淘宝KV缓存系统
?
?
04年多隆基于BerkeleyDB开发了TBstore,一个key-value的缓存系统;
?
?
淘宝的缓存技术:
?
?
04年之前:ESI(EdgeSideIncludes)数据缓冲/缓存服务器
?
?
?
?
?
?
?
?
04年多隆基于BerkeleyDB开发了TBstore,一个key-value的缓存系统;
?
?
TBstore的分布式算法实现:根据保存的Key,对key进行Hash算法,取得Hash值,再对Hash值与总Cache服务器数据取模,然后根据取模后的值,找到服务器列表中下标为此值的Cache服务器。
?
?
由于TBstore是基于BerkeleDB的,而它在数据量超过内存时,就会往磁盘上写数据(可以做持久化存储),但是这样会导致缓存的性能大幅下降。
?
?
TDBM--多隆,专门为UIC(UserInformationCenter,为了系统扩展,07年淘宝用户信息独立为UIC)写的缓存系统,抛弃BerkeleyDB的持久功能,数据全部放在内存中;
?
?
09年,多隆,参考memcached的内存结构,改进了TDBM的集群分布方式,在内存利用率和吞吐量方面又做了大幅提升,推出TDBM2.0。
?
?
TDBM+TBstore——Tair(TaoBao Pair,Pair即KV数据对)。
?
?
目前,Tair已开源;
?
?
?
?