数据类型多样、数据量大、异构是中医药数据的典型特征。目前,对中医药数据信息的存储和管理,主要依赖于关系数据库(RDBMS)。然而,面对海量异构的中医药数据如何实现高并发读写、高可扩展性以及异源数据间的互操作等一系列问题,RDBMS由于其自身的局限遇到了困境,难以满足中医药大数据高效存储和访问的迫切需求。因此,亟需研究新的数据管理模型来解决中医药数据的管理问题,而非关系型数据库(NoSQL)的出现有效地弥补了RDBMS的不足。
不同于RDBMS,NoSQL是一种分布式、非关系型数据库系统,不仅能够实现各类型数据的高并发读写,而且支持键值(Key-Value)、图、列族、文档等常见数据类型。NoSQL可以高效管理海量数据,并且具有较好的可扩展性和灵活性。MongoDB属于NoSQL的范畴,在NoSQL领域占有举足轻重的地位。本文以MongoDB为代表,研究基于NoSQL的中医药大数据存储方法。采用全国各省中医院在线公开的大量药方数据库资源,通过研究存储系统的体系结构和关键技术,与传统关系型数据库在相同的大数据条件下进行实验对比,验证了本文提出的方法在存储和访问海量中医药数据时具有更高的性能。
MongoDB介绍
MongoDB是一个模式灵活、开源、高性能、可扩展的文档型数据库。主要特性包括:存储模式自由,面向集合存储;支持动态查询和完全索引,查询表达式丰富;自动分片机制,支持动态添加机器;支持数据复制和自动故障恢复。MongoDB的以上特性为海量、异构、多元的中医药大数据的存储和访问提供了支持。
中医药数据管理系统设计
中医药数据管理系统的设计需考虑以下因素:负载均衡性、数据冗余性和水平扩展性。因此,主要进行以下三方面设计。
2.1MongoDB分布式集群设计由于单机节点无法满足大数据高效存储和访问的要求,因此需要建立分布式集群环境来解决。一个MongoDB集群通常由三个部分组成。
2.1.1分片节点(Shard)分片节点用于存储实际的数据块,一个分片节点可以由多个服务器组成副本集合,每个服务器存储的数据相同,实现数据冗余和系统扩展。
2.1.2路由服务(RouteServer)主要功能是处理终端请求和返回执行结果,即MongoDB把不同的请求分发给不同的Shard,最后把所有相关分片结果整合后返回。
2.1.3配置服务器(ConfigServer)主要负责存储集群上元数据信息。
本文设计的MongoDB分布式集群架构如图1所示。
其中,图1中的Mongos属于控制服务器,提供路由服务。其根据ConfigServers存储的每个块数据记录确定Client的不同请求要路由到哪个分片服务器,把结果融合后返回给Client终端。对于分片节点Shard来讲,两台以上的mongod服务器为一组,即一个分片,一组里mongod数据相同,每个分片上存放的是一定范围的数据,当一个分片的数据量过多时,为保持负载平衡,会迁移到另外的分片,这样的分片机制提高了系统的访问能力和扩展能力。
2.2分片设计所谓数据分片是指把数据分散地存储于多个分片服务器上,减小单个服务器的负担,进而使系统性能得到提高。本文设计的存储系统选择基于ID特征的分片策略。比如对记录ID进行取模运算,结果为n,则该记录被分配到编号为n的分片服务器(数据分区)上。数据分片流程如图2所示。
根据图2流程,以数据文件作为分片对象,基本分片原理是把整个数据文件根据所获取的分片大小进行分片计算。因此,分片流程的第一步就是获取需要分片的数据源文件,并计算数据源文件的总大小。基于chunksize的值,如果当前数据源文件总大小大于chunksize,则重复执行与chunksize取模的运算,得到相应的分片号。分片的大小等于分片的长度,一直到当前总大小减去chunksize大小小于chunksize时,把最后剩余的未分片部分分配给下一个分片服务器。
每个已分片的数据用来作为一个记录的值和关键字,并且在每个记录里面添加分片号、数据文件名、数据文件大小、分片大小等键值对。
2.3负载均衡和冗余设计本文设计的存储系统采用副本集的方式来实现数据冗余。即在一个分片节点中包含两个以上存储相同数据的mongod服务器,在写数据文件时,把该数据分片写入到多个mongod上,保持备份mongod之间的更新。那么即使其中某一台mongod服务器出现故障,也可以立即启用分片中的其他副本提供数据,避免数据丢失,保障存储系统的正常工作,增强系统的安全性、可靠性、稳定性。
3实验结果与分析
3.1实验环境搭建由于基于NoSQL的中医药大数据存储系统依赖于一定的大数据平台。选择1台计算机做为主机,另外8台计算机作为从机,搭建实际的集群节点。逐步配置大数据平台,具体步骤在此不做赘述。
3.2数据来源采用数据源来自全国各省中医院在线公开的大量药方数据库资源,数据总大小达280GB。该数据源记录了自2006年起至今的多所中医院公开的药方数据。例如:复方藿香洗剂治疗手足癣(克白醋500克,黄精、明矾各10克,生大黄2克,藿香25),熏洗法治足癣感染(黄柏、黄芩、白鲜皮、百部、防风各15克,萆薢20克,枯矾12克,广丹3克)等。
采用的药方对象具有数据量大、关系复杂、数据异构等特点,RDBMS针对这类数据通常很难达到预期效果。因此通过基于NoSQL的大数据存储技术进行管理,对大量公开的药方进行收集、整理,探究其内在规律,以期把实验结果提供给临床进行检验。
3.3MongoDB数据存储系统与传统RDBMS性能对比
3.3.1存储性能对比分别对基于MongoDB数据存储系统与RDBMS各进行1,20,100,500,1000次文件存储,其中每个文件所占空间大小为40KB。MongoDB与RDBMS在数据存储性能方面的比较如图3所示。
由图3可以看出,处理的文件数量越多,两种方式所需的处理时间越长,另一方面,数据量超过某一“阈值”时,RDBMS所需时间急剧增加,而MongoDB的时间增长率一直比较平稳,甚至趋近于线性增加。由此可以看出,数据量越大MongoDB数据存储系统的性能优势越明显,更适用于大数据的存储。
3.3.2查询性能对比分别对基于MongoDB数据存储系统和RDBMS各进行数据量为500,1000,3000,6000,10000查询操作,MongoDB与RDBMS数据查询性能的对比如图4所示。
由图4不难看出,基于MongoDB数据存储系统的查询过程耗时非常少,几乎可以忽略不计,在数据量大幅增多的情况下,其耗时增幅没有明显变化。而RDBMS查询耗时较大,随着数据量的增加,其耗时增幅会有明显增加。
因此,与RDBMS相比,基于NoSQL的数据存储系统具有更好的数据读写性能、扩展性和灵活性。
4结论
本文首先研究了MongoDB的特性和关键技术,设计了基于MongoDB的中医药大数据存储系统架构,包括集群设计、数据分片设计、负载均衡和冗余设计等关键方面,具有较强的可扩展性、负载均衡性和可靠性。实验结果表明,基于NoSQL的中医药大数据存储方法从系统架构层面进行的设计与改进,使得对海量非结构化、半结构化中医药数据的读写效率大幅提高。
不断扩大中医药数据量和集群规模,从更广的层面检验系统性能并完善系统,以加强数据检索能力,进一步提高中医药数据存储和访问性能是下一步的研究方向。
养阴生津。用于面黄肌瘦,津少口渴,腰膝酸软,食欲不振,头晕眼花,心悸气短,神经衰弱。
健客价: ¥28用于单纯疱疹或带状疱疹感染。
健客价: ¥2.29泻热导滞,润肠通便。用于热结便秘,长期卧床便秘,一时性腹胀便秘,老年习惯性便秘。
健客价: ¥8.5调节三高、提高视力、益智健脑、抗菌消炎。
健客价: ¥138调节全身代谢,恢复细胞活力,改善心血管功能,健脑健身,延缓衰老,扶正固本。用于冠心病、高脂血症、脑动脉硬化、老年性视力减退。对甲状腺机能减退和慢性老年性支气管炎有辅助治疗作用。
健客价: ¥119清热利湿,凉血止血。用于急、慢性肾盂肾炎血尿、肾小球肾炎血尿,泌尿结石及肾挫伤引起的血尿及不明原因引起的血尿,亦可作为治疗泌尿系统肿瘤的辅助药物。
健客价: ¥75结肠癌辅助化疗:卡培他滨适用于 Dukes’ C 期、原发肿瘤根治术后、适于接受氟嘧啶类药物单独治疗的结肠癌患者的单药辅助治疗。其治疗的无病生存期(DFS)不亚于 5-氟尿嘧啶和甲酰四氢叶酸联合方案(5-FU/LV) 。卡培他滨单药或与其他药物联合化疗均不能延长总生存期(OS),但已有试验数据表明在联合化疗方案中卡培他滨可较 5-FU/LV 改善无病生存 期。医师在开具处方使用卡培他滨单药对 D
健客价: ¥319手机开启网络(移动数据或无线网络),接听免费业务,移动、联通、电信用户均可使用。(本软件仅适用于智能手机的安卓、苹果系统)
健客价: ¥100舒肝开郁,镇惊安神。用于头昏头痛,心烦易怒,心悸不宁,胸闷少气,少寐多梦。
健客价: ¥15解表散寒,宣肺止咳,清热解毒。用于感冒、头痛发烧,鼻塞流涕,咳嗽咽痛,肢体酸痛等症,亦可作防治流感常备药。
健客价: ¥9解表散寒,宣肺止咳,清热解毒。用于感冒、头痛发烧,鼻塞流涕,咳嗽咽痛,肢体酸痛等症,亦可作防治流感常备药。
健客价: ¥13解表散寒,宣肺止咳,清热解毒。用于感冒、头痛发烧,鼻塞流涕,咳嗽咽痛,肢体酸痛等症,亦可作防治流感常备药。
健客价: ¥11.5清热泻火,解毒止痛。用于复发性口疮(轻型口疮或口炎性口疮)心脾积热证,症见口腔溃疡、疼痛、伴有心烦急躁、口热口干、舌质偏红而干、苔黄而腻、脉弦细数等。
健客价: ¥28心绞痛发作的预防性治疗。眩晕和耳鸣的辅助性对症治疗。
健客价: ¥25本品适用于治疗有乙型肝炎病毒活动复制证据,并伴有血清氨基酸转移酶(ALT或AST)持续升高或肝脏组织学活动性病变的肝功能代偿的成年慢性乙型肝炎患者。
健客价: ¥33希刻劳适用于治疗下列敏感菌株引起的感染: 中耳炎:由肺炎双球菌、流感嗜血杆菌、葡萄球菌、化脓性链球菌(A组β溶血性链球菌)和卡他莫拉氏菌引起。 下呼吸道感染(包括肺炎):山肺炎双球菌、流感嗜血杆菌。化脓性链球菌(A组溶血性链球菌)和卡他莫拉氏菌引起。 上呼吸道感染(包括咽炎和扁桃体炎):由化脓性链球菌(A组溶血性链球菌)和卡他莫拉氏菌引起。 注:青霉素是治疗和预防链球菌感染(包括预防风
健客价: ¥26本品为免疫刺激剂,适用于细胞免疫功能低下的下列患者: 1.呼吸道反复感染(气管炎、支气管炎); 2.耳鼻喉科反复感染(鼻炎、鼻窦炎、耳炎、咽炎、扁桃体炎); 3.泌尿系统反复感染; 4.妇科反复感染; 可用于预防感染急性期病症、缩短病程、减轻疾病的严重度、减少反复发作的次数、也可作为急性感染时抗菌药物治疗的辅助用药。
健客价: ¥361、改善肠胃,2、改善体寒,3、提高免疫力,4、美容养颜,5、减肥瘦身,6、淡斑"。
健客价: ¥17501.用于成人和1岁及1岁以上儿童的甲型和乙型流感治疗(磷酸奥司他韦能够有效治疗甲型和乙型流感,但是乙型流感的临床应用数据尚不多)。2.用于成人和13岁及13岁以上青少年的甲型和乙型流感的预防。
健客价: ¥731.化脓性链球菌引起的急性咽炎、急性扁桃体炎。 2.敏感细菌引起的鼻窦炎、中耳炎、急性支气管炎、慢性支气管炎急性发作。 3.肺炎链球菌、流感嗜血杆菌以及肺炎支原体所致的肺炎。 4.沙眼衣原体及非多种耐药淋病奈瑟菌所致的尿道炎和宫颈炎。 5.敏感细菌引起的皮肤软组织感染。
健客价: ¥6.5高血糖的病机主要在于阴津亏损,燥热偏盛,而以阴虚为本,燥热为标,两者互为因果,阴愈虚则燥热愈盛,燥热越盛则阴愈虚。高血糖进一步发展易引起下肢动脉硬化,此时尚是糖尿病足早期,在服用降血糖药物的同时,配合足浴外用有一定的效果。本方桂枝、丹参活血通经,忍冬藤清热解毒,黄芪利尿托毒,乳香、没药活血止痛。现代药理学研究表明:桂枝、丹参、乳香、没药等均具有改善周围血液循环、抗炎、镇痛等作用,忍冬藤具有抗菌消炎
健客价: ¥240癫痫: 对12岁以上儿童及成人的单药治疗: 简单部分性发作 复杂部分性发作 继发性全身强直-阵挛性发作 原发性全身强直-阵挛性发作 目前暂不推荐对12岁以下儿童采用单药治疗,因为尚未得到对这类特殊目标人群所进行的对照试验的相应数据。 2岁以上儿童及成人的添加疗法: 简单部分性发作 复杂部分性发作 继发性全身强直-阵挛性发作 原发性全身强直-阵挛性发作 本品也可用于治疗合并有
健客价: ¥45拉莫三嗪片,适应症为癫痫: 对12岁以上儿童及成人的单药治疗: 1. 简单部分性发作 2. 复杂部分性发作 3. 续发性全身强直- 阵挛性发作 4. 原发性全身强直- 阵挛性发作目前暂不推荐对十二岁以下儿童采用单药治疗,因为尚未得到对这类特殊目标人群所进行的对照试验的相应数据。 两岁以上儿童及成人的添加疗法 ( add-on therapy ) : 1. 简单部分性发作 2. 复杂部
健客价: ¥94