墨天轮国产数据库沙龙 | 胡津铭:时序数据库DolphinDB,从量化金融到万物互联
分享嘉宾:胡津铭 DolphinDB研发副总监
整理:墨天轮社区
导读
DolphinDB是高性能分布式时序数据库,集成了功能强大的编程语言和高容量高速度的流数据分析系统,为海量结构化数据的快速存储、检索、分析及计算提供一站式解决方案。
时序数据库的主要应用场景
我今天分享的主题是“时序数据库:从量化金融到万物互联”,因为在我看来这是时序数据库最主要的两个应用场景:量化金融与物联网。
图1 时序数据库的主要应用场景
1、在量化金融中的应用
在这里举一个典型的金融数据示例,如下图所示stock ID即股票ID,bid price是现在股票的买入价格,Ask price是股票的即时卖价,然后time是这条数据产生的时间。
图2 金融数据示例
第一个场景是实时查询,能够查询所有的股票在这一时间段内的数据,其中关键点在于能查看到某一特定的股票,与特定的时间范围内的数据,即对单个时间序列做到实时查询。
第二个场景是数据分析,如图上所示,可以计算股票代码为Apple的这只股票在2月23号这一天的这个moving average的数据,即对单个时间序列做数据分析。
那第三个场景是策略回测,比如在评估量化金融已开发出来的策略,应用在历史数据上能够获得多少利润后,决定是否上线策略。最后便是实时计算的场景,根据市场上的信息,对比现在的股票与其相关联的股票价格分别是多少,基于这些信息,决定是否要买卖。
2、在物联网中的应用
下图为物联网的数据示例,deviceID为设备ID,传感器同时测温度、压强压力两个指标,并有对应的时间戳。
图3 物联网数据示例
在物联网中的时序数据库的第一个应用场景是设备监控,它能够查询一个设备在某一个时间段(点)上的数据情况。第二个应用场景是历史统计,能够查询某一个(类)设备在过去一年内的平均值、最大最小值。
第三个应用场景是反向控制,根据物联网产生的数据及时给出决策,并反过来控制传感器实行什么样的操作,或者控制其他的设备去实行什么样的操作。
- 简单的控制逻辑:若某设备监控到的温度持续高于阈值,则自动采取对应的措施
- 复杂的控制逻辑:若根据某些复杂的算法(如机器学习)计算得出某片区域的现状不合常理,则自动采取对应的措施
DolphinDB的产品特性
1、DolphinDB支持事务
不支持事务的数据库会出现什么样的后果?
图4 不支持事务的时序数据库示例
如图所示,以股票交易为例,Google与Apple的股票数据已经成功存储在了Node1中,但是由于网络延迟,Oracle的实时股票数据无法存储在Node2 中。当数据库不支持事务时,便会无法查询到google的最新股票价格,对应地便会基于不准确的数据做出错误决策,导致严重的后果。
因此,在时序数据库中必须要有事务的支持以满足量化金融与物联网行业的应用需求。
2、强大的分析能力
时序数据库在存下数据之后,最终的目的是挖掘出数据中的价值,这就需要数据库提供强大的分析能力。
DolphinDB提供了一门编程语言,可以方便地进行自定义计算;还提供了1000多个内置的分析函数供使用。
3、高效的存储引擎
DolphinDB的高效存储引擎体现在
- 基于LSMT,提供高效的点查询能力
- 千万级设备,10ms以内
- 高效的历史数据分析能力
- PB级数据,秒级计算响应
- 自动去重
图5 DolphinDB 高效的存储引擎
4、流数据处理架构
DolphinDB内置的流数据框架支持流数据的发布、订阅、预处理、实时内存计算、复杂指标的滚动窗口计算等,是一个运行高效,使用便捷的流数据处理框架。
其中流数据模块采用发布-订阅-消费的模式。流数据首先注入流数据表中,通过流数据表来发布数据,数据节点或者第三方的应用可以通过DolphinDB脚本或API来订阅及消费流数据。
图6 DolphinDB 流数据处理架构
5、批流一体
批流一体是指用一摸一样的代码实现批计算和流计算的逻辑,即可以实现批计算的历史分析,也能够进行实时计算,帮助降低运维成本。
图7 DolphinDB 实现批流一体
6、内置流计算引擎
DolphinDB内置流计算引擎包含时间序列聚合引擎、响应式状态引擎、横截面引擎、会话窗口引擎、异常检测引擎,帮助降低开发成本。
图8 DolphinDB 内置流计算引擎
关于DolphinDB
1、DB-Engines 中的 DolphinDB
DolphinDB为企业IT人员、业务人员与决策者提供数据管理与分析应用一站式解决方案实现内部协作与融合,贯通企业数据应用链条,充分利用数据价值。
在世界数据库流行度排行榜DB-Engines中可以看到,DolphinDB位于时序数据库榜单第十,也是国内唯一一家入围前十的时序数据库产品,并且流行度也在不断攀升。
图9 DolphinDB 在DB-Engines 中的流行度
2、DolphinDB 代表客户
DolphinDB为金融、工业物联网、电力、能源、交通等各行业客户提供优质服务。
图10 DolphinDB 代表客户
如果您也是金融领域、或者物联网领域并对时序数据感兴趣,欢迎您来尝试DolphinDB,我们
为海量数据(特别是时间序列数据)的快速存储、检索、计算及分析提供一站式解决方案。
以上就是我今天的分享内容,谢谢大家!
更多精彩内容,欢迎大家观看现场视频回放与会议资料
- 查看原文:https://www.modb.pro/db/336226
- 查看【国产数据库沙龙】往期生态工具、图数据库专场文章、视频回放资源:https://www.modb.pro/topic/157860
墨天轮,围绕数据人的学习成长提供一站式的全面服务,打造集新闻资讯、在线问答、活动直播、在线课程、文档阅览、资源下载、知识分享及在线运维为一体的统一平台,持续促进数据领域的知识传播和技术创新。
关注官方公众号: 墨天轮、 墨天轮平台、墨天轮成长营、数据库国产化 、数据库资讯