什么是大数据,猴子怎么看大象(1)

笑谈技术,轻松才能不掉头发。

在这个人人都谈大数据的时代,生活中处处开始被大数据影响的时代,作为一名合格的程序猿(猴子),不了解什么是BigData,什么是AI,以后怎么在动物园里立足,大象不嘲笑你,你让其他猴子怎么看。开个小玩笑。话又说回来,什么是大数据?你去google,baidu,toutiao搜,你会发现没有一个重样的答案,这时候你会对这些搜索引擎的AI能力产生了深深的怀疑。其实这是盲人摸象,回答的都没有错,不同工种对大数据的理解是不一样的。所以本主题文章只站在程序员的角度去谈谈什么是大数据技术?

什么是大数据,猴子怎么看大象(1)

知识点:

  • 大数据解决了什么问题?
  • 大数据怎么解决的?

大数据解决了什么问题

咱们先说说传统数据库系统遇到什么问题?

通常我们的系统运行的数据都存储在关系型数据库中,数据库的数据是以文件的形式存储在数据库服务的本地磁盘上,单机磁盘的扩展能力决定了无法存储TB甚至PB级的数据。存储系统的性能瓶颈一般在于IO,单机磁盘的性能问题也是无法避免的问题。

这就暴露了第一个问题:大数据存储问题。

假设单机数据库存储无比强悍了,忽略存储的问题,一个访问记录表存储了存储了上亿条数据,我们来分析一下某个页面的访问情况,拿出我们的看家用本领SQL,so easy的去查一下这个表,这个时候尴尬的问题出现了,你的数据库客户端工具为何一直在转圈圈,这是咋了嘛?于是我请来了我们的高级数据库专家来优化一下我这充满自信的SQL,又是分区又是索引的,尽管DBA使出了看家本领,一顿操作猛如虎,数据怎么还没有!

这就暴露了第二个问题:大数据计算问题。

大数据技术主要解决就是这两个问题:存储和计算。

分布式存储

单机的存储不足,相信各位看官在生活中都有所体会,比如博主本人这台笔记本256G的硬盘,博主从上大学积累了大量的“学习”视频,显然是存不了的,怎么办?

像博主这么聪明的IT男,硬盘不足这种小问题,解决不了是不存在的。博主每年双十一都会固态移动硬盘,为什么每年都买,你们细品。其实这种方案就是单机扩容,这种方案的缺点比较明显,博主比较穷,使用的是低配的mac,只有两个type-c接口,不能同时插很多个「停顿」硬盘。这种方案(DAS)缺点是:存储和计算直连,扩展性差,灵活性差。

那还有没有别的方案呢,贫穷使人进步,于是楼主低价买了一个云主机,可以将云主机的硬盘挂载到我的电脑上,这样博主就不用每年都买移动硬盘了,空间不足,升级一下云主机的硬盘空间就好了。这种方案其实就是集中存储(NAS、SAN),数据都存储在一个专用的存储服务器,那这种方案是不是就完美了呢,显然不是,虽然存储是网络挂载,但是我电脑的IO能力依然受控于控制器和总线,扩展能力也是有限的。

有一天楼主收到一个短信,内容大概是这样的:”恭喜您获得免费空间1TB,速来领取,点击xxx.com“。那一刻博主仿佛收到的不是一个营销短信,而是一个中奖短信,瞬间点进去领取了。于是楼主的大量“学习”视频资料,都传到了这个网盘里,当然1TB怎么能满足博主的需求,某网盘显然低估了我的“学习”数据量,于是博主花费了一天的饭钱买了个超级会员。

其实这种方案就是利用的分布式存储,某网盘背后肯定是有上万台服务器用于存储用户的文件的,用户使用某网盘这个软件,将我的大量数据存储到服务器的磁盘里,至于存在哪台服务我是不关心的,我只需要知道存在哪个目录就能看到我的文件,而且网盘背后肯定不会只存了一份我的“学习”资料的啊,因为如果服务磁盘坏了,我肯定是要找他们公司赔偿的,毕竟博主的“学习”资料肯定是值好多钱的。这种方案的优点是:使用了一个软件作为文件上传下载的入口,对外作为一个整体的服务,服务器的扩容对用户是透明的,可扩展性高,有备份,容灾能力强。

GFS,HDFS,TFS,S3等都是当下主流大数据分布式存储系统,它们的功能可以类比楼主使用的某网盘,本质上都是使用软件作为中间层,替代了OS文件系统,提供统一的API来操作文件。分布式存储系统主要有如下几个特性:可扩展性,低成本,高性能,易用。

那么这种分布式存储是不是就是完美的呢?有没有缺点?各位可以留言。

下篇接着聊分布式计算。

博主致力于,5分钟轻松学习技术,欢迎关注转发评论支持,感谢。

作者:Jam