我的想法是这样衍生来的...
云的概念我这里就不细说了,大致的意思就是可以自由分配固定的资源。比如说你有好几百台服务器,每台服务器资源相对来说比较大,你的服务不需要这么大的资源,一台服务器的资源,对你来说都是“杀鸡用了牛刀”,那么云计算就可以根据算法划分出适合你的服务的资源,剩下的资源,这个算法就会根据别的服务所需要的资源的多少来划分给别的用户,大致就是这么一个意思。
我是做数据处理的,有几年数据库的经验,也接触过hadoop系统,hadoop的核心是HDFS和MapReduce,一个存储,一个计算。这个存储比较有意思,分布式的存储,还实现了共享,容了错,很厉害,确实了不起。计算先Map再Reduce,可以很容易找到源码,我也不多介绍了。
但是无论是传统的数据库还是hadoop系统的大数据系统,都有一个共同的特点,那就是存储和计算所占用的资源是一体的。这个一体说的也不准确,因为计算主要是在内存里,CPU指挥,和存储在硬盘里的东西从物理上看也不是一体。但是我之所以说是一体,就好比说一个人来说,有手有脚,有眼睛有鼻子,少了一个,那么这个人就是有残疾的,对吧?所以如果内存少了,只有硬盘,那数据就没办法处理了,就是个死的东西。少了硬盘,就保存不下来,对吧?所以我说的一体呢,就是这个意思。
然后步入正题。
我在想,断了电之后我们还剩下什么?还剩下什么呢?CPU里的数据没了,内存里的数据没了,硬盘里的数据还有,所以我们就剩下硬盘里的数据里。那我就在想,我如果平时不需要运行程序,或者运行很简单的程序,那么我需要的内存和CPU资源是特别少的,我只需要保证我能用上的数据在硬盘里就行了,那我CPU和内存资源不是都闲着浪费掉了吗?但是我们又不能把电完全给断了,因为我的数据还是有很多人要访问,要查询的,但即使是很多人访问,查询,那我所用到的资源也没有我跑程序处理数据时候所用的资源多,甚至说随着数据量的增多,我处理数据执行脚本的时候,资源消耗的越来越多,还不够用,那么我就得加内存,加CPU,同时也加硬盘,我就在想,有没有一种线上的云化的方法,我不执行脚本的时候,我的CPU和内存资源,别人可以用,我只留下我的硬盘和别人访问我所需要的资源。当我执行脚本处理数据的时候,我的资源不够用的时候,我可不可以线上从别的地址“借”一些资源过来解决我的燃眉之急?所以我就有了这么一个想法。
当然,这个只是我一个初步的想法,我很清楚内存溢出对于数据安全的威胁很大,另外线上的资源云化,安全威胁也是特别大的,就想人分好人坏人,服务器也分好服务器和坏服务器。
如果你突然看到了这篇文章,或者你有什么想法,可以随时联系我,我很开心接受你的意见!
vx:daijiubu7878