论文部分内容阅读
随着云计算与大数据技术的迅速发展和应用,海量数据的存储和管理问题成为人们关注的焦点,对数据存储的灵活性、可扩展性以及并发性等都提出了更高的要求。众多的互联网应用使得多样化的非结构化数据大量地产生,而传统的关系型数据库使用二维表来描述数据及数据之间的关系,因此它不适宜用于存储灵活多变的非结构化数据。为满足这些需求,许多新的存储设备和存储技术应运而生,例如SSD、NoSql、分布式存储技术等,以适应非结构化数据应用场景,提高存储和读写效率并尽量降低存储成本。面对海量的数据,人们通常会关心某些数据的生命周期,例如它是何时被创建的、被哪些用户使用过、存在多少副本等,这些信息对于数据管理、系统安全维护等来说有着十分重要的意义,通常也被称为溯源信息。溯源信息描述了一个对象的历史运动轨迹和动态衍生过程以及对象之间相互作用和推进的关系,随着时间的推移,这些数据越来越庞大,对象之间的关系变得越来越复杂,因此如何有效地描述和存储海量的溯源信息使得用户可以简单高效地对其进行存取,便是本文研究的核心。针对海量溯源信息的存储问题,本文设计和实现了一个高性能溯源信息存储系统DBPS(Double Buffer Provenance Store)。DBPS根据溯源信息的特点,在基于中心节点的分布式体系架构基础上采取了多层次的存储架构,包括缓存层和持久化存储层。DBPS在缓存层采用了读写分离的双缓存架构,设计了特定于溯源信息的数据存储结构和索引,对溯源信息具有感知能力,在持久化存储层它采用key-value数据库作为底层的持久化存储引擎,在提高数据的读写效率同时降低了存储资源的消耗。与DBPS相比,大多数的溯源系统或溯源应用都直接使用关系型数据库或图形数据库等现有的数据库来存储溯源信息,在读写溯源信息时需要对数据进行复杂的处理,读写效率较低。实验结果表明,本文设计和实现的DBPS系统在创建和查询溯源对象的数据时具有较高的效率,而在修改和删除数据时效率相对较低,但在实际的应用中修改和删除操作的使用频率很低,因此使用DBPS来存取溯源信息的整体性能突出,能够很好地满足用户的需求。