墨天轮国产数据库沙龙 | 胡津铭:时序数据库DolphinDB,从量化金融到万物互联

本文主要是介绍墨天轮国产数据库沙龙 | 胡津铭:时序数据库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/video/6117
  • 会议资料:https://www.modb.pro/doc/56838

  • 查看原文:https://www.modb.pro/db/336226
  • 查看【国产数据库沙龙】往期生态工具、图数据库专场文章、视频回放资源:https://www.modb.pro/topic/157860

墨天轮,围绕数据人的学习成长提供一站式的全面服务,打造集新闻资讯、在线问答、活动直播、在线课程、文档阅览、资源下载、知识分享及在线运维为一体的统一平台,持续促进数据领域的知识传播和技术创新。

关注官方公众号: 墨天轮、 墨天轮平台、墨天轮成长营、数据库国产化 、数据库资讯

这篇关于墨天轮国产数据库沙龙 | 胡津铭:时序数据库DolphinDB,从量化金融到万物互联的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/169643

相关文章

Mysql数据库聚簇索引与非聚簇索引举例详解

《Mysql数据库聚簇索引与非聚簇索引举例详解》在MySQL中聚簇索引和非聚簇索引是两种常见的索引结构,它们的主要区别在于数据的存储方式和索引的组织方式,:本文主要介绍Mysql数据库聚簇索引与非... 目录前言一、核心概念与本质区别二、聚簇索引(Clustered Index)1. 实现原理(以 Inno

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

使用Node.js和PostgreSQL构建数据库应用

《使用Node.js和PostgreSQL构建数据库应用》PostgreSQL是一个功能强大的开源关系型数据库,而Node.js是构建高效网络应用的理想平台,结合这两个技术,我们可以创建出色的数据驱动... 目录初始化项目与安装依赖建立数据库连接执行CRUD操作查询数据插入数据更新数据删除数据完整示例与最佳

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方

MySQL批量替换数据库字符集的实用方法(附详细代码)

《MySQL批量替换数据库字符集的实用方法(附详细代码)》当需要修改数据库编码和字符集时,通常需要对其下属的所有表及表中所有字段进行修改,下面:本文主要介绍MySQL批量替换数据库字符集的实用方法... 目录前言为什么要批量修改字符集?整体脚本脚本逻辑解析1. 设置目标参数2. 生成修改表默认字符集的语句3

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

如何通过try-catch判断数据库唯一键字段是否重复

《如何通过try-catch判断数据库唯一键字段是否重复》在MyBatis+MySQL中,通过try-catch捕获唯一约束异常可避免重复数据查询,优点是减少数据库交互、提升并发安全,缺点是异常处理开... 目录1、原理2、怎么理解“异常走的是数据库错误路径,开销比普通逻辑分支稍高”?1. 普通逻辑分支 v

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp