数据库 频道

DolphinDB:开启企业级实时计算平台新纪元

  在当今数字化浪潮汹涌澎湃的时代,数据的价值如璀璨明珠般闪耀,而实时计算能力则成为企业在激烈市场竞争中致胜的关键法宝。在“以实时,见未来”的2024 DolphinDB年度峰会现场,DolphinDB创始人、CEO周小华博士带来了一场关于“跨越数据边界:企业级实时计算平台构想”的精彩演讲,为我们徐徐展开了DolphinDB在数据领域的创新画卷与宏伟蓝图。

  周小华首先追溯DolphinDB的发展历程。最初,它以一站式大数据平台的定位踏入市场,然而很快便意识到这个定位缺乏独特辨识度,难以突出自身优势。随着时序数据库概念的兴起,DolphinDB敏锐地调整策略,以国产高性能时序数据库的崭新标签重新出发。这一决策犹如一颗石子投入平静湖面,泛起阵阵涟漪,收获了不少自然流量客户,成功在市场中站稳脚跟。

  但DolphinDB从未停止前进的脚步。回顾6年前的架构图,我们可以清晰地看到,DolphinDB在设计之初便与传统数据库大不相同。它在分布式存储的基础上,精心开发了自己的脚本语言和丰富的专业函数库,宛如一颗璀璨的明珠,闪耀着独特的光芒,形成了一个擅长实时数据分析的一站式产品。

  时光荏苒,如今的DolphinDB架构更加完善,各个能力板块都实现了极大增强。多模态存储概念不断深化,从单一的引擎扩展到如今涵盖olap、tsdb、pkey、imoltp、vector等五个引擎。计算层面更是如虎添翼,增加了流计算和GPU计算Shark。业务中间件能力也得到了极大的提升和扩充,函数个数从600+跃升至2000+,大量的插件、计算引擎和脚本模块如雨后春笋般涌现,覆盖了诸多金融业务领域。

  DolphinDB从最初的一站式大数据平台,逐步演变为高性能时序数据库,再到如今的实时计算平台,每一步都充满了创新与突破。这一历程见证了DolphinDB团队对技术的执着追求和对市场需求的精准把握,为构建企业级实时计算平台奠定了坚实的基础。

   平台构想与特性:深度与宽度兼备,引领金融业务新潮流

  (一)企业级实时计算平台构想:Orca的诞生随着DolphinDB在金融机构的应用不断深入,多集群的数据访问、计算、运维需求日益迫切。如同在浩瀚的海洋中航行的巨轮,需要更强大的动力和更精准的导航。同时,用户计算任务的复杂性不断增加,任务之间、事件之间的依赖关系表达成为亟待突破的瓶颈。在这样的背景下,企业级实时计算平台的呼声越来越高,如同一座明亮的灯塔,为金融机构在数据的海洋中指引方向。

  于是,DolphinDB团队将目光投向了构建一个全新的企业级实时计算平台,并将其命名为Orca(虎鲸)。虎鲸,力量大、速度快、聪明伶俐,特别擅长家族协同作战,这与多集群多部门协同工作的需求完美契合。这个命名不仅体现了团队对该平台的期望,更象征着它将在企业级数据处理的广阔海洋中展现出强大的实力,如同虎鲸在海洋中威风凛凛地游弋。

  周小华博士对企业级实时计算平台有着深刻而独到的理解。他认为,企业级平台首先要能够协同支持金融机构多部门的业务,在表达复杂批计算或流计算的任务或数据依赖关系时,如同一位技艺高超的魔术师,轻松自如地展现出简单高效的魅力。其次,数据访问要变得如丝般顺滑,用户只需给出全局唯一的标识,就能如同打开一扇神秘的大门,轻松获取所需数据,无需再为数据版本、存储位置等问题而烦恼。最后,运维监控和资源管控也必须是企业级的,能够如同一位智慧的守护者,对整个机构的全部集群进行全方位的管理。

  (二)企业级实时计算平台特性:深度与宽度兼备,支持金融业务金融行业对数据分析的应用和数据价值的挖掘程度之深、维度之广、投入之大,几乎是其他所有行业的总和。这就如同一场激烈的马拉松比赛,金融行业始终在赛道上奋力奔跑,不断挑战极限。这也决定了企业级实时计算平台对金融业务的支持必须有足够的深度和宽度,如同一位全能的运动员,在各个领域都能展现出卓越的实力。

  以普通的策略开发为例,一个有效的策略上线需要经历特征工程、因子评价、策略回测、代码转写、结果校验等多个阶段,如同攀登一座高峰,每一步都充满挑战。这不仅要求业务人员具备良好的数学、统计、金融理论等学科知识储备,如同一位知识渊博的学者,还需要较高的计算机工程能力,如同一位技艺精湛的工匠。如果计算平台在业务支持上没有深度,这项工作将如同在泥泞中前行,耗时耗力,失去平台建设的意义。

  一个稍具规模的金融机构通常有很多业务线,从权益到FICC,从行情、投研、交易、风控到合规,每一个都需要相应的IT系统支持。这就如同一个庞大的交响乐团,每个乐器都有其独特的声音和作用。因此,企业级实时计算平台不能只擅长某一领域,而要在核心能力上有足够宽度的支持,避免各个业务部门的系统演变成孤立的烟囱系统或信息孤岛,如同一个和谐的生态系统,各个部分相互依存、相互促进。

  DolphinDB在对金融业务的支持方面一直表现出色,这也是它区别于其他基础软件的显著特点。近年来,DolphinDB不断拓展金融业务的边界,从最初的权益量化投研场景,已经覆盖到十余个场景。未来,DolphinDB将继续坚持这一特色,把底层技术与金融业务深度融合,让用户落地业务更快更方便,如同一位勤劳的园丁,精心培育着金融业务的花朵。

  创新与挑战:解决关键问题,迈向未来

  (一)新型开发模式——锯齿模型:提升金融业务开发效率DolphinDB的软件架构可以概括为多模态存储+批计算+流计算+编程语言+业务中间件,如同一个五彩斑斓的拼图,每个部分都不可或缺。与金融业务的融合主要体现在业务中间件模块上,如同拼图中的关键一块,将整个画面连接在一起。

  通过内置函数库、内置引擎、插件和模块四种方式,DolphinDB实现了业务中间件的功能,如同一位神奇的魔术师,变出了无数的可能性。这种新的开发模式与传统的烟囱模式最大的区别在于,不同的业务系统共享一个由存储、计算和业务中间件构成的强大底座,如同一个坚实的地基,支撑着高楼大厦的崛起。让真正懂业务的人写脚本或调API进行快速二次开发,实现业务快速落地,如同一场闪电战,迅速占领市场。由于业务开发非常敏捷,成本占比较小,整个形状看起来像一把锯子上的锯齿,因此被称为锯齿开发模型。

  锯齿开发模式可以大大提升金融业务的开发效率,降低投入成本,如同一台高效的发动机,为金融业务的发展注入强大动力。然而,也有客户对此表示担忧,担心开发业务中间件会增加系统复杂度,导致系统失控。对此,周小华博士回应道,业务中间件并非系统的核心,它只是基础设施暴露的一个框架,允许横向拓展业务逻辑。不论开发一个还是多个中间件,DolphinDB的基础架构保持不变,也不会增加系统的复杂度。此外,DolphinDB还将更加开放,把标准接口暴露出来,让更多的中间件由客户或第三方去开发,如同一个开放的花园,吸引着无数的蜜蜂和蝴蝶。

  (二)解决数据一致性问题:实现全局唯一数据视图企业级实时计算平台需要解决的核心问题之一是数据一致性,如同一场精密的手术,每一个细节都至关重要。在金融机构内部,任何一个时间点上都应该有一个全局的唯一数据视图,核心业务部门可以在这个数据视图上开展行情、投研、交易、绩效、风控、合规等业务的数据写入、查询和计算,并得到正确可靠的结果,如同一位精准的导航仪,为金融机构在数据的海洋中指引方向。

  然而,在金融机构中实现数据一致性并非易事。其中既有非技术原因,如某些厂商不愿意开放数据接口、部门之间因合规性问题需要防火墙隔离数据等;也有技术原因,这是DolphinDB重点攻克的目标。如同一位勇敢的战士,面对重重困难,毫不退缩。

  针对不同的技术问题,DolphinDB提出了相应的解决方案。对于计算任务太重导致的数据不一致问题,DolphinDB将采用存算分离技术,通过对用户无感的缓存来解决,第一个版本将于10月初发布,如同一位神秘的魔术师,变出了解决问题的法宝。对于异地距离太远导致的性能问题,可以使用DolphinDB已发布的集群间异步数据复制能力或分布式复制协议来解决,如同一座坚固的桥梁,连接着远方的彼岸。对于跨集群权限管理不便导致的数据拷贝问题,DolphinDB将在年底推出更为全面的单点登录方案,如同一把钥匙,打开了便捷之门。对于不能跨集群计算导致的数据拷贝问题,DolphinDB正在推出跨集群的SQL计算能力,如同一位智慧的学者,攻克了一个又一个难题。此外,DolphinDB还在推出一个集群+集群内目录的二级数据目录管理方法,实现全局唯一的数据资源标识,便于数据访问,如同一位细心的图书管理员,整理着浩瀚的知识宝库。

  (三)解决计算依赖问题:引入新的声明式API企业级实时计算平台另一个具有挑战性的问题是计算依赖,如同一个复杂的迷宫,让人迷失其中。在金融机构中,各业务部门之间、一个部门里的多个计算任务之间、一个计算任务内的各模块之间都存在依赖关系。这种复杂的计算依赖关系如果用代码表达,会非常复杂且难以维护,如同一本晦涩难懂的天书。

  DolphinDB虽然已经具备强大灵活的批计算和流计算能力,暴露了大量的引擎、模块、函数和算子给用户,但这些底层API接口并不擅长表达复杂的依赖关系。如同一位有力量但缺乏技巧的运动员,在复杂的比赛中显得力不从心。为了解决这个问题,DolphinDB准备引入一种新的声明式API来描述金融业务的需求逻辑和任务之间的依赖关系。后台系统负责将这些highlevel的业务逻辑转化成底层的API接口调用,如同一位智慧的翻译官,将复杂的语言转化为简单易懂的指令。

  这种方式的好处是业务描述与具体实现完全分开,业务人员可以更加专注于业务场景的描述,而不必陷入实现的诸多细节之中,如同一位画家,可以尽情地挥洒自己的创意,而不必担心颜料的调配和画笔的选择。同时,也便于系统进行优化,如计算资源分配、任务调度安排、状态管理、数据源副本选择、高可用实现以及计算执行的逻辑计划和物理计划优化等,如同一位精明的管家,可以合理地安排资源,让一切都井井有条。

  (四)运维、监控及资源管控的需求:多集群运维能力的提升当企业级实时计算平台具备足够的功能宽度和深度、扎实的数据一致性底座以及描述和优化复杂业务依赖关系的能力时,对运维、监控以及资源管控的需求就自然而然地产生了,如同一位茁壮成长的孩子,需要更多的关爱和照顾。

  目前,DolphinDB只具备单一集群的运维能力,但已有数十家金融客户在运行着两个以上的DolphinDB集群。为了满足客户需求,DolphinDB将通过几个版本的迭代,提供多集群的运维能力,如同一位不断成长的战士,逐渐提升自己的实力。具体来说,DolphinDB将增加一种新的节点类型MasterofMaster(MoM),通过MoM类型节点实现多集群运维,如同一位智慧的指挥官,统筹全局。

  此外,通过全局的数据目录、计算依赖图和Dashboard,DolphinDB可以为集群以及正在运行的计算任务提供可视化的监控手段,用户可以层层下钻,发现和诊断问题,如同一位敏锐的侦探,不放过任何一个线索。Orca中的实时计算任务都做好了状态管理,计算资源具备较好的弹性伸缩能力,如同一位灵活的舞者,可以根据音乐的节奏自由地舞动。

  结语

  在当前的数据市场中,企业对实时计算能力的需求日益增长,如同一场熊熊燃烧的烈火,越烧越旺。随着金融行业的不断发展和数字化转型的加速,金融机构对高效、准确、可靠的实时计算平台的需求尤为迫切,如同一位口渴的旅人,渴望找到一泓清泉。DolphinDB作为一款具有创新性的实时计算软件,在市场中具有独特的竞争优势,如同一颗璀璨的明星,在夜空中闪耀着光芒。

  业内专家指出,DolphinDB的发展方向符合市场趋势,其企业级实时计算平台的构想具有前瞻性和实用性,如同一位睿智的预言家,洞察着未来的发展方向。专家认为,DolphinDB在解决数据一致性和计算依赖问题上的方案具有创新性,能够为金融机构提供更强大的数据处理能力和更高的业务效率,如同一位技艺高超的工匠,打造出了一件精美的艺术品。同时,专家也对DolphinDB的开放策略表示赞赏,认为这将有助于吸引更多的开发者和合作伙伴,共同推动实时计算技术的发展,如同一位慷慨的主人,邀请大家一起分享美味的盛宴。

  打造一个企业级的实时计算平台是一项艰巨的工程,但DolphinDB团队充满信心,他们已经预估了工程的难度和复杂性,并将其作为接下来一年最核心的研发工作,如同一位辛勤的园丁,精心培育着未来的希望。DolphinDB准备分四个版本来实现所有的核心功能,分别是今年的10月、明年的1月、5月和9月,如同一位严谨的建筑师,按照规划逐步构建起宏伟的大厦。

  正如周小华博士所说,打造企业级实时计算平台,国内国外的很多金融机构都想做,但目前国内还没有一家金融机构拥有这样的计算平台。这件事情难度很大,但DolphinDB拥有一个更强更稳定的团队,并且已经打下了12年的基础。即使这件事情做的不够好,也可以为后来的研发人员提供宝贵的经验。做好了,则可以大幅提升金融乃至其它行业的生产力。

 

0
相关文章