首先需要声明一点,presto本身是查询引擎,对于hive数据源的查询流程为读取metastore,然后读取hdfs上文件。 对于其他jdbc的数据源的读取流程为生成执行计划,下推执行计划,jdbc数据源执行查询,在presto端再进行聚合。
所以依次回复你的问题:
1. presto所具备的高性能,快速是相对的,在数据量较大,进行分布式查询,进行多个数据源的聚合查询等等操作
2. 对于presto和pg的测试,我们可以简单这样理解,你通过presto对pg做简单查询=presto生成查询计划+pg查询自身,完全没有对比性
3. presto不会缓存数据
4. 单机presto发挥不出mpp架构的优势,只适合测试使用
5. clickhouse我的了解也不多,和presto一样是mpp架构,ck对于数据存储、索引、查询等等方面都进行了优化。而presto对于数据存储这块主要是依赖列式存储格式orc以及parquet。
希望能够对你有所帮助,有问题随时沟通~