分享嘉宾:胡津铭 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,我们

为海量数据(特别是时间序列数据)的快速存储、检索、计算及分析提供一站式解决方案。

以上就是我今天的分享内容,谢谢大家!

更多精彩内容,欢迎大家观看现场视频回放与会议资料


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

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

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

  1. 日吞吐万亿,腾讯云时序数据库CTSDB解密

    一.背景 随着移动互联网.物联网.大数据等行业的高速发展,数据在持续的以指数级的速度增长,比如我们使用手机访问互网络时的行为数据,各种可穿戴设备上报的状态数据,工厂中设备传感器采集的指标数据,传统互联 ...

  2. 时序数据库技术体系 – InfluxDB TSM存储引擎之TSMFile

    本文转自 http://hbasefly.com/2018/01/13/timeseries-database-4/ 为了更加系统的对时序数据库技术进行全方位解读,笔者打算再写一个系列专题(嘿嘿,好像 ...

  3. [Go] 时序数据库influxdb的安装

    日志类的数据时候存储在时序数据库中,下面就是时序数据库influxdb的安装 curl -sL https://repos.influxdata.com/influxdb.key | apt-key ...

  4. 时序数据库技术体系 – 初识InfluxDB(原理)

    原贴地址:http://hbasefly.com/2017/12/08/influxdb-1/?qytefg=c4ft23 在上篇文章<时序数据库体系技术 – 时序数据存储模型设计>中笔者 ...

  5. [转帖]时序数据库技术体系(二):初识InfluxDB

    时序数据库技术体系(二):初识InfluxDB https://sq.163yun.com/blog/article/169866295296581632 把生命浪费在美好事物上2018-06-26 ...

  6. 巨杉TechDay回顾 | WARNING!您参加的数据库沙龙热度已爆表……

    自从2008年“大数据”这一概念被首次提出以来,在过去这10年中,几乎各行各业都或多或少受到了这一概念的影响.与此同时,在AI.云计算.物联网.区块链等新兴技术快速发展的今天,数据库己经成为了决定所有 ...

  7. 国产时序数据库IotDB安装、与SpringBoot集成

    一.简介: 本文将完成一个真实业务中的设备上报数据的一个例子,完整的展示后台服务接收到设备上报的数据后,将数据添加到时序数据库,并且将数据查询出来的一个例子.本文所有代码已经上传GitHub:http ...

  8. 深度解读MRS IoTDB时序数据库的整体架构设计与实现

    [本期推荐]华为云社区6月刊来了,新鲜出炉的Top10技术干货.重磅技术专题分享:还有毕业季闯关大挑战,华为云专家带你做好职业规划. 摘要:本文将会系统地为大家介绍MRS IoTDB的来龙去脉和功能特 ...

  9. MRS IoTDB时序数据库的总体架构设计与实现

    MRS IoTDB时序数据库的总体架构设计与实现 MRS IoTDB是华为FusionInsight MRS大数据套件最新推出的时序数据库产品,其领先的设计理念在时序数据库领域展现出越来越强大的竞争力 ...

  10. 附加数据库失败,sql2008,断电数据库日志受损

    附加数据库失败,提示:无法在数据库 'DBNAME' (数据库 ID 为 7)的页 (1:210288) 上重做事务 ID (0:0) 的日志记录或者在重做数据库 'DBNAME' 的日志中记录的操作 ...

随机推荐

  1. LLM并行训练7-混合并行总结

    概述 根据前面的系列文章, 对预训练大模型里用到的主要并行加速技术做了一系列拆分分析. 但是在实际的训练里往往是多种并行混合训练. 我们要怎么配置这些并行策略才能让训练框架尽可能的减少通信瓶颈, 提升 ...

  2. openeuler linux内核4.19安装(centos 同理)

    linux内核安装: 安装内核步骤 下载相应内核版本[我这里用的是linux-4.19.90.tar.gz] 下载网址:https://mirrors.edge.kernel.org/pub/linu ...

  3. 【Java】部门集合树状顺序展示

    一.需求效果: 表单的部门下拉选择时,可以展示部门的层级: 按照这个效果展示,但是不是树,还是原来的集合 二.实现方案: 用Java代码实现两个部分 1.展示Label效果处理 2.处理集合的树状排序 ...

  4. 【SQL】 牛客网SQL训练Part1 简单难度

    地址位置: https://www.nowcoder.com/exam/oj?difficulty=2 查找入职员工时间排名倒数第三的员工所有信息 -- 准备脚本 drop table if exis ...

  5. 【YAML】非标记语言的标记语言

    什么是YAML? YAML是"YAML Ain't a Markup Language"(YAML不是一种标记语言)的递归缩写. 在开发的这种语言时,YAML 的意思其实是:&qu ...

  6. 【REGX】正则表达式 选中空白行

    参考地址: https://www.cnblogs.com/peijyStudy/p/13201576.html VScode并列替换不够智能,我需要等行粘贴,结果SHIFT+ALT复制内容粘贴上去就 ...

  7. 【Vue】Re06 组件化

    将一个应用页面拆分成若干个可重复使用的组件 一.Vue的组件的使用步骤: 1.创建组件构造器 2.注册组件 3.使用组件 <!DOCTYPE html> <html lang=&qu ...

  8. 强化学习、分布式计算方向的phd毕业后去企业的要求

    实验室慕师弟马上要phd毕业了,虽然我是遥遥无期,但是看到身边同学可以上岸还是提师弟高兴.由于师弟准备去企业工作,于是乎我也不免好奇起来phd毕业后去公司会有什么样的要求,于是网上找了找招聘信息,挑了 ...

  9. mpi4py.MPI.COMM_WORLD.Get_size失败——mpiexec and python mpi4py gives rank 0 and size 1 —— MPI.COMM_WORLD.Get_size() is always resulting '1'

    参考: https://stackoverflow.com/questions/29264640/mpiexec-and-python-mpi4py-gives-rank-0-and-size-1 = ...

  10. Git 学习笔记——git checkout

    上图是我对git常用用法的一个总结,今天这里主要解释上面操作中没有的 " git checkout "操作. =================================== ...