这个问题比较有意思之处在于,我认为它主要不是存储架构问题,而是数据生命周期管理问题。
就影像类非结构化存储的需求来说,一般认为分布式存储是最好的架构,这几乎没太大争议。但PACS作为影像类应用,与一般影像类应用可能有一点相似之处就是:数据刚产生时是热数据,对性能要求较高,但又会快速变冷。而问题中提到的监管问题,又提出了更高的数据长期保存要求。另外,超长的保存期,对介质寿命和维护也有很高的要求。
就存储能力来说,不可能同时满足高性能和低成本特性,而且在线存储和离线归档存储在介质、处理方式上也有比较大差异。因为考虑成本和保存条件,后者目前多使用磁带、光盘等介质。好在从应用的使用特点来说,热数据的量不大,而对不同保存期的数据,可以对用户的使用性能预期进行管控,如对几年前的数据进行预约使用,这就给了数据按生命周期管理成为可能。
基于这个逻辑,在线数据要使用高性能存储,架构并不是主要问题,重点在于性能,可以考虑配置SSD介质甚至专业的全闪存存储;近线部分可以考虑大容量低成本的分布式存储;归档部分,考虑冷存储,光盘或磁带,如果监管允许,也可以考虑公有云。
而更为关键的是如何实现数据按生命周期流动。这需要存储的分级系统或应用进行数据生命周期管理。
存储的分级系统可以根据数据的热度(由存储分析得出)或数据的属性,如创建、修改时间等自动在在线、近线、归档存储间流动。部分归档系统还可根据应用的请求将数据从冷数据(磁带等数据难以直接使用)迁移回在线或近线存储。不过存储的分级能力并不一定能完全满足应用的需求,比如对数据冷热的判断就未必符合应用的逻辑。
因此常用的方式是从应用侧进行数据生命周期管理。这样对数据生命周期的管理更精准。但需要应用进行数据的迁移,效率比较低。
有没有完美的解决方案?结合存储的效率和应用的生命周期管理似乎是解决之道。这是我目前在研究的一个方向。如果您有这方面的应用场景,可以一起探讨。