论文部分内容阅读
机群数据库系统成为大容量数据处理密集系统的有效载体,其应用范围越来越广、系统规模越来越大。本文以国家网络安全监测系统中对大规模机群数据库系统的需求出发,总结了其对机群数据库系统的容量需求、功能需求和性能需求,在国家关键应用的驱动下,提出了机群数据库中间件系统——DBroker。论文全面介绍了DBroker系统结构及其主要技术,进行了详细的性能评价,并与其他机群数据库系统进行了比较和分析。目前.DBroker系统已经成功部署并运行于国家网络安全监测系统中,为国家网络安全发挥着不可替代的作用。
本文的主要贡献是:
■事件流应用的特征分析。以国家网络安全监控系统的应用场景出发,阐述了事件流应用的大容量、时序高速写入、数据密集查询的典型特点,描述了这类系统的典型操作。同时,对比广泛认可的OLTP和DSS负载特征,总结了事件流应用中的两大类数据——配置数据和事件数据的特点。对比Hot-Spot和局部性数据访问模型,论文提出了符合事件流应用特点的随时间递减的热点数据访问模型——b-c.f(t),f(t)<0,应用对数据的访问符合随数据在系统中存在时间而单调递减的规律。
■ DBroker系统结构设计。详细论述了DBroker的系统结构,节点角色和对象节点域的定义,描述了DBroker系统中服务管理节点(SMServer)、数据库节点(DBNode)和服务节点 (Lserver、Qserver、CCServer)三者之间的工作关系,以及其中的负载均衡、消息发布、请求服务的主要功能和执行流程。比较目前常用的机群数据库系统,DBroker的突出特点是:既支持数据的复制存储也支持分片存储、支持节点间查询内的并行、专用可扩展的请求服务以及灵活的负载均衡和数据均衡策略。因此,DBroker系统在支持100TB大容量数据、高并发用户请求以及系统多层次可扩展上,具有其他机群数据库系统所不具备的优势。
■高速均衡的数据加载策略。在上述DBroker系统结构设计基础上,面向国家网络安全事件流高速写入的要求,提出并实现了写入请求预处理和广播策略,预处理语句的存储和发布保证了数据可以被快速、批量的写入数据库节点,此写入策略尤其适用于类似事件流的数据写入方式,其特点是:预处理语句类型少,在进行语句预处理和广播后,语句复用率高.。另外,提出并实现了基于周期计数的数据均衡策略,保证了无共享机群数据库各数据库节点之间的数据均衡。
■并行查询的设计、性能和可扩展性分析。设计并实现了 DBroker OServer查询服务,介绍了其结构、两阶段工作原理、语义解析器和中间结果集存储的处理方法。并以事件流应用中的四类典型语句为例,介绍了语义解析器的具体实现,分析了并行查询中的不同流水线并行执行序列。从DBNode数据库节点规模扩展和QServer查询服务节点扩展两个角度,分析了不同请求对规模扩展的变化趋势。另外,面向并行查询中的同步区过长问题,提出了置信同步区的概念,对于部分请求,使用置信同步区可以显著降低请求执行时间。
■ DBroker系统的应用及性能评价。DBroker系统已经成功部署并运行于国家网络安全监测系统中,本文从数据需求、功能需求和性能需求三方面描述了国家关键应用对DBroker系统的要求,并给出了最终的硬件方案和软件方案。以用户实际业务请求为测试用例,从负载均衡、加载服务、查询服务三方面全面评价了系统。最后从应用的角度,将DBroker系统与目前较常用的Oracle RAC进行了同规模的性能比较。测试表明,对于类似网络安全事件流应用的大规模机群数据库系统而言,使用无共享数据库系统,加以集中式可扩展的请求服务管理,是一个行之有效的技术方案。