有人用过kdb吗?

textilerolle
michael 09月05日 字数 614

上次我问的问题说有没有专用于金融行业的数据库,kdb就是最佳答案,那时还有人说这是客户端的事情不关数据库的事,事实证明金融的确需要专用的,这个数据库多数投行都在于,国内的期货看盘软件太差了,根本无法支持整年的tick图,别说tick了,整年的分时图都提供不了,分时数据好像最多也就一个月左右的,这还搞个鸟啊,钱都赔光了,韭菜们赔钱的罪魁祸首就是这些不负责任的免费软件,给了韭菜们极大的误导,误以为通过这些软件的指标可以赚钱.一个软件提供的指标越多,越坑人.,真正的,只有一个图就ok了,剩下的就是周期越短越好,这些免费软件,给你提供了很多指标图,但是就是提供的数据量非常少,如果我要 看一个月之前的分时图,byebye,没有,不提供,tick图更不用说了,只有当天的.

Database 数据库技术
14 个回复
textilerolle
michael 09月05日

终于找到了最适合我用的数据库,kdb或者tdengine就可以了

【 在 textilerolle 的大作中提到: 】

: 上次我问的问题说有没有专用于金融行业的数据库,kdb就是最佳答案,那时还有人说这是客户端的事情不关数据库的事,事实证明金融的确需要专用的,这个数据库多数投行都在于,国内的期货看盘软件太差了,根本无法支持整年的tick图,别说tick了,整年的分时图都提供不了,分时数据好像最多也就一个月左右的,这还搞个鸟啊,钱都赔光了,韭菜们赔钱的罪魁祸首就是这些不负责任的免费软件,给了韭菜们极大的误导,误以为通过这些软件的指标可以赚钱.一个软件提供的指标越多,越坑人.,真正的,只有一个图就ok了,剩下的就是周期越短越好,这些免费软件,给你提供了很多指标图,但是就是提供的数据量非常少,如果我要 看一个月之前的分时图,byebye,没有,不提供,tick图更不用说了,只有当天的.

caidao
caidao 09月07日

这个跟oracle的内存数据库timesten比,能给讲一下区别吗?

一直听说kdb跟q语言结合得非常好。

只知道是个时序数据库,不知道有什么特性。

谢谢

【 在 textilerolle (michael) 的大作中提到: 】

: 终于找到了最适合我用的数据库,kdb或者tdengine就可以了

textilerolle
michael 09月07日

我也不太清楚,时序可能是在内存上边专门作了一些优化,应该对于时间序列来说,速度可能更快了.资源占用更少.我觉得kdb的优势就是q语言和数据库的接口好,oracle仅仅是数据库,语言接口广泛,但是没有专用的,可能java的接口效率好一点?大家都差不离.但是q语言和kdb的接口就非常合拍,而且kdb可能没有其他接口,所以决定了他就是一个小众,专用语言,几乎全部用于基金公司,证券行业,或者和此相关的,这个行业有非常特殊的一些特点,就是对实时要求高,数据量处于中等,对于内存数据库来说,主要是没有触发机制,就是我来一个数据,然后就要触发,其他的内存和时序数据库对于触发不太友好,而磁盘数据库可以触发但是反应太慢,我感觉q语言和kdb的核心就是有一个触发机制,具体没用,还不太清楚.希望有用过的出来具体说说.触发非常重要,时序数据库用于工业测量,一秒上万个数据,不可能每来一个就触发,他们都是定时执行,这个会有问题,就是你看到最后一次的执行结果时,已经有最新的数据来了,但是你看不到执行结果,相当于把流数据中断了,就像水库把流动的水切断了.而触发机制可以保证你看到的就是最新的,这样是连续不断,如果你看到的不是 最新的,对于金融行业,比如一个tick数据的成交量超过10万手,那么价格很有可能从3000点降到2900点,然后一手就损失1000块,曾经极端的情况,螺纹价格升了将升了300点还是400点,就是在半秒内发生的,如果你看到的不是最新,那么很有可能一次暴仓.所以我感觉kdb不同于任何其他数据库,更确切地说,他不仅仅是一个数据库,它是数据库和语言的结合,一个专用语言,我前两天提了一个专用于金融的数据库,还有人说这是客户端的事情,不管数据库的是,其实其中的关键问题就是数据库和语言的接口,一定要无缝连接.

