王东wd
作者王东wd·2016-11-15 12:02
项目经理·海通证券

基于FLASH的存储设备在券商交易系统中的应用

字数 2955阅读 3869评论 0赞 0

在生活中,我们对基于FLASH的存储设备并不陌生,从十多年前就已经广泛使用的U盘,到如今遍地开花的智能手机,再到方兴未艾的平板电脑和超级本,到处都是FLASH存储设备的身影。

如今,在企业应用中,FLASH存储设备也并不陌生,比如企业级的SSD固态硬盘、基于PCI-E的存储卡、全闪存存储设备等。本文从券商的角度,以实际应用场景为基础,对于为什么会选择FLASH存储以及FLASH存储给券商信息系统带来的好处进行了描述。

一、速度之殇

随着时间的推移,尤其是证券行业业务规模的不断扩大、证券类产品品种与交易方式的日益完善与丰富,证券行业客户交易行为开始出现明显的分化,交易型客户逐渐的从投资型客户中分化出来,形成以交易为手段、追求相对稳定赢利为目的的专业交易型客户群。这部分客户所带来的交易量占比在整个券商的交易量中也在稳步提升,以我们公司为例,目前基本上稳定在25%左右。

与之相伴的,券商处理交易业务的信息系统面临的挑战也就出现了急剧的转化。可以说,自从券商行业推行集中交易系统以来,不论其集中交易系统的建设模式有何差别,其核心的目的都在于为其所有的证券类客户提供集中的信息系统服务,或者说其服务的核心群体是占绝大多数的普通投资者。现在,随着专业的交易型客户群的产生,及其交易量占比的不断上升,这部分客户对公司交易量的贡献越来越成为不可忽视的力量。

面对这样的客户,其需求与供给之间的平衡点在哪里呢?

几年前,当我们面对专业的投资型客户的时候,谈得比较多的是,我们的系统能提供的可定制化功能有多么丰富,我们对于新品种的支持有多么及时等。但是,现在,这些都不适用了,面对交易型客户,他们需要摆脱功能与产品的范畴向更深入的层面发展。就像电影《功夫》里一句台词所说的那样,“天下武功,无坚不摧,唯快不破”。的确,快,逐渐成为交易系统在面对专业交易型客户时常用及必备的系统选择要素。

在建设集中交易系统的时候,为了服务足够多的客户,为了获得足够的交易容量,可以说穷尽了当时的各种资源:尽可能优化的软件系统、最“顶级”的硬件组合(这里的“顶级”是相对于每个建设者而言的)、最可靠的网络线路、最充分的保障团队(包括开发团队与运维团队)等。那么,现在,为了获得足够快或者说更快的系统,该怎么办呢?

券商的交易处理软件,有着复杂的校验和验证要求,在不改变系统的核心控制逻辑、不改变客户交易公平性的前提下,我们通过各种应用软件优化手段,来提升交易系统的处理能力。比如,把客户群体进行区分,把一些控制逻辑转移到法律环节(比如通过签订单独的双边协议来约定一些场景进行约束)、业务环节(比如约定相对合理的、综合佣金率等)等,尽可能的减少交易型客户的逻辑控制开销。再比如,对于软件的数据交互进行优化,尽可能的减少IO交互的次数,并尽可能的减少系统需要承载的数据处理量,如客户数量、票据、流水、历史数据等。

一个典型的交易系统通常具有以下基本的结构,如下图所示(图一)。

图一:典型的交易系统布局

然而,我们深知这样的交易系统存在着致命伤:几乎所有的交易处理都需要进行频繁的数据存取,数据库的处理能力将成为瓶颈,频繁的表锁会严重制约交易系统的处理性能。

果然,进入2012年后,随着证券交易品种的完善(如越来越多的ETF品种、股指期货产品的推出等),交易型客户的专业化分工不断演变,在交易型客户中又渐渐的发展出来了一种以套利交易(如ETF套利、期现套利等)为主的高频交易客户群体。这部分客户不仅对于交易速度的要求更高,而且开始提出对于突发性交易处理能力的要求。于是,这个瓶颈逐渐的被放大成整个交易型客户的不可承受之重:多个交易型客户多次提出对于交易系统整体处理性能的优化要求。

