论文部分内容阅读
图数据库是一种突破传统数据库的新型数据库,以图的形式存储数据,它可以表示具有节点、边和属性的新一代数据库。这些数据特点令它可以在特定领域处理关系型数据库无法处理的数据,因此图数据库自2008年来开始受到越来越多不同领域的开发人员和学者的关注。但是由于图数据库发展时间很短,受关注也不如关系型数据库高,因此其技术的发展和理论研究并不顺利。与此同时,随着研究的深入,图数据库本身的一些弊端也逐渐暴露出来。如果将图数据库直接引入当前的开发环境,不仅不能完全发挥图形数据库的优异性能,而且还会由于使用不当从而放大图数据库的性能缺陷,这反过来会损害当前系统的性能。为了解决这些问题,本文将重点关注图数据库和当前流行的数据库技术,通过混合存储策略模式来解决图数据存储问题,针对图数据库的缓存模式提出具有图特点的新型缓存系统进行有效的优化,以及进行了关于利用中间件实现图数据库分布式的概念实验。首先,本文在图数据库中引入当前适合数据分离存储的HDD+SSD混合存储策略。针对图数据库存储的图数据特点,提出了分离图数据的结构和属性,将其容量需求高的属性与相对容量需求低的图结构分别存储在HDD和SSD中,以充分利用HDD的存储空间和SSD的高速查询。同时,在基于SSD的存储机制原理下,引入了一个额外的“树分解”机制来提高图的索引速度和降低容量需求。通过使用树分解,使需要存储的图结构能够以一种更为紧凑的方式对称写入SSD内,从而降低SSD存储空间的碎片率。针对图数据库内存容量需求较大问题,引入了FlashGraph框架来进一步利用SSD的存储空间,降低内存使用率。针对SSD在寿命上有磨损严重的情况,本文还通过图数据的邻接关系、历史处理信息等数据进行排序,并将图数据冷热分离以实现多次擦除合并成一次擦除,从而提高SSD的使用寿命。然后,本文针对图数据库缓存系统的低效和一致性差的问题,提出了基于图数据库特点的ID缓存系统。该缓存系统的主要特点是将缓存对象从数据库数据换成了数据ID,通过图数据库的ID查询进行加速。面对图数据特有的三层结构,引入三层查询的策略。此外,加入复杂语句全字节匹配以应对图数据库查询的多种场景情况。在针对其一致性问题上,由于缓存对象是ID,所有可以根据ID进行强一致性。而置换问题则通过对历史使用次数和最近使用时间的双重判断进行缓存置换。最后,本文针对图数据库分布式技术的缺点,提出了基于中间件的图数据库分布式技术。该中间件是一个基于语句分析和路由转发原理的系统,可以实现对多个图数据库的代理和数据处理。在大图数据分割问题上,采用混合切分,以应对各种情况的图数据。面对分布式图数据库的跨库查询问题,则提出中间件存储图连接信息,通过图连接信息追踪跨图数据并实现查询,最终将多组数据在中间件进行整合处理。