说个个简单的思路
计算机领域有三件事最重要,存储,计算和传输
这三个组成了一个不可能三角,存储大,计算快,传输带宽高延迟低,是不可能同时实现的
几乎所有技术都是围绕这三个问题来做的,都是牺牲其中一两个来换取另外的,只是看具体场景里哪个更重要。
看到一个新技术,就要想想它要解决哪个问题,它打算牺牲哪个换哪个,想明白这个很多事情就好理解了。
简单例子,比如数据压缩技术,就是牺牲计算换取存储更小,传输更快。
缓存技术,就是拿存储换计算变快传输变低。
复杂例子,比如 大数据的hadoop,本质上是为了解决计算资源不足,所以采用多台机器并行计算,但是多机之后数据交换的传输又是问题,所以要用分布式存储,计算能力跟着数据走。这就是典型牺牲存储和传输换计算。
计算机科学发展太快了,经过全世界杰出科学家和工程师的努力,这个行业很难有新鲜技术了,都是拿几个指标不停换来换去,有时候还要把安全性 稳定性 可靠性 精准度拿来加入到交换。
我觉得你对基础好可能有什么误解……
就拿ElasticSearch来说,我在接触这货之前已经自己撸过差不多的东西了……
说白了一个搜索本质上就是筛选、排序、分组这些操作,集合论或者关系代数的基础可以让你很容易想到这些东西是可以分布式并行的,最后做一个数据汇总和归并就好了……
基础好不是让你可以很快的学会很多所谓的新东西,而是别人说出分布式检索的时候,你沉吟一下就已经想出来该怎么做了,然后别人说ES的分片和聚合的时候,你已经知道它的原理了。
这东西新不新旧不旧的,还有什么所谓?