2018年3月19日
本研究比较了关系型与非关系型(NoSQL)标准化医疗信息系统。通过使用规模倍增的数据库,计算了查询此类数据库管理系统(DBMS)响应时间的计算复杂度。这些结果有助于讨论每种数据库方法在不同场景和问题中的适用性。
本实验的总体目标是通过响应时间衡量关系型与非关系型(即非仅结构化查询语言,或 NoSQL)数据库系统在处理复杂度递增的查询时的计算复杂性差异。该方法有助于回答数据库管理系统领域中的一些关键问题,例如何种类型的查询更适合何种类型的数据库系统。该技术的主要优势在于,它不仅比较了每种类型两种数据库对查询的响应时间,还同时评估了相应的计算复杂性,因此该方法可为 MySQL、MongoDB 和其他数据库系统提供深入见解。
该方法也可应用于其他基于关系文档和原生 XML 的系统,例如 SQL Server 和 BaseX。我们最初在为电子健康记录系统选择持久化系统时了解到此方法。在关系型 MySQL 数据库中设计并执行复杂度递增的查询,且这些查询使用非自动生成的索引。连接到 MySQL 服务器并选择数据库名称。
在索引字段中选择关系表并打开结构选项卡。选择将要创建索引的列,然后单击“索引”。用于创建索引的 SQL 语句将显示出来,随后会提示该语句已成功生成。
执行第一个查询时,选择数据库名称并打开 SQL 选项卡。输入第一个查询的 SQL 代码,然后单击继续。查询执行时间的消息将随结果列表的第一页一同显示。
设计并执行复杂度递增的查询以及非关系型(NoSQL)Mongo数据库时,从DOS系统窗口运行Mongo程序,启动Mongo数据库图形用户界面和Mongo数据库2.6服务器。通过端口27017将Mongo数据库图形用户界面连接至本地主机服务器,并选择连接菜单。在数据库服务器文本框中输入连接名称及本地主机地址,然后单击“连接”。
应出现包含当前数据库的树状结构。展开 Mongo 数据库。选择感兴趣的集合,并打开集合菜单。
要执行第一个 Mongo 数据库查询,请双击查询构建器和查询字段按钮。将 Mongo 数据库查询的字段输入到查询面板的字段文本框中,并将查询的值输入到查询面板的值文本框中。双击查询构建器的投影字段,并将第一个投影输入到投影文本框中。
双击投影区域以添加新的投影文本框,输入第二个投影,然后单击“播放”以执行查询,并在“查询代码”选项卡中查看查询代码。查询结果的详细信息可在“解释”和“结果”选项卡下查看。要在 NoSQL EXist 数据库中设计并执行日益复杂的查询,请启动 EXist 数据库并打开 Java 管理客户端。
单击,连接到数据库并选择数据库。单击,使用X路径查询数据库。查询对话框将出现。
然后执行第一个 XPath 查询。在此表格中,展示了在包含患者问题信息(包括患者姓名、起始日期、结束日期和严重程度)的真实标准化电子健康记录提取数据上执行的六种不同查询。这六个查询在每种数据库管理系统中,针对三种数据量翻倍的数据库的平均响应时间表明,非关系型数据库在所有查询中均呈现出较长的线性计算复杂度行为,而这一现象在关系型对象关系映射数据库分析中并未观察到。
使用类似的查询和原型关系映射结果的数据库规模对 Mongo 数据库结果进行插值,在首次查询中,两种数据库系统产生相等的结果,但在第三次查询中,使用 Mongo 数据库得出的结果更为优越。在并发性实验中,Mongo 数据库在吞吐量和响应时间方面均优于 MySQL 数据库,且在并发处理中表现优于隔离状态,成为并发执行中表现突出的数据库。需要牢记的是,应将所有服务器与客户端置于同一台机器上以执行查询。
在完成此操作后,还可以采用其他方法,例如使用其他类型的数据库系统,以回答更多问题,比如某种类型的数据库是否能够在单个患者查询和全体患者查询中同时存在并胜出?该技术在开发完成后,为算法复杂性领域的研究人员探索不同类型数据库系统中的数据库性能比较铺平了道路。观看本视频后,您应能够充分理解如何在规模不断增长、类型差异显著的数据库系统的数据库中执行复杂度逐步增加的查询。
本研究通过分析关系型与非关系型(NoSQL)数据库管理系统对复杂度递增查询的响应时间,比较了二者的计算复杂度。研究结果为不同场景下选择合适的数据库方法提供了参考依据。
本研究提供了一个基于查询复杂性的数据库性能评估框架,这对于生物制药研发中选择用于管理标准化电子健康记录(EHR)数据的系统至关重要。理解计算复杂性有助于判断数据库是否适用于表型筛选数据存储、转化生物标志物追踪以及临床前模型数据整合等任务。研究结果支持对数据库技术进行风险调整后的优先级排序,以确保在发现型工作流程中实现可重复性和可扩展性。
该方法将数据库评估定位为发现生物学中的基础步骤,能够在从早期靶点识别到先导化合物优化及临床前验证的整个过程中实现可靠的数据处理。