TSDB || DolphinDB || KDB+
文章平均质量分 78
时序数据库;
KDB+;
DolphinDB;
PerpetualLearner
这个作者很懒,什么都没留下…
展开
-
理解分区策略及相关概念in DolphinDB
Overview分区是对数据库进行深入了解的关键入口。ddb是为OLAP设计的系统,主要是解决:海量结构化数据的快速存储和计算;通过内存数据库和流数据计算引擎实现高性能数据处理ddb不适合数据频繁更改的OLTP;什么是好的分区策略一个好的分区策略通过只读取查询所需的相关数据来减少要扫描的数据量。怎么叫所谓“不好”如果分区机制设计不合理,对数据库的查询、计算以及其它操作都可能受到“磁盘访问I/O”这个瓶颈的限制。磁盘访问I/O理解磁盘访问I/ODDB的架构..原创 2021-05-05 13:39:23 · 1394 阅读 · 0 评论 -
理解定时任务(scheduleJob)与批处理作业 in DolphinDB
Overview关于如何查看两者各自的运行情况,有些许重复,需要理清。定时任务物理层面机理定时作业用一个函数来表示,通过scheduleJob函数提交,并按设定时间在后台运行。作业创建后,作业相关定义信息序列化保存到数据节点的磁盘文件<homeDir>/sysmgmt/jobEditlog.meta;节点重启后,系统会反序列化并加载定时作业;定时作业每次运行的结果会保存到节点磁盘上,通过getJobMessage和getJobReturn查看每个作业的运行日志和返回值;..原创 2021-04-23 20:58:43 · 2563 阅读 · 2 评论 -
理解流表对偶性duality in database
OverviewFrom [1], DolphinDB天然具备流表对偶性,支持使用SQL语句进行数据注入和查询分析。Duality in MathematicsIn mathematics, a duality translates concepts, theorems or mathematical structures into other concepts, theorems or structures, in a one-to-one fashion, often (but not a..原创 2021-04-23 20:47:26 · 273 阅读 · 0 评论 -
理解有向无环图DAG
Directed acyclic graphIn mathematics, particularly graph theory, and computer science, a directed acyclic graph (DAG) is a directed graph with no directed cycles.That is, it consists of vertices and edges, with each edge directed from one vertex to ano..原创 2021-03-31 17:57:30 · 340 阅读 · 0 评论 -
理解unbounded||bounded data stream
OverviewAny kind of data is produced as a stream of events. Credit card transaction, sensor measurement, machine logs, or user interactions on a website or mobile application, all of these data are generated as a stream.Data can be processed as unbound..原创 2021-03-29 10:40:28 · 728 阅读 · 0 评论 -
理解stream-processing & batch-processing
Overview批流一体。Stream ProcessingStream processing is a computer programming paradigm, equivalent to dataflow programming, event stream processing, and reactive programming, that allows some applications to more easily exploit a limited form of paralle..原创 2021-03-29 10:39:27 · 593 阅读 · 0 评论 -
理解部分应用Partially Application
Partial ApplicationPartial Applicaiton (or partial function application) refers to the process of fixing a number of arguments to a function, producing another function of smaller arity.Partial application is sometimes incorrectly called currying, whic..原创 2021-03-29 10:36:10 · 383 阅读 · 2 评论 -
理解Raft日志||Paxos
The Raft Consensus AlgorithmRaft is a consensus algorithm that is designed to be easy to understand.It’s equivalent to Paxos in fault-tolerance and performance. The difference is that it’s decomposed into relatively independent subproblems, and it clea..原创 2021-01-29 20:30:36 · 242 阅读 · 0 评论 -
Alpine做基础的Grafana docker容器安装Dolphindb遇到的各种问题
起源grafana官方推荐docker版本是基于Alpine做的,因为其Small, Simple, Secure.正是因为太Small了,很多utilities都没有就遇到各种问题.Dolohindb插件用Grafana连接接DolphinDB需要安装Dolphindb自己开发的插件,然后重启grafana服务,在Window或Linux上都不复杂,但是在docker容器内相对麻烦.使用流程及所遇问题插件安装grafana官方推荐Alpine版本的image.通过doc..原创 2020-11-22 10:33:40 · 1194 阅读 · 0 评论 -
关于定时任务 on dolphindb
官方文档导航关于定时任务介绍。函数:创建定时任务 scheduleJob()显示定时任务 getScheduledJobs()查看最近完成的定时任务 getRecentJobs(n)删除定时任务 deleteScheduleJob(jobId) -原创 2020-11-04 20:52:46 · 279 阅读 · 0 评论 -
(20201019Solved)容器已经删除,如何删除宿主机上挂载目录dolphindb
问题描述宿主机挂载目录到容器内,容器已经删除,却无法在宿主机上直接删掉挂载的目录,显示permission denied.解决方案无法删除的文件是容器内部创建的,从宿主机上查看发现是root用户创建的,所以出现Permission denied.需要进入到容器内,在内部删除....原创 2020-10-25 18:37:40 · 727 阅读 · 0 评论 -
(20200921 Solved)ConnectionResetError: [Errno 104] Connection reset by peer
问题描述用Python连接docker容器中的Redis预备知识[Errno 104] Connection reset by peererrno 104表示对一个对端socket已经关闭的连接调用write或send方法。这种情况下,调用write或者send之后,对端socket便会向本端socket发送一个Reset信号,之后继续执行write/read,就会得到104.netstat -ntpl lsof -i:6379通过lsof -i:6379可以发现端口未开放..原创 2020-10-19 22:58:42 · 4606 阅读 · 0 评论 -
初识redis
OverviewRedis不使用表。Redis可以存储键和5种不同数据结构类型之间的映射。5种数据结构类型:STRING命令意义适用GET获取值,成功返回值,失败返回nilSET设置值,成功返回OKDEL删除值所有类型LISTLPUSHRPUSHLPOPRPOPLINDEXLRANGESETSADDSREMSISMEMBERHASH类似一个微缩版的redis。HSETHGETHGETALLHDE..原创 2020-10-19 22:53:15 · 177 阅读 · 0 评论 -
(20200912UnSolved)Dolphindb docker 集群error code 111
问题描述用docker在Linux部署dolphindb集群,agant.log中出现满屏:Failed to connect to host = 10.5.0.5 port = 8920 with error code 111Failed to connect to host = 10.5.0.5 port = 8920 with error code 111Failed to connect to host = 10.5.0.5 port = 8920 with error code 111..原创 2020-10-01 09:48:42 · 373 阅读 · 0 评论 -
理解ODBC:DSN、ODBC管理器、驱动程序
ODBCOpen Database Connectivity(开放数据库互连,维基百科)提供了一种标准的API方法来访问数据库管理系统(DBMS)。这些API利用SQL来完成大部分任务。微软于1992.9发表,为解决异构数据库间的数据共享而产生。WOSA(The Windows Open System Architecture(Windows开放系统体系结构))的主要部分(百度百科)。...原创 2020-03-30 22:21:50 · 4170 阅读 · 0 评论 -
(20200301)cat 《EOF | sudo tee /etc/yum.repos.d/influxdb.repo命令详解
cat > 文件名 << EOF用于创建一个名为“文件名”的文件,之后输入的任何内容都是写入文件的内容,最后以EOF完成输入。cat <<EOF 和 cat <<-EOF的区别在输入内容时,EOF是作为结束输入的字符。cat <<EOF要求输入的EOF必须定格单独一行。cat <<-EOF则允许EOF行开头有制表...原创 2020-03-01 13:50:00 · 1625 阅读 · 0 评论 -
DolphinDB与Pandas区别之:std标准差
DolphinDB中stdDolphinDB中的std函数,计算的是无偏样本标准差,即处以N-1Pandas中的stdDataFrame.std,默认参数ddof=1,计算的也是无偏样本标准差;Numpy.std核心是np.std计算的是总体便准差,即ddof=0,而使用pandas进行计算,可能使用某些模块的时候,内部调用np.std而导致计算结果与DolphinDB计算结...原创 2019-12-16 15:08:54 · 554 阅读 · 0 评论 -
DolphinDB与Pandas区别之:rolling函数
Pandas中rolling函数pandas中rolling函数当遇到有空值的行会不计算,默认是一直到窗口内全部都有值才进行计算。DolphinDBDolphinDB中的moving函数与pandas的rolling更相似,如果结果不赋给某个变量,是需要输入全部非空才计算,但是当将计算结果赋给某个变量时,即便有空值也会直接计算。总结如果pandas与dolphindb计算结果...原创 2019-12-16 11:20:58 · 460 阅读 · 0 评论 -
DolphinDB基础概念理解:Orca与Pandas的差异
OrcaOrca在DolphinDB上实现了Pandas API。《DolphinDB基础概念理解:Orca》《DolphinDB使用案例21:orca入门及底层实现》因为先有DolphinDB与Pandas,后有Orca,Dol的底层都已经写好了,导致Orca在实现Pandas时限于底层架构,会与Pandas有些细节差异。数据类型的差异DolphinDBPanda...原创 2019-12-05 14:06:49 · 660 阅读 · 0 评论 -
DolphinDB使用案例21:orca入门及底层实现
OrcaOrca是DolphinDB Python API下的一个模块。充分衔接Pandas与DolphinDB服务端。《DolphinDB基础概念理解:Orca》Orca结构# 连接Python与DolphinDB数据库import dolphindb.orca as orcaorca.connect(MY_HOST, MY_PORT, MY_USERNAME, MY_PAS...原创 2019-12-04 17:45:41 · 836 阅读 · 0 评论 -
DolphinDB基础概念理解:Orca
DolphinDB关于DolphinDB概况,参见《TSDB || DolphinDB || KDB+》DolphinDB作为一个数据库以及一种分布式计算脚本语言,我用的是其高速的优点,然而现阶段很多人还意识不到Dol的价值及必要性,反应在工作中就是同事不了解,因此不能直接在生产环境中体验Dol的高速,现在有了Orca,会pandas的人都可以充分利用Dol的高性能及并发,为生产环境中使用...原创 2019-12-03 19:26:04 · 1401 阅读 · 0 评论 -
DolphinDB分区与MPP(Greenplum、AWS、Redshift)的区别
数据库架构目前的商用服务器大体可以分为三类:对称多处理器结构 (SMP : Symmetric Multi-Processor) ;非一致存储访问结构 (NUMA : Non-Uniform Memory Access) ;海量并行处理结构 (MPP : Massive Parallel Processing) 。数据库架构设计中主要有:一、Shared Everything...原创 2019-11-26 20:11:30 · 1414 阅读 · 0 评论 -
DolphinDB基础概念理解:数据存储物理位置
DolphinDB关于基本理解,参见:《DolphinDB安装过程及学习向导(图示)》《DolphinDB架构逻辑、配置、启动》数据存储作为一个数据库,数据文件有物理存储位置。一、单节点部署默认情况下,数据文件保存在DolphinDB部署包/server/local8848目录下,可在dolphindb.cfg中设置volumes配置参数(此参数不能使用相对路径)来修改保...原创 2019-11-26 17:40:24 · 1089 阅读 · 0 评论 -
DolphinDB基础概念理解:模块
模块在DolphinDB中,模块是指只包含函数定义的代码包。具有以下特点:以.dos作为模块文件的后缀,dos是“dolphindb script”的缩写;模块文件保存在DolphinDB节点的[home]/modules目录下;模块文件第一行以声明模块语句module modulename开头;模块文件内容仅包含函数定义;定义模块一、创建模块目录默认情况下,所有的...原创 2019-11-25 20:13:20 · 905 阅读 · 0 评论 -
DolphinDB使用案例20:量化交易中技术指标信号回测
实现目标通过DolphinDB实现MA(Moving Average)移动平均线指标回测。一、数据准备采用火币网的btcusdt数据# 构建数据s_tmp = loadText("D:/Tools/DolphinDB_Projects/data/huobi_btcusdt.csv")stock = select symbol as sym, candle_begin_time ...原创 2019-11-11 18:15:45 · 1408 阅读 · 0 评论 -
DolphinDB使用案例19:GUI回放tick数据并计算eth
案例实现目标展示DolphinDB的回放功能,并用自定义函数消费回放后的订阅数据,实时计算eth。关于回放的具体理解以及知识准备,参见《DolphinDB使用案例17:GUI回放BTC历史数据及replay/replayDS详解》一、数据准备使用2007.8.17美股level1交易数据(只用15min),共804M。先将csv文件保存到分布式数据库dfs://USstocks下的...原创 2019-11-11 16:00:50 · 967 阅读 · 0 评论 -
DolphinDB基础概念理解:横截面聚合引擎createCrossSectionalAggregator
应用场景金融中,对所有股票的最新报价求百分位;工业互联网中,计算一批设备的温度均值。横截面引擎的主体横截面数据与时间序列数据相对应,横截面数据,指:同一时间;(20191108 09:30:01)不同统计单位;([“万科A”, “市北高新”])相同统计指标;(“close”)构成的数据列。横截面数据是根据统计单位排列的。因此,横截面数据不要求统计对象及...原创 2019-11-09 18:27:40 · 527 阅读 · 0 评论 -
DolphinDB基础概念理解:流数据聚合引擎
流数据流数据是指随时间延续而增长的动态数据集合。金融机构的交易数据、物联网的传感器数据和互联网的运营数据都属于流数据的范畴。流数据的特性决定了它的数据集一直是动态变化的。传统的面向静态数据表的计算引擎无法胜任流数据领域的分析和计算任务,所以流数据场景需要一套针对性的计算引擎。计算引擎搜索引擎,是一种信息检索系统,目的是协助搜索存储计算机系统中的信息。更确切地说,是根据一定的策略、运用...原创 2019-11-09 18:10:26 · 1362 阅读 · 0 评论 -
DolphinDB基础概念理解:部分应用partial application
DolphinDb是一种混合编程语言DolphinDB本身也是一种混合编程语言,此处的混合包括:向量化编程;即时编译技术;Sql编程;命令式编程;函数化编程;包括一种叫做“部分应用”的功能远程过程调用编程;元编程更多详情参见《DolphinDB作为一种混合编程语言》部分应用(partial application)部分应用,是指固定一...原创 2019-11-09 14:20:36 · 362 阅读 · 0 评论 -
DolphinDB基础函数解析:时间序列聚合引擎createTimeSeriesAggregator()
时间序列聚合引擎关于聚合引擎,参见《DolphinDB基础概念理解:流数据聚合引擎》createTimeSeriesAggregator()createTimeSeriesAggregator(name, windowSize, step, metrics, dummyTable, outputTable, timeColumn, [useSystemTime=false], [ke...原创 2019-11-08 20:06:12 · 721 阅读 · 0 评论 -
DolphinDB查看状态objs()、getRecentjobs()、getStreamingStat()、defs()、typestr
objs()objs([shared=false])返回内存中的变量的表。参数意义备注shared布尔值false(默认):返回内存中变量的表;true:还会返回在其他会话共享的表defs()defs([X])如果没有指定参数,将以表格的形式返回系统的所有函数。如果指定了X,将以X的格式返回所有函数的名称。参数意义备注...原创 2019-11-06 19:20:33 · 345 阅读 · 0 评论 -
DolphinDB使用案例16:Python实现流数据订阅
流数据对量化交易的意义做量化,首要目标是回测结果好。常规情况下,回测代码与实盘代码是不同的,因为获取数据的方式不同。实盘交易策略,目前一般是事件驱动型,就是来一个事件(比如:得到一个新的K线),程序做出一次响应;而回测代码一般是逐行遍历历史数据。两者略有不同,实盘时候使用的数据就是一种流数据。DolphinDB提供流数据订阅,也就是实现了一个小型模拟交易所,为回测提供了仿真环境,这也是我...原创 2019-11-06 15:08:25 · 1422 阅读 · 0 评论 -
DolphinDB基础概念理解:作业及作业管理
作业DolphinDB中作业(Job)是最基本的执行单位,可以简单理解为一段DolphinDB脚本代码在DolphinDB系统中的一次执行。Job根据阻塞与否可分成同步作业和异步作业。同步作业也称为交互式作业(Interactive Job),同步任务的主要来源:Web notebookDolphinDB GUIDolphinDB命令行界面通过DolphinDB提供的各个编...原创 2019-11-06 14:25:39 · 787 阅读 · 0 评论 -
DolphinDB使用案例17:GUI回放BTC历史数据及replay/replayDS详解
实现方式本文的回放,是在DolphinDB的GUI界面种操作实现,关于在Python中的实现参见《DolphinDB使用案例18:Python API实现历史数据回放》回放的价值把指定表或数据源的数据以一定的速率注入到流数据表中,这个过程称为数据回放。对于量化交易,实盘是事件驱动框架,回测一般是逐行遍历,是两套不同的代码。回放,就是将历史数据按原始状态复现,回测&实盘...原创 2019-11-04 18:54:14 · 1331 阅读 · 0 评论 -
DolphinDB架构逻辑、配置、启动
DolphinDBDolphinDB是分布式时序数据库,直观理解上,DolphinDB集群由3种类型节点构成:controller用于集群管理agent用于关闭或开启数据节点data node用于数据存储、查询、计算但从字面理解,可能会以为controller控制着agent和data node,在事物处理上可能有此类含义,但并不全是。比如重启,在重启这个事务...原创 2019-11-02 15:06:14 · 1568 阅读 · 0 评论 -
DolphinDB基础概念理解:流数据处理框架
专业术语解释实时流处理实时流处理是指将业务系统产生的持续增长的动态数据进行实时的收集、清洗、统计、入库,并对结果进行实时的展示。在金融交易、物联网、互联网/移动互联网等应用场景中,复杂的业务需求对大数据处理的实时性提出了极高的要求。面向静态数据表的传统计算引擎无法胜任流数据领域的分析和计算任务。DolphinDB的流数据框架DolphinDB内置的流数据框架支持流数据的发布、订阅、预...原创 2019-11-01 17:34:26 · 1376 阅读 · 0 评论 -
DolphinDB释放变量:undef
undefundef all只会释放全部本地变量,local variable。undef(all, SHARED)不起作用,SHARED只能一个一个释放。原创 2019-11-01 14:03:10 · 280 阅读 · 0 评论 -
DolphinDB使用案例12:Python API接口
DolphinDB与PythonDolphinDB可以在Python中调用,大大降低了时序数据库的使用门槛。DolphinDB Python API实质是封装了DolphinDB的脚本语言1(也就是前面11次案例中使用到的语言)。Python代码被转换成DolphinDB脚本在DolphinDB服务器执行,执行结果保存到DolphinDB服务器或者序列化到Python客户端。Pyth...原创 2019-11-01 10:40:13 · 6231 阅读 · 0 评论 -
DolphinDB与pandas读取csv文件速度对比测试
速度DolphinDB一直说自己速度快,前面使用中并没有遇到实际场景,今天需要读取一个800M的csv文件,特地测试一下。测试方式有三种pandas的pd.read_csv()DolphinDB的loadText()DolphinDB的ploadText()测试文件1990年到2018年的所有A股日K线数据,总共840M。数据格式为[9930906 row...原创 2019-10-30 20:06:53 · 1370 阅读 · 2 评论 -
DolphinDB使用案例13:信息可视化
plot绘图函数plot(input_data[, labels[,titles[,chartType]]])参数意义备注input_data输入数据,可以是向量、元组、矩阵、表可以通过as sth指定系列名称labels横坐标名称可以是字符串、向量titles图片的名称chartType图形类型BAR:条形图;COLUMN:柱状图...原创 2019-10-26 18:28:41 · 894 阅读 · 0 评论