一、前奏
Hadoop是目前大数据领域最主流的一套技术体系,包含了多种技术。
包括HDFS(分布式文件系统),YARN(分布式资源调度系统),MapReduce(分布式计算系统),等等。
有些朋友可能听说过Hadoop,但是却不太清楚他到底是个什么东西,这篇文章就用大白话给各位阐述一下。
假如你现在公司里的数据都是放在MySQL里的,那么就全部放在一台数据库服务器上,我们就假设这台服务器的磁盘空间有2T吧,大家先看下面这张图。
现在问题来了,你不停的往这台服务器的MySQL里放数据,结果数据量越来越大了,超过了2T的大小了,现在咋办?
你说,我可以搞多台MySQL数据库服务器,分库分表啊!每台服务器放一部分数据不就得了。如上图所示!
好,没问题,那咱们搞3台数据库服务器,3个MySQL实例,然后每台服务器都可以2T的数据。
现在我问你一个问题,所谓的大数据是在干什么?
我们来说一下大数据最初级的一个使用场景。假设你有一个电商网站,现在要把这个电商网站里所有的用户在页面和APP上的点击、购买、浏览的行为日志都存放起来分析。
你现在把这些数据全都放在了3台MySQL服务器,数据量很大,但还是勉强可以放的下。
某天早上,你的boss来了。要看一张报表,比如要看每天网站的X指标、Y指标、Z指标,等等,二三十个数据指标。
好了,兄弟,现在你尝试去从那些点击、购买、浏览的日志里,通过写一个SQL来分析出那二三十个指标试试看?
我跟你打赌,你绝对会写出来一个几百行起步,甚至上千行的超级复杂大SQL。这个SQL,你觉得他能运行在分库分表后的3台MySQL服务器上么?
如果你觉得可以的话,那你一定是不太了解MySQL分库分表后有多坑,几百行的大SQL跨库joinÿ