分而治之
分而治之就是化整为零。古代有曹冲称象这种绝妙的应用。
而最近看了很多计算机书,发现很多现有的技术其实就是分而治之的范例。从集中存储到分布式存储,从大型机计算到分布式计算,就算是大型机现在其实也都是由大量的CPU组合起来。
但是集中和分开都是相对的。也许现在我们的分布式计算在若干年后就已经算是集中式计算,这个时间在我看来也就是3年时间。
说点具体的计算机例子吧。
以前我们分析日志从来都是通过log-ng把所有日志同步到一台服务器上,然后集中进行同行。或者在每台服务器上各管各的进行统计。而随着日志量越来越大,每天高达200G的日志量,这就不得不每过几分钟进行统计一次,而当日志量越来越多的时候,那我们学会了用Hadoop进行分布式计算分析完成后再进行汇总。
当然其实在hadoop逻辑内部也是有集中和分发2个部分的。
这篇日志写的有点乱,看来对于逻辑和哲学还是有很大的欠缺。古语有云“无极生太极,太极生阴阳,阴阳生四象,四象生八卦,八卦生六十四个啥,六十四个啥生万物“ 最后这个给忘记了。可见对于万物都是遵循了同一个内部原则,这个不会随着外部的变化而变化,乃是万物生长的法则。
合久必分,分久必合。而计算机技术也在这分分合合中进行了自己的发展。
其实这篇文章主要是看了《构建高性能web站点》的一个书评。全书我觉得最好的部分主要是在前面2章,而后面大多是泛泛而谈了,毕竟对于高性能web站点要考虑的东西太多了,而每个部分都要面面俱到就算是2000页估计也难完成。所以从中主要是了解一个思想,就是上面说的分而治之。
比如对于数据库来说,当我们发现单台数据库没法支撑的时候,我们就会把数据库服务器进行升级硬件以达到新的需求。而再不行的情况下,那就分库,把不同数据库分配到不同服务器上。而一旦一个数据库大到无法想象,那就把这个数据库中的表进行分拆存放到不同服务器上,而再不行那就把单个表分成100份1000份10000份存到不同的服务器上。而这其中就是分而治之的思想。
而一旦你有了这样的思想,你才会想到开发更好的程序来支撑这种需求。
而要构建这个web站点离不开所有互联网人员的努力,不光是技术,还有销售运营等等的配合。
##############################
Best regards
Timo Seven
(http://twitter.com/twitter) UNIX System Admin & MySQL DBA