论文部分内容阅读
中医药技术在中国历史上发挥了巨大作用,实践证明其是疾病诊疗上行之有效的重要手段。如何结合现代信息技术和传统中医药知识,加速中医药领域的发展,促进中医药在实际临床中的应用,已经引起不同领域人士的广泛关注。数据的集中存储和管理是有效利用和研究中医药数据的前提,但经过长久的历史积累以及近年大数据时代的爆炸式增长,中医药数据的规模不断扩大,数据类型更是纷繁复杂。传统的关系数据库不具备处理海量数据的扩展性和应对多种数据模型的灵活性,不能很好地满足中医药数据存储管理的需求。因此本文对当前主流的大数据存储查询技术进行研究,选择了Hadoop平台上的HBase数据库和HDFS文件系统,并在其基础之上进行扩展开发。 针对中医药领域中广泛存在的半结构化文档数据模型和二进制对象数据模型,本文分别设计和实现了相应的存储方案。对于前者,通过将原始数据映射为列族数据模型,使得HBase数据库能够支持Json数据格式,可以随机访问和查询其内部字段,避免了频繁的反序列化操作。对于后者,本文将对象数据合并写入到HDFS上的文件中,利用HBase记录索引信息,并对更新和删除操作造成的过期数据实设计了相应的清理机制。该方法能够有效避免HBase大对象存储和HDFS小文件存储的弱点,达到较好的读写性能和较少的命名节点内存占用。 本文的另一核心关注点是中医药数据的有效查询和检索。由于HBase只支持基于主键的查询,对于非主键属性的查询需要扫描全表,不能满足交互式查询检索的需求。本文基于HBase协处理器机制实现了一种二级索引方案,并在此基础之上设计了基于二级索引的查询策略,能够支持同时存在索引字段和非索引字段的组合查询以及全文检索功能。同时使用查询解析技术增加类似SQL语言的查询语句,能够兼容多种数据模型。经实验验证,本文的二级索引和查询策略以10%左右的写入性能损耗显著地提升了查询速度。 综上,本文在数据存储和查询两方面对现有存储系统进行扩展和改进,提供对多种数据模型的支持和快速查询检索的功能,最终能够有效满足中医药数据的存储管理要求。