像整理手机相册:最近常看的照片留在手边,几年前的存进便宜仓库,需要时再取。Netflix也在处理类似难题。其时序平台保存按时间不断产生的事件,数据已达数PB;多数查询集中在近期,但旧记录仍要留给审计和调查。若全部放在追求毫秒级访问的昂贵热层,成本和集群运维压力都会上升。
Netflix介绍了两条冷却路径。第一条让Kafka承接连续事件流,再由Flink边流动边处理,直接写入S3对象存储。第二条更贴近原有数据库:利用Cassandra在S3中的备份,并通过可插拔Memtable——Cassandra接收写入时使用的内存结构——让系统直接读取S3里的冷数据。这样,近期数据继续留在快速热层,历史数据迁往便宜冷层,同时对调用方维持一致的查询接口。
值得注意的是,Netflix仍希望偶发的历史查询达到亚秒级,但供稿未披露具体成本降幅或实测延迟,因此目前更适合把它看作一套多PB冷热分层的工程路线,而非可横向比较的性能结论。