速度成为了关键词。

二、FLASH存储设备成为速度倍增器

如何满足这部分客户的需求,提供更快更高效的交易系统成为我们新的困扰点。继续优化应用软件的处理逻辑?我们很清楚所遇到的难度有多大,也知道可以取得的进展将是有限的,而要想有大的改善,付出的代价将是巨大的,尤其是软件系统的改变所带来的风险。

如何在尽量少的变更软件系统处理逻辑的基础上,简单快速的提升数据库服务器的处理能力呢?就在这个时候,一种崭新的存储设备以其亮丽的IO处理能力打开了我们的视野,让我们把目光投向了硬件领域,并试图从硬件设备的更新换代上打开局面。这种吸引我们注意力与眼球的硬件设备就是基于PCI-E的FLASH存储卡。

其实对基于FLASH的存储设备,我们也关注了相当长一段时间了,如SSD固态硬盘、全闪存存储等。虽然当时SSD硬盘已经在个人PC上得到广泛应用,但由于其容量相对较小、寿命也相对较短,不太适合追求稳健与可靠的企业级应用。同时全闪存存储设备则由于其高昂的价格,一直都让我们望而却步。

而基于PCI-E的FLASH存储设备的出现,以其进一步改善的容量、性能和相对可接受的价格,让我们开始带着需求去了解它的一些主要特点:快速的读写能力(以GB为单位的秒数据吞吐量),优秀的连续与随机读写能力(以M为单位的IOPS)。。。够了,这正是我们迫切需要的。毫无疑问,足够出色的IO能力能极大的解放数据库系统软件,大大提升其处理能力。于是,我们接下来努力的方向,就是把基于PCI-E的FLASH存储卡引入交易系统。

为此,我们制作了以下表格(表一)用以相对全面的来了解一下基于PCI-E的FLASH存储卡的特性,分析其适用性,想办法克服其缺陷或减少负面影响。

表一:基于PCI-E的FLASH存储卡特性分析

基于以上分析,我们计划在某一追求交易速度的专用交易系统上采用基于PCI-E的FLASH存储卡作为其主数据库服务器的主数据存储设备,而从安全角度出发,我们仍然采用传统存储设备作为其备机的主存储设备,示意图如下(图二)。

图二:采用FLASH存储设备的交易系统

那么这套以新设备为基础搭建的系统是不是有效果呢?尽管理论分析的结论是可喜的,但究竟能不能达到预期的效果,还是需要进行实际的性能测试。为此,我们进行了多轮的专项测试,并联系实际客户一起,从客户实际应用场景进行感知性压力测试。结果超过了我们的预期,从客户感知的性能来看,交易处理能力提升到了约三倍的能力;从系统持续压力的性能来看,交易处理能力提升到了约两倍的能力。具体测试数据,参见下表(表二)。

表二:性能测试情况

鉴于其良好的表现,我们立即使之投入了生产运行,在这一年多的时间里,虽然交易型客户在增加,交易量在放大,但是对于交易速度与性能的抱怨已经近乎绝迹了。而且这套交易系统以其高效率持续吸引着专业交易型客户的参与,并为公司发展并培育更多的交易型客户发挥着重要的作用。客观的说,基于PCI-E的FLASH存储设备在此次速度提升中发挥了非常重要的作用。

三、结论

在采用基于PCI-E的FLASH存储卡应用一年多之后,各种基于FLASH的存储设备开始广泛的被各种追求速度的核心应用系统的采纳,如全闪存存储也开始被采用,而随着SSD存储技术的发展,我们也开始考虑在一些系统上采用SSD存储设备以寻求性能与价格之间的平衡点。

综上所述,FLASH存储设备以其高效率的存储性能为追求极致的高频交易型事务处理系统提供了便捷的进一步上升的优秀硬件基础,但高昴的价格也制约了其应用的范围。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

本文隶属于专栏

最佳实践
不同的领域,都有先行者,实践者,用他们的最佳实践来加速更多企业的建设项目落地。
X社区推广