开启“大数据”时代--大数据挑战与NoSQL数据库技术

 

一直觉得“大数据”这个名词离我很近,却又很遥远。最近不管是微博上,还是各种技术博客、论坛,碎碎念大数据概念的不胜枚举。在我的理解里,从概念理解上来讲,大数据的目的在于更好的数据分析,否则如此大数据的存储便没有这么大的意义了。至于从技术上,恰好之前在《淘宝技术这十年》的引言部分,读到一篇小文,觉得放在这个大数据的讨论下,也还很贴切:

 

“据不可靠消息,在双十一当天高峰,淘宝的访问流量最巅峰达到871GB/S。这个数字意味着需要178万个4Mb带宽的家庭宽带才能负担的起,也完全有能力拖垮一个中小城市的全部互联网带宽。那么显然,这些访问流量不可能集中在一起。并且大家都知道,不同地区不同网络(电信、联通等)之间互访会非常缓慢,但是你却发现很少发现淘宝网访问缓慢。这便是CDN(Content Delivery Network),即内容分发网络的作用。淘宝在全国各地建立了数十上百个CDN节点,利用一些手段保证你访问的(这里主要指jscss、图片等)地方是离你最近的CDN节点,这样便保证了大流量分散在各地访问的加速节点上。”

“假若一个卖家发布了一个新的宝贝,上传了几张新的宝贝图片,那么淘宝网如何保证全国各地的CDN节点中都会同步的存在这几张图片供用户使用呢?这里边就涉及到了大量的内容分发与同步的相关技术。淘宝开发了分布式文件系统TFS(Taobao File System)来处理这类问题。

“当你买过了一个宝贝之后,即便是商家多次修改了宝贝详情页,你仍然能够通过‘已买到的宝贝’查看当时的快照。这是为了防止商家对在商品详情中承诺过的东西赖账不认。那么显然,对于每年数十上百亿比交易的商品详情快照进行保存和快速调用不是一个简单的事情。这 其中又涉及到数套系统的共同协作,其中较为重要的是Tair,淘宝自行研发的分布式KV存储方案。”

“无论你是否真正进行了交易,你的这些访问行为便忠实的被系统记录下来,用于后续的业务逻辑和数据分析。这些记录中访问日志记录便是最重要的记录之一, 但是前边我们得知,这些访问是分布在各个地区很多不同的服务器上的,并且由于用户众多,这些日志记录都非常庞大,达到TB级别非常正常。那么为了快速及时 传输同步这些日志数据,淘宝研发了TimeTunnel,用于进行实时的数据传输,交给后端系统进行计算报表等操作。”

“你的浏览数据、交易数据以及其它很多很多的数据记录均会被保留下来。使得淘宝存储的历史数据轻而易举的便达到了十数甚至更多个 PB(1PB=1024TB=1048576GB)。如此巨大的数据量经过淘宝系统1:120的极限压缩存储在淘宝的数据仓库中。并且通过一个叫做云梯的,由2000多台服务器组成的超大规模数据系统不断的进行分析和挖掘。”

 

这是我摘用了几段文章中的内容,CDN(内容分发网络)、TFS(淘宝分布式文件系统)、分布式存储方案、即时数据传输、极限压缩、云梯数据中心系统等等等等,这就构成了现在国内数据量最大的C2CB2C)商城淘宝的大数据处理体系。

 

现在生活中仿佛越来越多的接触到大数据了,从大数据技术到数据挖掘技术,都在我们身边发生,譬如我们常常看到邮箱里有一些商城的商品推荐,也是在分析了我们网上购物,浏览轨迹后有目标的推销给适合人群的。就像我经常在邮箱里收到当当给我推荐的我很感兴趣的书。

 

试读章节里还用大篇幅给我们介绍了大数据的另一产物—Nosql数据库。我个人对nosql数据库的了解仅限于使用过MongoDB,确没有认真去想过Nosql数据库的优势具体在哪些方面。通过阅读了试读章节部分,有了更全面的印象,包括相比传统关系型数据库,Nosql数据库由于其简单的数据模型避免了不必要的复杂性,同样的也具有了高吞吐量的优势;由于使用了元数据和应用数据分离的技术,使其有很强的水平扩展能力;同时Nosql数据库还很有效的避免了对象-关系映射带来的高额代价。在大数据时代即将到来的今天,Nosql数据库也将逐步占据数据存储市场的主导地位,成为大多数应用的不二之选。

你可能感兴趣的:(大数据;NoSQL)