kdb+ 是怎么学下去的

        毕业后,我在一家私募公司做数据工程师,一来就用kdb做各种数据的处理和管理。回想起那段学习kdb的日子,对于一个刚毕业的大学生来说简直是充满了挑战。公司里没有专门人培训,只有靠去不断地请教一两个前辈,和频繁地去刷kdb的官网来学习。不知不觉已经两年过去,已经熟练地用kdb做各种开发了,居然却已经沉迷其中,被kdb的魅力所折服。现在回想起曾经的痛苦,竟发现很是值得。


      我觉得kdb给我一种很爽的感觉,我感觉写代码能够像数学家推导数学公式一样美妙。代码的简洁和优雅给我留下很深的印象。虽然我在大学也学过java,在工作的时候也用过python和c++,然而我却发现kdb却是我最喜欢的,而且让我却很难再欣赏别的语言了


kdb之所以难主要是下面几点:

    1.参考的资料太少,论坛,社区,书籍都很少,没有任何中文材料,我之前逛的只有官网,书本只有三本,几乎没有人会,更别说精通。

    2.思维与传统的相差太大,一般的编程模式很难转变和欣赏。

    3.代码需要记忆的符号,函数很多,可读性不好,“天书”因此而得来。


官网首页对于kdb的介绍:

    1.a high-performance historical time-series columnar database

    2.an in-memory compute engine

    3.a real-time streaming processor

    4.an expressive query and programming language called q

kdb的好处主要表现在下面几点:

    1.官网宣称的高性能(速度)。

    2.数据库和q语言无缝结合,不需要像python+mysql这样编程语言调用数据库接口。

    3.矢量化和函数化的书写方法,写起来简洁,惜墨如金,而且十分优雅。


kdb的适用范围:

我们公司主要拿它做行情数据库的管理。实际上kdb作为为量化而生的语言,在数据分析,数据处理,开发交易策略,开发回测和交易平台上都有很强的威力。甚至你都可以用它来开发网站后台。。。当然只要你对它足够了解。你会发现普通语言能做的它都能做,但是是用另外一种方式在做。


后续我会更新一下一些kdb+的基础知识,一方面是对知识的总结,一方面也是为了作为极少数的中文材料来让越来越多的国内的喜欢的朋友受益。


附上kdb官网的地址:

kdb旧的官网学习地址   这个是我当年学习的地址 https://code.kx.com/wiki/Reference 

kdb新的官网学习的地址    新的地址好看了很多


附上kdb的难得的学习的3本书籍:

1.《Q for Mortals 3》 入门级

2.《Q Tips》提升级

3.《Q for Gods》实战级


最后贴几个简单的小例子:

你可能感兴趣的:(kdb+ 是怎么学下去的)