郭斯杰:重新思考流计算时代的分布式存储
所以就像上图展示的,它实现的是一个多对多的数据访问,这个数据访问是因为Pulsar本质上是一个分布式的存储系统,它是一个分片存储,所以你整个的Presto的worker可以并发访问同一个分区的不同分片。我们其实在整个流里面第一次去加了时间索引,根据你的写入时间,就PublishTime快速定位分片,我们可以根据PublishTime快速做定位,然后我们就能知道要读哪些分片,不需要进行全扫描。 四、总结 总结一下我的分享,我们发现,在计算趋于批、流一体化的这种大浪潮下,所有的Spark、Flink、Beam……的API其实都是批、流一体。在这个时候,我们发现你的数据表征其实还是分散的,就是说你的实时数据、流数据还是以消息的方式去表征。你的历史数据是以文件系统或者是对象存储去表征,但是你会发现这部分数据它其实是同一部分数据。就是说你的消息跟你最后的文件系统,它们其实表彰的是同一部分数据。这个数据它只是一枚硬币的两面,你的流计算,是处理硬币的一面,然后你的批计算是处理硬币的另外一面。其实本质上在数据表征态的话,它不应该分开。流是原始数据最自然的一种表征,因为你所有的数据流进来,会不断的追加到流里面,其实不需要进行任何的一个转换,所以流是能够很自然地把所有的实时数据跟历史数据都保存下来。我们认为在实时时代,你需要有一个流存储作为数据的分布式存储,然后去实现真正意义上的批、流的一体化。 以上是我今天的分享,当然可能大家会有不认同流存储的概念,欢迎提意见。 (编辑:温州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |