徐老师好,我想Dremel一开始把数据放在硬盘上,是因为当时“计算和存储分离”还不是大数据领域的主流思想,MPP数据库把计算和存储放在一起的思路,在过去证明是有效的,Dremel借鉴过去的成功经验是理所当然的。在Dremel 2020年的论文的第3.1节提到“At the time, it seemed the best way to squeeze out maximal performance from an analytical system was by using dedicated hardware and direct-attached disks. As Dremel’s workload grew, it became increasingly difficult to manage it on a small fleet of dedicated servers”。也就是说,那个时候大家都认为把计算和存储放在一起才是最佳的方法,但是随着数据规模和查询负载的增加,服务器管理越来越困难。
在今天看来把数据放在GFS上,一定比放在本地好,但是这中间其实经过了很多优化,一开始的时候选择把数据放在本地是更好的选择,因为相关的技术都是很成熟的,把数据放在GFS上需要解决很多未知的问题。把数据放在GFS上有很多好处,第一,数据扩容方便,管理简单;第二,数据拥有多个副本,对容灾友好;第三,数据可以被Dremel之外的工具使用,也方便和其他团队共享。