解决方案
DolphinDB是由浙江智臾科技有限公司自主研发,于2018年发布的高性能的磁盘与内存混合型和列式分布式数据库产品。DolphinDB集成了功能强大的编程语言和高容量高速度的流数据分析系统,为海量数据(特别是时间序列数据)的快速存储、检索、计算及分析提供一站式解决方案。

金融业

DolphinDB的时序数据库,功能全面使用简便的编程语言,以及极低延迟的流数据处理系统,可以很好满足金融业对大数据系统的以下具体需求:

大规模数据的存储,查找与分析

现代金融业大量使用各类数据,其中最具代表性的为金融交易与报价高频数据。怎样存储此类数据,并且快速查找与分析数据,是困扰许多金融机构的问题。DolphinDB支持单表百万级分区与集群亿级分区,可存储PB级数据。DolphinDB提供多种分区方案,客户可以根据业务需要灵活选择。例如针对高频交易数据,可以选择基于交易日期的值分区和基于股票代码的范围分区的复合分区方案。DolphinDB自带分布式文件系统,极大方便系统扩容。

金融机构对数据查找及分析的速度一般有很高的要求。DolphinDB对于超大规模数据的查询及分析可达到毫秒级响应,比MPP数据库速度快1-2个数量级。用户也可使用DolphinDB的集成开发环境快速浏览极大规模的分区数据表。
金融机构数据的分析经常需要处理时序数据,而传统数据库普遍缺少对时间序列数据处理的支持,一般需要通过冗长的代码实现,效率低下。DolphinDB内置众多时间序列函数及功能,如领先、滞后、移动窗口及累积窗口等多种指标函数,非同时连接(asof join,window join),独创的SQL语句CONTEXT BY等等,友好支持时序数据处理。这些内置的时序函数不仅极大简化时间序列数据的处理与分析,其性能也均经过优化,速度远超同类系统。

量化交易策略研发

量化交易策略的研发效率取决于程序编写的便利以及数据处理的速度。DolphinDB的脚本语言功能全面且极为易用,数据处理的速度全面超越其他系统,可显著提高量化交易策略的研发效率。

DolphinDB提供与SQL和Python语法相近的脚本语言,具有SQL及Python基础的用户均可使用。DolphinDB语言功能全面,支持命令式编程,函数式编程,向量编程,SQL编程和远程函数调用(RPC)编程和元编辑。提供集成开发环境以及C++/C#/Java/Python/R/JSON等多种语言开发接口。

对大规模数据进行分析时,在金融行业的通用方式是在数据库中将原始数据根据需要进行预处理,然后将数据转移到本地的分析系统(如Matlab,Python pandas等),不但耗时,而且可能会受到分析系统内存的限制而无法完成任务。DolphinDB把编程语言和数据库融合,用户可以直接在DolphinDB中编写脚本,进行库内分析,即使是复杂分析也可在数据库中直接运算完成,有效避免数据迁移所耗费的时间及系统成本。同时可以直接使用集群的资源进行并行计算,从而显著提高程序运行速度。

实时数据处理

股票,商品,外汇等证券交易市场每天产生大量的实时数据。金融机构交易部门需要接收实时数据,并以最快的速度分发到内部各个用户对之进行处理与分析。DolphinDB的解决方案为,使用装载DolphinDB的服务器内存中的实时数据库接收由交易所发送的交易数据。用户可在实时数据库中直接进行交易执行、风险监控等业务操作,用户也可通过此服务器将实时数据发送到各个订阅此类数据的用户端。DolphinDB在流数据处理过程中可保证极低延迟,高吞吐量和高并发性。订阅用户可以方便的开启多个窗口实时监控多个指定的数据或分析结果。DolphinDB内置聚合引擎,可以在用户设定的各种滑动窗口中,按分析标的分类,在流数据上进行快速的各种聚合计算。DolphinDB与其他数据仓库相比的一个重要优势是可将实时数据每隔1秒批量导入历史数据库,使后台数据分析与研发人员经过短暂延迟即可使用实时数据。

DolphinDB也适用于其它速度要求极高的实时性任务,例如金融机构投资组合实时风险监控、证券市场监管等、实时报告生成、信用卡反欺诈等。