【 在 caidao 的大作中提到: 】

: 这个跟oracle的内存数据库timesten比,能给讲一下区别吗?

: 一直听说kdb跟q语言结合得非常好。

: 只知道是个时序数据库,不知道有什么特性。

: ...................

caidao
caidao 09月07日

学习了,非常感谢。

如果时触发机制的话,clickhouse也没有这个功能。

平时大家接触到这种触发的,基本上就是 spark stream了。但是也是隔一段时间,集中处理。

另外,听说国内有一家好像叫海豚数据库的,跟kdb+对标的。

q语言的学习曲线太陡峭,国产的这个据说学习还算容易。

【 在 textilerolle (michael) 的大作中提到: 】

: 我也不太清楚,时序可能是在内存上边专门作了一些优化,应该对于时间序列来说,速度可能更快了.资源占用更少.我觉得kdb的优势就是q语言和数据库的接口好,oracle仅仅是数据库,语言接口广泛,但是没有专用的,可能java的接口效率好一点?大家都差不离.但是q语言和kdb的接口就非

textilerolle
michael 09月07日

你说的国产的,我看了一下文档,我感觉他们抓住了市场需求,但是技术跟不上,他们的几个创始人之前是投行的,只是数据库用户,不是开发数据库的,我看了一下,他们只是时序数据库的一个产品而已,何kdb有本质区别,国内这种时序数据库很多,也只是存储,好坏的区别在于速度和资源占用情况,kdb有点革命性,他们专门对于cpu的时钟周期作了优化,这个非常难,靠近芯片编程领域了,写kdb的人可能对芯片编成有了结,就是既懂硬件又懂软件了,ic和it本身就是两个行业,这是跨行业了,多数搞ic的,不搞it,搞it的不搞ic,两个行业都懂就难了,就像医疗器械,既要懂机械电器,还要懂医疗,这样的领导者非常难.我是看他们的主页产品介绍里边提到了cpu优化的.具体为啥需要优化不太懂,为啥磁盘数据库有触发起,内存数据库没有触发起,这个不懂,而且磁盘数据库触发起很容易出问题,好像多数应用程序不用它.我感觉国内现在就像芯片,还没有人人有能力做出kdb一样优秀的产品.就像波音一样,我之前看到文章,波音研究初期,有几个人负责润滑油的,后来试验出了故障,他们最终发现是润滑油的问题,然后这几个人就研究试验,最终成功了,这几个人就是一个很小的公司,但是在润滑油领域那是权威性的,国内搞大飞机,如果没有像这样的人和公司支持,成功太难了,就是在一个细分领域做到世界NO1,波音后边有大量的这种小公司.就是靠吃军方订单的.民用需要也可以用,相当于军用和民用的连接点,国内现在军用和民用完全分割的,之前有提到把军用订单给民企生产,这个需要时间.短期内很难.

【 在 caidao 的大作中提到: 】

: 学习了,非常感谢。

: 如果时触发机制的话,clickhouse也没有这个功能。

: 平时大家接触到这种触发的,基本上就是 spark stream了。但是也是隔一段时间,集中处理。

: ...................

brightc7
kbds 09月07日

Kdb个人用好像有个免费版,不过学习曲线比较高,速度是很快

来自 Redmi K30 5G

【 在 textilerolle 的大作中提到: 】

