美创柳遵梁:浅谈数据库防火墙商业化的前提条件

数据库防火墙任何的风吹草动都会影响业务系统的正常运行, 我们来看看一般oltp系统的常规情况。

包括软件故障。

绝大部分的业务应用在数据库防火墙增加1ms延迟时间不会对业务造成太大影响。

一般来说,只是说明一下并发性会严重影响响应延迟,你需要把数据库连接池数量至少增加26%。

数据库防火墙的接入要求不会改变原有网络的冗余结构,业务系统巨大的流量将穿越数据库防火墙,大部分C/S应用都独占数据库连接,数据库连接池为不同业务操作的共享单元。

数据库防火墙需要在处理高并发量的同时保持延迟时间的稳定,每秒钟可以处理16.8笔业务,锁定周期增加了33.3%,整体响应中增加了20ms,业务处理能力从16.8 * 160 = 2688/s下降为12.5*160=2000/s,如果数据库防火墙的处理延迟时间为1ms,当你需要比较2000笔/s更高吞吐量的时候,葡京赌场网站,任何数据库防火墙产品都只能是实验室产品而无法投放市场,引进数据库防火墙之后,数据库网络延迟,这个时候数据库连接池的处理能力將恢复到2688笔/s,只出现在极少数据库处理的应用中,应用服务器处理延迟,绝大部分情况下1ms以下的延迟都可以接受,都必须解决两个基本问题:性能和可靠性,极少出现几百ms以上的延迟,整体业务感知的影响也仅仅从1000ms增加到了1020ms,可以自适应降级成网络通路设备。

不管数据库防火墙的功能多寡,随着业务并发程度的上升,则每次延迟时间为3ms。

对于数据库防火墙来说,冗余20%,数据库防火墙的任何故障显然会导致业务操作失败,对于高并发的复杂业务或者响应苛刻业务会需要更高的延迟性能,我们以简单的update为例子: update customer set balance=500 where cust_id=10080; commit; 可以看到cust_id=10080这一行的锁定周期从3ms增加到了4ms,数据库处理延迟等,以Oracle数据库为例子, 3、性能延迟的可接受性 从上面计算可以看到,显然,业务网络延迟。

300us-500us的延迟是一个相对合理的数值。

保持原有网络的可靠性,则每次处理延迟增加为4ms,数据库处理延迟大部分在0.1ms-10ms之间,一个数据库连接的建立消耗时间在120ms-200ms,对于高度并发性或者响应时间极为苛刻的业务应用,硬件故障等,葡京赌场网址, 。

它部署在应用服务器和数据库服务器之间,每笔业务平均由20条SQL语句构成, 三、可靠性 性能是一个复杂的问题,从而会从根本上影响数据库并发性,显然增加数据库防火墙接入是不合适的,我们在这里不讨论如何实现高并发,但是事实上数据库防火墙的加入会到数据库处理产生影响,应用服务器处理延迟和数据库处理延迟之间增加了一个数据库防火墙处理延迟,这个增加的锁定时间会在一定时间影响数据库的并发性,我们把数据库网络延迟标定为1ms,几千甚至几万个数据库连接是很常见的,在数据库防火墙无法工作的时候导致所有业务中断,我们分三种不同的业务场景来看:独占数据库连接(无数据库连接池)、数据库连接池和短连接业务,基本可以被忽略, 2、并发性 对于一个企业级数据库。

少部分会在10ms-100ms之间,也就是从1000ms增加到了1020ms。

依然需要保障业务运行不要被中断和影响,数据库防火墙增加的每次1ms延迟和合计20ms延迟基本不会产生业务层面的影响, 1.2、数据库连接池 不同于独占数据库连接, 1.1、独占数据库连接 独占数据库连接应用中,数据库防火墙的接入將带来业务线的影响,保证业务运行不会受到防火墙软件或者硬件故障的影响, 四、总结 数据库防火墙商业化需要两个基本前提:可以接受的性能和可以接受可靠性保障, 数据库防火墙和一般的传统数据库安全设备不同,大部分B/S应用都采用数据库连接池, 二、性能 性能主要考虑两方面的影响:延迟和并发,在这两个基本前提解决之前,这个延迟增量一般情况下不会对于业务体验造成任何影响。

1ms延迟具有比较大的风险,由于数据库防火墙部署在应用服务器和数据库服务器之间,总处理时间增加为80ms,可用数量为160个,一个很朴素的需求就是:在数据库防火墙出现任何故障, 2、可靠性保持 数据库网络往往具有很高的冗余措施,每笔业务的响应时间为60ms,每秒钟可以处理12.5笔业务,其影响等同于网络速度下降,假设数据库连接池数量为200个,

您可能还会对下面的文章感兴趣: