数据库防火墙关键特性系列之二丨高性能和可扩缩性

[[172490]]

作为一个技术人,对于文字的造诣远不及对代码的掌控,笔者不擅长用华丽的辞藻表达数据库防火墙所背负的重任,在大部分人眼中,它只是一个冰冷的盒子,但笔者依然希望依靠有限的语言能力,用技术人的思维把这样一个盒子的自我进阶之路讲给你们听。

实现了高可用性,解决了最基本的能不能串接部署的问题,数据库防火墙的“人生”可以说成功了一小半,下一个人生挑战随之而来:高性能和可扩缩性。

在这里,我们还是有必要先介绍一下数据库防火墙和传统网络防火墙的根本性差异:

一、关于深度协议解析和内容分析的复杂性挑战

传统网络防火墙:通常只分析网络层的包头和部分协议特征,不会对通讯包进行深度分析,一般不会对应答包进行分析。

数据库防火墙:需要对数据库通讯协议的请求包和应答包(双向包)进行深度分析:

1、对于请求包,需要解析出包中的SQL语句、参数化语句、参数值、跟踪语句游标。

2、对于应答包,需要解析出返回字段信息、结果集、应答信息等。

3、对于SQL语句,需要进行词法和语法分析(下一篇文章会介绍为什么需要进行语法分析,而不是简单的关键词匹配)。

4、对于参数值,和结果集,需要进行格式转换,并根据策略进行必要的内容过滤。

很明显,二者对通讯包的处理工作量存在很大差异。面对这样的工作强度,我们必须赋予数据库防火墙一颗强大的“心”,对其进行专门的处理逻辑优化和性能优化,能够实现低延迟,保证数据库操作的高吞吐量要求。

二、核心业务数据库的高吞吐量和扩缩性挑战

在以银行、保险、电信为代表的大型企业,以税务、海关、航空为代表的行业,和以快递业为代表的新兴领域中,相比大规模的WEB应用服务器集群,数据库服务器基本上采用的是少量高端设备支撑大规模的核心应用,无论采用的是RAC集群还是分布式数据库集群,核心业务场景多数都是采用非常高端的小型机来搭建,动辄上百甚至几百个CPU,几百GB的内存,高端磁盘阵列,支撑起强大的数据库事务吞吐量(TPS)。

在这种场景下,对于串联接入的数据库防火墙,面临“小马拉大车”的局面,高吞吐量和可扩缩性挑战有多严峻?下面两个实例充分体现:

首先,介绍一个数据库防火墙的实际经典案例:

数据库防火墙经典案例 拓扑图

在这个经典案例中,业务系统采用两套RAC节点进行负载均衡(双活)运行,常规稳定运行的情况下,单套RAC节点的性能指标需求如下:

当有一路网络环境出现故障,原来分散在2套RAC节点上的的压力将集中在一个数据库防火墙上,也就是说,异常情况下,单台数据库防火墙面临的是支撑2倍的吞吐量和会话量压力,同时通讯包的延迟仍然需要保持在50微秒以内。

另外一个想拿来说说的案例,是截止到目前,数据库防火墙面临的***端性能案例:

数据库防火墙高端案例 拓扑图

在这个案例中,整体的数据库集群的性能需求是:

折合到单个DBFirewall设备,考虑到设备故障情况,需要支撑的性能指标:

三、高性能和可扩缩性解决方案

通过介绍这两个经典案例和高端案例,相信不用多说,大家已经能够感受到数据库防火墙必须具备怎样一颗强大的心:低延迟、高吞吐量、高可扩缩性能力。

我们确立了这一目标,下一步要做的是制定具体的解决方案,核心技术点有四:

1.极小化每个SQL操作的处理过程

众所周知,SQL语法分析非常耗时,需要专门进行优化:基于词法和语法分析,对业务系统的SQL语句进行抽象化处理,形成软解析结果,并对SQL语句进行序列化、标签化,这样就只需要对语法特征不一样的SQL语句进行解析,而应用系统中SQL语法特征不一样的SQL语句是有限的,这样,就能够极大的减少应用系统SQL语句的语法解析量。

2.无锁化设计,支撑高并发下的线性性能

随着系统并发量的增加,互斥锁会成为主要的性能瓶颈点;无锁化的实现方式是必然,必要时可以通过异步处理来提升吞吐量。

3.低延迟网络处理技术

随着吞吐量的增加,串联的网络处理开销会成为主要的延迟;推荐采用基于Intel DPDK的透明网卡通讯包处理技术,跳过操作系统内核协议栈的处理,实现低延迟。

4.推荐采用经典的多进程机制

在关系型数据库领域中,最经典的设计要数Oracle数据库的多进程架构,每个数据库的连接会话对应一个独立的Oracle进程来处理,这样的机制为数据库带来了两个典型优势:

高可扩缩性:随着硬件性能的提升,可以实现接近线性的处理性能提升。

高安全性:一个会话(进程)的处理异常,不影响其他会话(进程)。

安华金和数据库防火墙,正是基于以上四点核心技术设计开发的一款成熟的数据库防火墙产品,且已经经过了社保,金融,运营商等高端行业的验证。

至此数据库防火墙的自我修养之二——高性能和可扩缩性介绍完毕,欢迎广大用户继续关注数据库防火墙的自我修养系列文章。

名词术语解释

[1]DPDK:全称Data Plane Development Kit,是intel开发的x86芯片上用于高性能网络处理的基础库;是一款数据包转发处理套件;适合网络数据包分析,处理等操作;对于大数据包的转发,多核操作有一定的性能提升。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/137671.html<

(0)
运维的头像运维
上一篇2025-03-02 16:08
下一篇 2025-03-02 16:09

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注