: 上次我问的问题说有没有专用于金融行业的数据库,kdb就是最佳答案,那时还有人说这是客户端的事情不关数据库的事,事实证明金融的确需要专用的,这个数据库多数投行都在于,国内的期货看盘软件太差了,根本无法支持整年的tick图,别说tick了,整年的分时图都提供不了,分时数据好像最多也就一个月左右的,这还搞个鸟啊,钱都赔光了,韭菜们赔钱的罪魁祸首就是这些不负责任的免费软件,给了韭菜们极大的误导,误以为通过这些软件的指标可以赚钱.一个软件提供的指标越多,越坑人.,真正的,只有一个图就ok了,剩下的就是周期越短越好,这些免费软件,给你提供了很多指标图,但是就是提供的数据量非常少,如果我要 看一个月之前的分时图,byebye,没有,不提供,tick图更不用说了,只有当天的.

textilerolle
michael 09月07日

他是向量编程,和数据库还有点区别,和平时的思维习惯有点不一样

【 在 brightc7 的大作中提到: 】

: Kdb个人用好像有个免费版,不过学习曲线比较高,速度是很快

: 来自 Redmi K30 5G

liprais
liprais 09月07日

"他们专门对于cpu的时钟周期作了优化,这个非常难,靠近芯片编程领域了,写kdb的人可能对芯片编成有了结,就是既懂硬件又懂软件了,ic和it本身就是两个行业,这是跨行业了,多数搞ic的,不搞it,搞it的不搞ic,两个行业都懂就难了"

看起来就像江湖骗子

【 在 textilerolle 的大作中提到: 】

: 你说的国产的,我看了一下文档,我感觉他们抓住了市场需求,但是技术跟不上,他们的几个创始人之前是投行的,只是数据库用户,不是开发数据库的,我看了一下,他们只是时序数据库的一个产品而已,何kdb有本质区别,国内这种时序数据库很多,也只是存储,好坏的区别在于速度和资源占用情况,kdb有点革命性,他们专门对于cpu的时钟周期作了优化,这个非常难,靠近芯片编程领域了,写kdb的人可能对芯片编成有了结,就是既懂硬件又懂软件了,ic和it本身就是两个行业,这是跨行业了,多数搞ic的,不搞it,搞it的不搞ic,两个行业都懂就难了,就像医疗器械,既要懂机械电器,还要懂医疗,这样的领导者非常难.我是看他们的主页产品介绍里边提到了cpu优化的.具体为啥需要优化不太懂,为啥磁盘数据库有触发起,内存数据库没有触发起,这个不懂,而且磁盘数据库触发起很容易出问题,好像多数应用程序不用它.我感觉国内现在就像芯片,还没有人人有能力做出kdb一样优秀的产品.就像波音一样,我之前看到文章,波音研究初期,有几个人负责润滑油的,后来试验出了故障,他们最终发现是润滑油的问题,然后这几个人就研究试验,最终成功了,这几个人就是一个很小的公司,但是在润滑油领域那是权威性的,国内搞大飞机,如果没有像这样的人和公司支持,成功太难了,就是在一个细分领域做到世界NO1,波音后边有大量的这种小公司.就是靠吃军方订单的.民用需要也可以用,相当于军用和民用的连接点,国内现在军用和民用完全分割的,之前有提到把军用订单给民企生产,这个需要时间.短期内很难.

GoldenBull
祝病魔早日战胜方老师 09月07日

这倒不至于,kdb在金融圈还是很有名的,当年分布式、大数据技术还没有繁荣起来

的时候,kdb的确是一骑绝尘,把所有竞争对手甩的十八条大街以外了,即使放到今

天,依然是超级赞,同样的查询逻辑,单核上跑,和pandas+pickle比,速度快10倍,

内存占用不到1/10,性能方面的确是做到了极度的优化,非常惊艳

但是主要问题有两个:

1、贵。多核、分布式版本不是免费的,超级贵(当然对金融大鳄来说不是问题)

2、q语言的可读性实在是太差了,几乎是一个write-only的语言,这样很正常,毕竟

为了达到极限性能,就得在很多方面,包括语法方面做各种特定的设计。q的学习

曲线太陡峭,团队协作、和其他语言的交互方面相对而言弱一些

对于人不多、数据量不太大、业务逻辑不太复杂的情况,可以用kdb,但是如果团队人

比较多,而且有大数据方面的相关IT经验,还是老老实实用hadoop、spark、dask、

pandas之类的成熟的工程框架吧,别给自己找麻烦了

【 在 liprais (liprais) 的大作中提到: 】

: "他们专门对于cpu的时钟周期作了优化,这个非常难,靠近芯片编程领域了,写kdb的人可能对芯片编成有了结,就是既懂硬件又懂软件了,ic和it本身就是两个行业,这是跨行业了,多数搞ic的,不搞it,搞it的不搞ic,两个行业都懂就难了"

: 看起来就像江湖骗子

textilerolle
michael 09月07日

管你怎么说,我用数据库赚了不少钱,这是我推崇kdb的原因,而不是你所说的骗子.有些人恶心,就是因为嫉妒别人比他强.

【 在 liprais 的大作中提到: 】

: "他们专门对于cpu的时钟周期作了优化,这个非常难,靠近芯片编程领域了,写kdb的人可能对芯片编成有了结,就是既懂硬件又懂软件了,ic和it本身就是两个行业,这是跨行业了,多数搞ic的,不搞it,搞it的不搞ic,两个行业都懂就难了"

: 看起来就像江湖骗子

textilerolle
michael 09月07日

你炒过期货没,你要是超过期货,才知道kdb的强大,我之前提出过现有的数据库和语言满足不了期货的tick数据统计及展示要求,很简单的就是一分钟的分时图提供不了整年的,更别说tick图了,我要的是一整年的tick图,300-500万个点的折线,我大致算了一下,如果用plot绘图,折线图片大小要30-50m?具体不清楚,有人可以算一下不?这个数据量以及一秒2次实时展示,还要连续不断的递归,还要至少4-8屏不同周期的tick图,都要一秒2次同步输出展示,这个绝对不是其他行业能比拟的.就算通信行业一秒几十万个数据,但是它只要存储,然后统计再存储,并不需要图片实时展示,所以这是kdb区别其他时序数据库的根本.

【 在 GoldenBull 的大作中提到: 】

: 这倒不至于,kdb在金融圈还是很有名的,当年分布式、大数据技术还没有繁荣起来

: 的时候,kdb的确是一骑绝尘,把所有竞争对手甩的十八条大街以外了,即使放到今

: 天,依然是超级赞,同样的查询逻辑,单核上跑,和pandas+pickle比,速度快10倍,

: ...................

caidao
caidao 09月08日

学习了。

很多自动驾驶的传感器的时序数据库是到oracle的timesten内存数据库里面,好像感觉实时分析出结果速度还可以。

另外,开源的列式数据库clickhouse 跟Flink流式处理,实时分析速度应该不会差太远吧,我想。

请指点一下,谢谢。

【 在 textilerolle (michael) 的大作中提到: 】

: 你炒过期货没,你要是超过期货,才知道kdb的强大,我之前提出过现有的数据库和语言满足不了期货的tick数据统计及展示要求,很简单的就是一分钟的分时图提供不了整年的,更别说tick图了,我要的是一整年的tick图,300-500万个点的折线,我大致算了一下,如果用plot绘图,折线图片大

textilerolle
michael 09月08日

这个没接触过,国产的时序数据库号称数据处理速度还要超过kdb,肯定地是占用资源大,其实对于商业应用,资源占用比速度更重要,对于我们学习,其实我感觉每个数据库速度都不是重要的,主要的学习方便以及有大坑没,这个要接触过才能有评论.国产的那个我看了他们的手册,反正学习起来不是很方便.

【 在 caidao 的大作中提到: 】

: 学习了。

: 很多自动驾驶的传感器的时序数据库是到oracle的timesten内存数据库里面,好像感觉实时分析出结果速度还可以。

: 另外,开源的列式数据库clickhouse 跟Flink流式处理,实时分析速度应该不会差太远吧,我想。

: ...................

lambdaSeven
lambdaSeven 09月09日

占用资源,算事么?

littleSram
littleSram 09月14日